/** * Persist a sprint evaluation to `.bober/eval-results/` so failures are * inspectable after the fact. * * The standalone TS pipeline previously kept evaluation results only in memory: * a sprint could fail with "4/5 evaluators passed. Score: 100/100" and there was * no on-disk record of WHICH evaluator (or panel lens) returned `passed: false`. * This writes one file per evaluation round capturing the per-evaluator and * per-lens verdicts. * * The file shape is a superset of what `loadEvalResults` (memory/eval-source.ts) * leniently reads — it carries `contractId`, `iteration`, `passed`, and * `overallResult` for distillation, plus a `results[]` array with the per-lens * detail for human debugging. */ import type { EvaluationRunResult } from "../evaluators/registry.js"; /** * Write an evaluation round to `.bober/eval-results/eval--.json`. * * Best-effort: any failure is logged at debug level and swallowed so persistence * never blocks or fails the pipeline. Returns the written path, or `undefined` * if the write failed. */ export declare function persistEvalResult(projectRoot: string, contractId: string, iteration: number, evaluation: EvaluationRunResult): Promise; //# sourceMappingURL=eval-persist.d.ts.map