import type { ArtifactRef } from '../types/index.js'; import type { ReviewDimension } from './review-types.js'; import type { ReviewFixLoopInput, ReviewFixLoopOutput, ReviewIssue, FixTask, RevalidationResult, GateReevaluationResult, IssueSeverity, IssueStatus, FixTaskStatus } from './review-fix-loop-types.js'; export declare class ReviewFixLoop { private readonly now; private readonly maxAttempts; private readonly revalidateAdapter?; constructor(options?: { now?: () => string; maxAttempts?: number; revalidateAdapter?: (artifacts: string[]) => Promise; }); execute(input: ReviewFixLoopInput): Promise; extractIssues(reviewBundle: ReviewFixLoopInput['reviewBundle'], timestamp: string, maxAttempts: number): ReviewIssue[]; private mapToSeverity; private getInitialStatus; generateFixTasks(issues: ReviewIssue[], pipeline: ReviewFixLoopInput['pipeline'], reviewReportRef: ArtifactRef, timestamp: string): FixTask[]; sortByPriority(tasks: FixTask[]): FixTask[]; triggerRevalidation(task: FixTask, issues: ReviewIssue[]): Promise; updateIssueStatus(issues: ReviewIssue[], issueId: string, newStatus: IssueStatus): ReviewIssue[]; updateFixTaskStatus(tasks: FixTask[], taskId: string, newStatus: FixTaskStatus): FixTask[]; evaluateGate(issues: ReviewIssue[], timestamp: string): GateReevaluationResult; handleRevalidationResult(result: RevalidationResult, issues: ReviewIssue[]): ReviewIssue[]; canRetry(issue: ReviewIssue): boolean; incrementAttempt(issues: ReviewIssue[], issueId: string): ReviewIssue[]; shouldEscalate(issues: ReviewIssue[]): boolean; /** * Get the full review-fix status for a pipeline instance (AC-4.24h). * * Returns the complete chain: review report → issues → fix tasks → revalidation results, * plus the current gate evaluation. This is the API surface for exposing * the full review-fix loop state. */ getReviewFixStatus(output: ReviewFixLoopOutput): ReviewFixStatus; } /** Summary of review-fix loop status for API exposure (AC-4.24h). */ export interface ReviewFixStatus { issues: Array<{ issueId: string; severity: IssueSeverity; status: IssueStatus; dimension?: ReviewDimension; attemptCount: number; maxAttempts: number; }>; fixTasks: Array<{ taskId: string; issueId: string; status: FixTaskStatus; priority: number; }>; revalidations: Array<{ issueId: string; fixTaskId: string; outcome: string; revalidatedAt: string; }>; gateEvaluation: GateReevaluationResult; evaluatedAt: string; } export declare function createReviewFixLoop(options?: ReviewFixLoopOptions): ReviewFixLoop; export interface ReviewFixLoopOptions { now?: () => string; maxAttempts?: number; revalidateAdapter?: (artifacts: string[]) => Promise; } //# sourceMappingURL=review-fix-loop.d.ts.map