/** * The journal that makes runs resumable (algorithm.md, "Every run is * resumable"): one JSON file per feature under the journal directory, * holding exactly a RunCheckpoint — completed slice names plus the * in-flight slice's recorded phase results. Values are round-tripped * structurally (slicePhaseTracker casts them back to their phase's type), * so everything recorded must be plain JSON — which every phase result is * (OpenApiChange, ScenarioSlice[], null). * * Writes are atomic (tmp + rename): a crash mid-write leaves the previous * checkpoint, never a torn file. Intra-phase progress is deliberately not * journaled — checklists are rebuilt by inspecting the working tree. */ import type { RunJournal } from "./run-journal.js"; export declare function fileRunJournal(journalDir: string): RunJournal;