@cleocode/core 2026.8.7 → 2026.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/docs/export-document.js +1 -1
  2. package/dist/docs/export-document.js.map +1 -1
  3. package/dist/internal.d.ts +1 -1
  4. package/dist/internal.d.ts.map +1 -1
  5. package/dist/internal.js.map +1 -1
  6. package/dist/llm/plugin-facade.js +1 -1
  7. package/dist/llm/plugin-facade.js.map +1 -1
  8. package/dist/memory/brain-search.d.ts +5 -2
  9. package/dist/memory/brain-search.d.ts.map +1 -1
  10. package/dist/memory/brain-search.js +42 -10
  11. package/dist/memory/brain-search.js.map +1 -1
  12. package/dist/release/pr-evidence.d.ts +152 -5
  13. package/dist/release/pr-evidence.d.ts.map +1 -1
  14. package/dist/release/pr-evidence.js +271 -19
  15. package/dist/release/pr-evidence.js.map +1 -1
  16. package/dist/selfimprove/fix-gen.js +1 -1
  17. package/dist/selfimprove/fix-gen.js.map +1 -1
  18. package/dist/sessions/session-enforcement.d.ts +34 -1
  19. package/dist/sessions/session-enforcement.d.ts.map +1 -1
  20. package/dist/sessions/session-enforcement.js +51 -2
  21. package/dist/sessions/session-enforcement.js.map +1 -1
  22. package/dist/tasks/complete.d.ts +24 -0
  23. package/dist/tasks/complete.d.ts.map +1 -1
  24. package/dist/tasks/complete.js +46 -8
  25. package/dist/tasks/complete.js.map +1 -1
  26. package/dist/tasks/evidence.d.ts +30 -2
  27. package/dist/tasks/evidence.d.ts.map +1 -1
  28. package/dist/tasks/evidence.js +167 -30
  29. package/dist/tasks/evidence.js.map +1 -1
  30. package/dist/tasks/revalidation-cache.d.ts +99 -0
  31. package/dist/tasks/revalidation-cache.d.ts.map +1 -0
  32. package/dist/tasks/revalidation-cache.js +115 -0
  33. package/dist/tasks/revalidation-cache.js.map +1 -0
  34. package/dist/tasks/tool-cache.d.ts +39 -2
  35. package/dist/tasks/tool-cache.d.ts.map +1 -1
  36. package/dist/tasks/tool-cache.js +58 -1
  37. package/dist/tasks/tool-cache.js.map +1 -1
  38. package/dist/validation/engine-ops.d.ts +1 -0
  39. package/dist/validation/engine-ops.d.ts.map +1 -1
  40. package/dist/validation/engine-ops.js +20 -2
  41. package/dist/validation/engine-ops.js.map +1 -1
  42. package/package.json +13 -13
  43. package/templates/CLEO-INJECTION.md +1 -1
@@ -27,6 +27,7 @@ import { dirname, isAbsolute, join, resolve as resolvePath } from 'node:path';
27
27
  import { EvidenceParseError, ExitCode, GATE_EVIDENCE_REQUIREMENTS, parseEvidenceString, validateEvidenceForGate, } from '@cleocode/contracts';
28
28
  import { CleoError } from '../errors.js';
29
29
  import { getEffectiveHead } from '../worktree/effective-head.js';
30
+ import { computeCommitRevalidationKey, readCommitRevalidationEntry, writeCommitRevalidationEntry, } from './revalidation-cache.js';
30
31
  import { runToolCached } from './tool-cache.js';
31
32
  import { CANONICAL_TOOLS, listValidToolNames, resolveToolCommand, } from './tool-resolver.js';
32
33
  /**
@@ -138,20 +139,28 @@ export function parseEvidence(raw) {
138
139
  * check (T9178), content-intersect check (T9245), worktree-aware HEAD
139
140
  * resolution (T-WT-3), and git-show file fallback for branch-only files
140
141
  * (T11959).
142
+ * @param siblingCommitSha - Optional sha of a sibling `commit:` atom from the
143
+ * same evidence string. When provided, `files:` paths are resolved against
144
+ * that commit's tree FIRST (T12107 / gh#1195) before falling back to the
145
+ * worktree and git refs — covers a merged commit whose files are not yet
146
+ * present in the local checkout.
141
147
  * @returns Validation outcome with canonicalised form on success
142
148
  *
143
149
  * @task T832
144
150
  * @task T11959
151
+ * @task T12107
145
152
  * @adr ADR-051 §3
146
153
  */
147
154
  export async function validateAtom(parsed, projectRoot,
148
155
  /** T9178: When provided, validates commit is on task/<taskId> branch. */
149
- taskId) {
156
+ taskId,
157
+ /** T12107: sha of a sibling `commit:` atom in the same evidence string. */
158
+ siblingCommitSha) {
150
159
  switch (parsed.kind) {
151
160
  case 'commit':
152
161
  return validateCommit(parsed.sha, projectRoot, taskId);
153
162
  case 'files':
154
- return validateFiles(parsed.paths, projectRoot, taskId);
163
+ return validateFiles(parsed.paths, projectRoot, taskId, siblingCommitSha);
155
164
  case 'test-run':
156
165
  return validateTestRun(parsed.path, projectRoot);
157
166
  case 'tool':
@@ -825,32 +834,70 @@ async function gitShowFileContent(relPath, taskId, projectRoot) {
825
834
  }
826
835
  return null;
827
836
  }
837
+ /**
838
+ * Read file content from a specific commit tree.
839
+ *
840
+ * Used as the FIRST resolution step for `files:` evidence when the same
841
+ * evidence string carries a `commit:` atom (T12107 / gh#1195): the evidence
842
+ * claims the file exists at that commit, so the commit tree is the anchor —
843
+ * the file may not exist in the local checkout at all (e.g. the commit was
844
+ * merged remotely and local main has not been fast-forwarded).
845
+ *
846
+ * Uses `git cat-file blob <sha>:<path>` (not `git show`) so a path that
847
+ * resolves to a TREE (directory) fails with a non-zero exit instead of
848
+ * pretty-printing a tree listing that would hash as fake file content.
849
+ *
850
+ * @param relPath - Repo-relative file path.
851
+ * @param sha - Commit sha (short or full) whose tree is inspected.
852
+ * @param projectRoot - Working directory for git operations.
853
+ * @returns Buffer of the file content, or `null` when the path is not a blob
854
+ * in that commit's tree (or git fails).
855
+ *
856
+ * @internal
857
+ * @task T12107
858
+ */
859
+ async function gitShowFileContentAtCommit(relPath, sha, projectRoot) {
860
+ // Normalise the path: strip leading "./" so git pathspec works correctly.
861
+ const norm = relPath.replace(/^\.\//, '');
862
+ const r = await runCommand('git', ['cat-file', 'blob', `${sha}:${norm}`], projectRoot);
863
+ if (r.exitCode !== 0)
864
+ return null;
865
+ return Buffer.from(r.stdout, 'binary');
866
+ }
828
867
  /**
829
868
  * Validate a `files:` evidence atom.
830
869
  *
831
870
  * Resolution order for each path:
832
- * 1. Filesystem check — `existsSync(abs)` at `projectRoot`.
833
- * 2. Git-show fallback (T11959) — when `taskId` is provided and the file is
871
+ * 1. Commit-tree check (T12107 / gh#1195) — when `commitSha` is provided
872
+ * (a sibling `commit:` atom in the same evidence string), read the file
873
+ * from that commit's tree via `git cat-file blob <sha>:<path>`. The
874
+ * commit is the evidence anchor; the file may be absent from the local
875
+ * checkout (merged remotely, local main not fast-forwarded).
876
+ * 2. Filesystem check — `existsSync(abs)` at `projectRoot`.
877
+ * 3. Git-show fallback (T11959) — when `taskId` is provided and the file is
834
878
  * absent at `projectRoot`, try reading it from `task/<taskId>` (or main /
835
879
  * HEAD) via `git show <ref>:<path>`. This allows worktree agents to record
836
880
  * `files:` evidence for files that exist only on their branch and have not
837
881
  * yet been merged to main, without triggering `E_WT_DB_ISOLATION_VIOLATION`.
838
882
  *
839
- * When the file is read from git (fallback path) the sha256 is computed from
840
- * the git-object content rather than the on-disk content. The re-validation at
841
- * `cleo complete` time uses the same fallback path so the checksums remain
842
- * consistent across verify → complete.
883
+ * When the file is read from git (commit tree or fallback refs) the sha256 is
884
+ * computed from the git-object content rather than the on-disk content. The
885
+ * re-validation at `cleo complete` time uses the same resolution order so the
886
+ * checksums remain consistent across verify → complete.
843
887
  *
844
888
  * @param paths - Repo-relative or absolute file paths.
845
889
  * @param projectRoot - Absolute path to project root.
846
890
  * @param taskId - Optional CLEO task ID; enables the git-show fallback (T11959).
891
+ * @param commitSha - Optional sibling `commit:` atom sha; enables the
892
+ * commit-tree-first check (T12107).
847
893
  * @returns Validated atom on success, error on failure.
848
894
  *
849
895
  * @internal
850
896
  * @task T832
851
897
  * @task T11959
898
+ * @task T12107
852
899
  */
853
- async function validateFiles(paths, projectRoot, taskId) {
900
+ async function validateFiles(paths, projectRoot, taskId, commitSha) {
854
901
  if (paths.length === 0) {
855
902
  return {
856
903
  ok: false,
@@ -861,8 +908,14 @@ async function validateFiles(paths, projectRoot, taskId) {
861
908
  const files = [];
862
909
  for (const p of paths) {
863
910
  const abs = isAbsolute(p) ? p : resolvePath(projectRoot, p);
864
- let content;
865
- if (existsSync(abs)) {
911
+ let content = null;
912
+ // T12107 (gh#1195): the sibling commit is the evidence anchor — check its
913
+ // tree FIRST. A file merged remotely but not yet present locally validates
914
+ // here without waiting for a fast-forward.
915
+ if (commitSha) {
916
+ content = await gitShowFileContentAtCommit(p, commitSha, projectRoot);
917
+ }
918
+ if (content === null && existsSync(abs)) {
866
919
  // Happy path — file exists on disk.
867
920
  const st = await stat(abs);
868
921
  if (!st.isFile()) {
@@ -874,24 +927,23 @@ async function validateFiles(paths, projectRoot, taskId) {
874
927
  }
875
928
  content = await readFile(abs);
876
929
  }
877
- else if (taskId) {
930
+ if (content === null && taskId) {
878
931
  // T11959: Git-show fallback for branch-only files (worktree context).
879
932
  // The file exists on the task branch but not yet at the canonical root.
880
- const fromGit = await gitShowFileContent(p, taskId, projectRoot);
881
- if (!fromGit) {
882
- return {
883
- ok: false,
884
- reason: `File does not exist: ${p}` +
885
- ` (checked filesystem at ${projectRoot} and git refs task/${taskId}, main, HEAD)`,
886
- codeName: 'E_EVIDENCE_INVALID',
887
- };
888
- }
889
- content = fromGit;
933
+ content = await gitShowFileContent(p, taskId, projectRoot);
890
934
  }
891
- else {
935
+ if (content === null) {
936
+ // Honest failure: enumerate every location that was checked so the
937
+ // caller can tell a worktree-miss from a commit-tree-miss.
938
+ const looked = [];
939
+ if (commitSha)
940
+ looked.push(`commit ${commitSha} tree`);
941
+ looked.push(`filesystem at ${projectRoot}`);
942
+ if (taskId)
943
+ looked.push(`git refs task/${taskId}, main, HEAD`);
892
944
  return {
893
945
  ok: false,
894
- reason: `File does not exist: ${p}`,
946
+ reason: `File does not exist: ${p} (checked ${looked.join(', ')})`,
895
947
  codeName: 'E_EVIDENCE_INVALID',
896
948
  };
897
949
  }
@@ -1558,14 +1610,17 @@ export function isHardAtom(atom) {
1558
1610
  * that were on the task branch at verify time but are now on main after
1559
1611
  * merge (T11959). When provided, sha256 comparison uses the same git-show
1560
1612
  * resolution path as validate time so the checksums remain consistent.
1613
+ * @param options - Optional {@link RevalidateOptions} progress sink (T12102).
1561
1614
  * @returns Revalidation outcome
1562
1615
  *
1563
1616
  * @task T832
1564
1617
  * @task T9245
1565
1618
  * @task T11959
1619
+ * @task T12102
1620
+ * @task T12107
1566
1621
  * @adr ADR-051 §5 / §8 (Decision 8)
1567
1622
  */
1568
- export async function revalidateEvidence(evidence, projectRoot, gate, taskId) {
1623
+ export async function revalidateEvidence(evidence, projectRoot, gate, taskId, options) {
1569
1624
  // T9245: critical-gate override rejection.
1570
1625
  // When the gate is `implemented` or `testsPassed`, evidence that has no
1571
1626
  // non-override hard atom is rejected outright. We define "override-only"
@@ -1600,19 +1655,38 @@ export async function revalidateEvidence(evidence, projectRoot, gate, taskId) {
1600
1655
  case 'override':
1601
1656
  break;
1602
1657
  case 'commit': {
1603
- const check = await validateCommit(atom.sha, projectRoot);
1604
- if (!check.ok)
1605
- failed.push({ atom, reason: check.reason });
1658
+ // T12102 (gh#1196): routed through the revalidation cache — keyed on
1659
+ // (commitSha, headSha), both immutable git facts, so a hit is exactly
1660
+ // as sound as re-running the git spawns. See revalidation-cache.ts.
1661
+ const startedAt = Date.now();
1662
+ const cached = await revalidateCommitAtom(atom.sha, projectRoot);
1663
+ if (!cached.check.ok)
1664
+ failed.push({ atom, reason: cached.check.reason });
1665
+ options?.onProgress?.(`commit:${atom.sha.slice(0, 7)} ${cached.check.ok ? 'ok' : 'FAILED'}` +
1666
+ `${cached.fromCache ? ' (cached)' : ''} ${Date.now() - startedAt}ms`);
1606
1667
  break;
1607
1668
  }
1608
1669
  case 'files': {
1670
+ // Deliberately NOT cached (T12102): the read-and-compare-sha256 below
1671
+ // IS the staleness guarantee; a cheaper key would weaken it.
1672
+ const startedAt = Date.now();
1673
+ // T12107 (gh#1195): mirror validateFiles' resolution order so the
1674
+ // sha256 captured at verify time compares against the same bytes —
1675
+ // when a sibling `commit:` atom anchors the evidence, its tree is
1676
+ // checked FIRST (the file may still be absent from the local checkout
1677
+ // at complete time when local main was never fast-forwarded).
1678
+ const siblingCommit = evidence.atoms.find((a) => a.kind === 'commit');
1679
+ const siblingCommitSha = siblingCommit?.sha;
1609
1680
  for (const f of atom.files) {
1610
1681
  const abs = isAbsolute(f.path) ? f.path : resolvePath(projectRoot, f.path);
1611
1682
  let content = null;
1612
- if (existsSync(abs)) {
1683
+ if (siblingCommitSha) {
1684
+ content = await gitShowFileContentAtCommit(f.path, siblingCommitSha, projectRoot);
1685
+ }
1686
+ if (!content && existsSync(abs)) {
1613
1687
  content = await readFile(abs);
1614
1688
  }
1615
- else if (taskId) {
1689
+ if (!content && taskId) {
1616
1690
  // T11959: git-show fallback — file may have been on task branch at
1617
1691
  // verify time and is now on main after merge, or it may still only
1618
1692
  // exist on the branch. Use the same resolution path as validateFiles.
@@ -1631,12 +1705,18 @@ export async function revalidateEvidence(evidence, projectRoot, gate, taskId) {
1631
1705
  break;
1632
1706
  }
1633
1707
  }
1708
+ options?.onProgress?.(`files:${atom.files.length} path(s) ` +
1709
+ `${failed.some((x) => x.atom === atom) ? 'FAILED' : 'ok'} ${Date.now() - startedAt}ms`);
1634
1710
  break;
1635
1711
  }
1636
1712
  case 'test-run': {
1713
+ // Deliberately NOT cached (T12102): same reasoning as files: — the
1714
+ // content hash comparison IS the staleness guarantee.
1715
+ const startedAt = Date.now();
1637
1716
  const abs = isAbsolute(atom.path) ? atom.path : resolvePath(projectRoot, atom.path);
1638
1717
  if (!existsSync(abs)) {
1639
1718
  failed.push({ atom, reason: `test-run file removed since verify: ${atom.path}` });
1719
+ options?.onProgress?.(`test-run:${atom.path} FAILED ${Date.now() - startedAt}ms`);
1640
1720
  break;
1641
1721
  }
1642
1722
  const content = await readFile(abs);
@@ -1644,6 +1724,7 @@ export async function revalidateEvidence(evidence, projectRoot, gate, taskId) {
1644
1724
  if (sha256 !== atom.sha256) {
1645
1725
  failed.push({ atom, reason: `test-run output modified since verify: ${atom.path}` });
1646
1726
  }
1727
+ options?.onProgress?.(`test-run:${atom.path} ${sha256 === atom.sha256 ? 'ok' : 'FAILED'} ${Date.now() - startedAt}ms`);
1647
1728
  break;
1648
1729
  }
1649
1730
  case 'tool': {
@@ -1687,6 +1768,62 @@ export async function revalidateEvidence(evidence, projectRoot, gate, taskId) {
1687
1768
  }
1688
1769
  return { stillValid: failed.length === 0, failedAtoms: failed };
1689
1770
  }
1771
+ /**
1772
+ * Re-validate a `commit:` atom at complete time, consulting the T12102
1773
+ * revalidation cache first.
1774
+ *
1775
+ * The cache key is `(commitSha, headSha)` — every check
1776
+ * {@link validateCommit} performs on this path (no `taskId`, so
1777
+ * `getEffectiveHead` resolves to `HEAD`) is an immutable fact of the git
1778
+ * DAG once both SHAs are fixed, so a cache hit is exactly as sound as
1779
+ * re-running the git spawns. Only successful validations are cached: a
1780
+ * "commit not found" failure is NOT immutable (a later `git fetch` can
1781
+ * make the object appear), so failures always re-run.
1782
+ *
1783
+ * When `HEAD` cannot be resolved (not a git checkout, bare failure), the
1784
+ * cache is bypassed entirely and behaviour matches the pre-T12102 path.
1785
+ *
1786
+ * @param sha - Commit SHA recorded at verify time.
1787
+ * @param projectRoot - Absolute path used as cwd for git operations.
1788
+ * @returns The {@link AtomValidation} plus whether it came from cache.
1789
+ *
1790
+ * @internal
1791
+ * @task T12102 (gh#1196)
1792
+ */
1793
+ async function revalidateCommitAtom(sha, projectRoot) {
1794
+ const headResult = await runCommand('git', ['rev-parse', 'HEAD'], projectRoot);
1795
+ const head = headResult.exitCode === 0 ? headResult.stdout.trim() : null;
1796
+ if (!head) {
1797
+ return { check: await validateCommit(sha, projectRoot), fromCache: false };
1798
+ }
1799
+ const key = computeCommitRevalidationKey(sha, head);
1800
+ const hit = readCommitRevalidationEntry(projectRoot, key);
1801
+ if (hit) {
1802
+ return {
1803
+ check: { ok: true, atom: { kind: 'commit', sha: hit.sha, shortSha: hit.shortSha } },
1804
+ fromCache: true,
1805
+ };
1806
+ }
1807
+ const check = await validateCommit(sha, projectRoot);
1808
+ if (check.ok && check.atom.kind === 'commit') {
1809
+ try {
1810
+ writeCommitRevalidationEntry(projectRoot, {
1811
+ schemaVersion: 1,
1812
+ kind: 'commit-revalidation',
1813
+ key,
1814
+ sha: check.atom.sha,
1815
+ shortSha: check.atom.shortSha,
1816
+ head,
1817
+ capturedAt: new Date().toISOString(),
1818
+ });
1819
+ }
1820
+ catch {
1821
+ // Cache writes are advisory — a read-only .cleo dir must not fail a
1822
+ // legitimate completion.
1823
+ }
1824
+ }
1825
+ return { check, fromCache: false };
1826
+ }
1690
1827
  function runCommand(cmd, args, cwd) {
1691
1828
  return new Promise((resolve) => {
1692
1829
  let stdout = '';
@@ -1 +1 @@
1
- {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/tasks/evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/tasks/evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Revalidation cache for the `cleo complete` evidence staleness check
3
+ * (T12102 / gh#1196).
4
+ *
5
+ * `cleo complete` re-validates every hard evidence atom recorded at
6
+ * `cleo verify` time (ADR-051 Decision 8 — `E_EVIDENCE_STALE` catches
7
+ * post-verify tampering). On large repos the per-atom git spawns make a
8
+ * loop of completes slow enough to blow agent tool timeouts.
9
+ *
10
+ * ## What is cached, and why it is safe
11
+ *
12
+ * Only `commit:` atom revalidation is cached, keyed on
13
+ * `(commitSha, headSha)`. Every check {@link validateCommit} performs on
14
+ * the complete-time path (no `taskId`) is an IMMUTABLE fact of the git
15
+ * object DAG once both SHAs are fixed:
16
+ *
17
+ * - `git cat-file -e <sha>^{commit}` — object existence is immutable
18
+ * (objects are never removed from a live repo by ordinary work).
19
+ * - `git merge-base --is-ancestor <sha> <headSha>` — reachability
20
+ * between two fixed commits can never change.
21
+ * - `git rev-parse [--short] <sha>` — canonicalisation is immutable.
22
+ *
23
+ * A new commit moves `HEAD`, which changes the key, so post-verify
24
+ * commits always force a fresh validation. Only successful validations
25
+ * are cached: a "commit not found" failure is NOT immutable (a later
26
+ * `git fetch` can make the object appear), so failures always re-run.
27
+ *
28
+ * ## What is deliberately NOT cached
29
+ *
30
+ * - `files:` / `test-run:` — the staleness guarantee IS the
31
+ * read-the-file-and-compare-sha256 step. Any cheaper key (mtime +
32
+ * size) is forgeable and would silently weaken `E_EVIDENCE_STALE`,
33
+ * which is the entire point of re-validation. These atoms stay
34
+ * uncached; their cost is one read + one hash per path.
35
+ * - `tool:` — never re-executed at complete time by design (see
36
+ * {@link revalidateEvidence}); verify-time results are already
37
+ * memoised by the ADR-061 cache in tool-cache.ts.
38
+ *
39
+ * Entries live beside the ADR-061 tool cache under
40
+ * `.cleo/cache/evidence/reval-commit-<key>.json` so `clearToolCache`
41
+ * wipes them too — the cache is purely advisory.
42
+ *
43
+ * @task T12102 (gh#1196)
44
+ * @adr ADR-051
45
+ * @adr ADR-061
46
+ */
47
+ /**
48
+ * One cached `commit:` atom revalidation. Success-only by design — see
49
+ * the module docstring for the immutability argument.
50
+ *
51
+ * @task T12102
52
+ */
53
+ export interface CommitRevalidationEntry {
54
+ /** Schema version for forwards compatibility. */
55
+ schemaVersion: 1;
56
+ /** Discriminator so a foreign JSON blob is never trusted. */
57
+ kind: 'commit-revalidation';
58
+ /** Cache key (also encoded in the filename). */
59
+ key: string;
60
+ /** Canonical full commit SHA that validated successfully. */
61
+ sha: string;
62
+ /** Abbreviated SHA captured at validation time. */
63
+ shortSha: string;
64
+ /** `HEAD` SHA the reachability check ran against. */
65
+ head: string;
66
+ /** ISO 8601 wall-clock timestamp of the validation. */
67
+ capturedAt: string;
68
+ }
69
+ /**
70
+ * Compute the cache key for a `(commitSha, headSha)` pair.
71
+ *
72
+ * Mirrors the ADR-061 key style: sha256 of the JSON payload, truncated
73
+ * to 32 hex chars — collision-resistant and bounded regardless of input.
74
+ *
75
+ * @task T12102
76
+ */
77
+ export declare function computeCommitRevalidationKey(commitSha: string, headSha: string): string;
78
+ /**
79
+ * Absolute path for a revalidation cache entry by key.
80
+ *
81
+ * @task T12102
82
+ */
83
+ export declare function commitRevalidationPath(projectRoot: string, key: string): string;
84
+ /**
85
+ * Read a cached commit-revalidation entry. Returns `null` when the entry
86
+ * is missing, unreadable, schema-incompatible, or keyed differently
87
+ * (defence against a poisoned cache directory).
88
+ *
89
+ * @task T12102
90
+ */
91
+ export declare function readCommitRevalidationEntry(projectRoot: string, key: string): CommitRevalidationEntry | null;
92
+ /**
93
+ * Atomically write a cache entry: tmp-then-rename so concurrent readers
94
+ * never observe a half-written file (same discipline as tool-cache.ts).
95
+ *
96
+ * @task T12102
97
+ */
98
+ export declare function writeCommitRevalidationEntry(projectRoot: string, entry: CommitRevalidationEntry): void;
99
+ //# sourceMappingURL=revalidation-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revalidation-cache.d.ts","sourceRoot":"","sources":["../../src/tasks/revalidation-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAMH;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,iDAAiD;IACjD,aAAa,EAAE,CAAC,CAAC;IACjB,6DAA6D;IAC7D,IAAI,EAAE,qBAAqB,CAAC;IAC5B,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOvF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACV,uBAAuB,GAAG,IAAI,CAYhC;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,uBAAuB,GAC7B,IAAI,CASN"}