/** * The git reads behind a receipt: which commit was tested, and what has changed since. * * Paths are compared relative to the repository's top level, and the instance's state * directory is expressed the same way, so a project nested inside a larger repository * still recognises its own state files. * * Requirements: tool-written-test-receipts/AC-6, AC-13, AC-14 */ export type ChangedResult = { ok: true; paths: string[]; } | { ok: false; reason: string; }; /** HEAD's full sha; null outside a repository or before the first commit (AC-9). */ export declare function headCommit(projectRoot: string): string | null; /** * Paths outside `.aidlc/state//` that differ. * * With `since` null: from the working tree's status — the dirty check before a run * (AC-6). With a commit: that commit against the working tree, so committed, staged * and unstaged changes all count, plus untracked files (AC-13, AC-14). A commit git * cannot resolve — a shallow CI clone — is a failure, which reads as stale. */ export declare function changedOutside(projectRoot: string, instance: string, since: string | null): ChangedResult; //# sourceMappingURL=git.d.ts.map