import type { BoberConfig } from "../config/schema.js"; import type { SprintContract } from "../contracts/sprint-contract.js"; import type { EvaluationRunResult } from "../evaluators/registry.js"; /** * A finding in the ReviewResult — one entry in critical, important, or minor arrays. */ export interface ReviewFinding { description: string; evidence: Array<{ path: string; line: number; snippet: string; }>; antiPattern?: string; source?: string; } /** * The structured result emitted by the bober-code-reviewer subagent. */ export interface ReviewResult { reviewId: string; contractId: string; specId: string; timestamp: string; summary: string; critical: ReviewFinding[]; important: ReviewFinding[]; minor: ReviewFinding[]; approvedAreas: string[]; } /** * Run the bober-code-reviewer subagent for advisory code review. * * Runs AFTER the evaluator returns passed=true. The review is advisory: * findings surface in the run history but do NOT block sprint completion, * do NOT trigger generator retry, and do NOT mutate contract status. * * @param contract The sprint contract that just passed. * @param evaluation The evaluation result (passed=true) from runEvaluatorAgent. * @param projectRoot Absolute path to the project root. * @param config The resolved bober configuration. * @returns A ReviewResult with structured findings. */ export declare function runCodeReviewer(contract: SprintContract, evaluation: EvaluationRunResult, projectRoot: string, config: BoberConfig): Promise; /** * Render a ReviewResult into the 6-section markdown format required by s5-c5. * Exported for direct unit testing of the renderer. */ export declare function renderReviewMarkdown(review: ReviewResult): string; //# sourceMappingURL=code-reviewer-agent.d.ts.map