import type { WorkOrder } from "./prompts.js"; import type { BackendWorkUnit, ChecklistItem, CoverageChecklist, DomainMoveCandidate, ScenarioSlice, TddLoopName } from "./types.js"; /** * Independent review — deliberately a separate role from the working * agents: a loop may only close when the reviewer, not the author, finds * nothing missing. Instructions arrive as order.prompt. */ export interface CoverageReviewer { /** * Missing cases for a checklist whose items are all covered (empty = complete). * `guidance`, when given, scopes the review to what THIS loop-phase can * actually close — e.g. the fake-authoring phase of the contract loop judges * fake coverage only, because real-backend parity is added by a later phase. */ findMissingCases(order: WorkOrder, loop: TddLoopName, slice: ScenarioSlice, checklist: CoverageChecklist, guidance?: string): Promise; /** Imperative domain-language logic still in the unit's interactor (empty = it only orchestrates). */ reviewDomainDistillation(order: WorkOrder, slice: ScenarioSlice, unit: BackendWorkUnit): Promise; }