/** * The vision snapshot: `.aidlc/context/vision-source.md`. * * What gets committed is the *extracted text*, never the `.docx` (design D8) — * a binary is not reviewable in a diff, and the source document often should not * be in the repository at all. `source_sha256` is the digest of the source bytes, * which is how `check` notices the document was touched even when the text is * unchanged. * * The file is rendered by hand rather than through a YAML serializer. A * round-trip through `Document.toString()` reflows to whatever `lineWidth` is in * force and rewrites lines it was only meant to preserve * (`knowledge-rebuild-readonly`, 2026-09-02); rendering deterministically avoids * the class. Reading uses the YAML parser, which does not have that problem. * * Requirements: project-constitution/AC-10, project-constitution/AC-11 * * @module */ import type { Snapshot } from './types.js'; /** Where the snapshot lives, relative to the project root. */ export declare const SNAPSHOT_RELATIVE: string; export declare function snapshotPath(projectRoot: string): string; /** * Render the snapshot deterministically. Same input, same bytes, always — which * is what lets `writeSnapshot` compare rather than guess (AC-11). */ export declare function renderSnapshot(snapshot: Snapshot): string; /** Read the snapshot, or null when it is absent or unparseable. */ export declare function readSnapshot(projectRoot: string): Snapshot | null; /** * Write the snapshot, but only when it would differ. * * Returns `'unchanged'` when the recorded source digest and the statement id set * both match, leaving the file — `extracted_at` included — byte-identical. A * re-import that finds nothing new must not produce a git diff (AC-11). */ export declare function writeSnapshot(projectRoot: string, next: Snapshot): 'written' | 'unchanged'; /** Build a snapshot from freshly extracted text. */ export declare function buildSnapshot(input: { relativePath: string; sha256: string; extractor: Snapshot['extractor']; text: string; now: Date; }): Snapshot; //# sourceMappingURL=snapshot.d.ts.map