@isaacriehm/cairn-core 0.7.0 → 0.7.2

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 (442) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/align-undo/undo.js +2 -2
  3. package/dist/align-undo/undo.js.map +1 -1
  4. package/dist/attention/bulk-accept.js +48 -40
  5. package/dist/attention/bulk-accept.js.map +1 -1
  6. package/dist/attention/dedup.js +23 -10
  7. package/dist/attention/dedup.js.map +1 -1
  8. package/dist/attention/restore.js +2 -2
  9. package/dist/attention/restore.js.map +1 -1
  10. package/dist/attention/scoring.js +1 -1
  11. package/dist/attention/scoring.js.map +1 -1
  12. package/dist/attention/serve/api.d.ts +1 -0
  13. package/dist/attention/serve/api.js +127 -80
  14. package/dist/attention/serve/api.js.map +1 -1
  15. package/dist/attention/serve/index.d.ts +1 -0
  16. package/dist/attention/serve/index.js +21 -7
  17. package/dist/attention/serve/index.js.map +1 -1
  18. package/dist/attention/source-strip.js +41 -46
  19. package/dist/attention/source-strip.js.map +1 -1
  20. package/dist/claude/cache.d.ts +10 -19
  21. package/dist/claude/cache.js +0 -0
  22. package/dist/claude/cache.js.map +1 -1
  23. package/dist/claude/runner.d.ts +4 -6
  24. package/dist/claude/runner.js +242 -203
  25. package/dist/claude/runner.js.map +1 -1
  26. package/dist/claude/types.d.ts +5 -5
  27. package/dist/context/handoff-builder.d.ts +28 -4
  28. package/dist/context/handoff-builder.js +75 -157
  29. package/dist/context/handoff-builder.js.map +1 -1
  30. package/dist/context/spec-delta.js +61 -9
  31. package/dist/context/spec-delta.js.map +1 -1
  32. package/dist/context/task-summary.js +5 -1
  33. package/dist/context/task-summary.js.map +1 -1
  34. package/dist/decision-capture/id.js +1 -1
  35. package/dist/decision-capture/id.js.map +1 -1
  36. package/dist/doctor/index.d.ts +9 -11
  37. package/dist/doctor/index.js +118 -175
  38. package/dist/doctor/index.js.map +1 -1
  39. package/dist/drain/drain.d.ts +1 -1
  40. package/dist/drain/drain.js +16 -16
  41. package/dist/drain/drain.js.map +1 -1
  42. package/dist/drain/index.d.ts +1 -1
  43. package/dist/drain/index.js +1 -1
  44. package/dist/events/reader.d.ts +9 -10
  45. package/dist/events/reader.js +46 -57
  46. package/dist/events/reader.js.map +1 -1
  47. package/dist/events/writer.js +1 -1
  48. package/dist/events/writer.js.map +1 -1
  49. package/dist/fix-align/index.d.ts +1 -1
  50. package/dist/fix-align/index.js +1 -1
  51. package/dist/fix-align/run.d.ts +1 -1
  52. package/dist/fix-align/run.js +4 -3
  53. package/dist/fix-align/run.js.map +1 -1
  54. package/dist/fix-align/sentinel.d.ts +1 -2
  55. package/dist/fix-align/sentinel.js +3 -4
  56. package/dist/fix-align/sentinel.js.map +1 -1
  57. package/dist/gc/apply.js +1 -1
  58. package/dist/gc/apply.js.map +1 -1
  59. package/dist/gc/attested-commits.d.ts +19 -0
  60. package/dist/gc/attested-commits.js +48 -0
  61. package/dist/gc/attested-commits.js.map +1 -0
  62. package/dist/gc/canary.d.ts +11 -21
  63. package/dist/gc/canary.js +18 -24
  64. package/dist/gc/canary.js.map +1 -1
  65. package/dist/gc/citation-integrity.d.ts +11 -14
  66. package/dist/gc/citation-integrity.js +124 -125
  67. package/dist/gc/citation-integrity.js.map +1 -1
  68. package/dist/gc/classify.d.ts +1 -1
  69. package/dist/gc/classify.js +2 -2
  70. package/dist/gc/classify.js.map +1 -1
  71. package/dist/gc/completion-integrity.d.ts +6 -7
  72. package/dist/gc/completion-integrity.js +45 -53
  73. package/dist/gc/completion-integrity.js.map +1 -1
  74. package/dist/gc/doc-gardening.js +1 -9
  75. package/dist/gc/doc-gardening.js.map +1 -1
  76. package/dist/gc/frontmatter.js +2 -2
  77. package/dist/gc/frontmatter.js.map +1 -1
  78. package/dist/gc/index.d.ts +7 -6
  79. package/dist/gc/index.js +3 -2
  80. package/dist/gc/index.js.map +1 -1
  81. package/dist/gc/quality-update.d.ts +6 -10
  82. package/dist/gc/quality-update.js +12 -15
  83. package/dist/gc/quality-update.js.map +1 -1
  84. package/dist/gc/scope-coverage.js +1 -1
  85. package/dist/gc/scope-coverage.js.map +1 -1
  86. package/dist/gc/stub-hits.d.ts +7 -25
  87. package/dist/gc/stub-hits.js +14 -40
  88. package/dist/gc/stub-hits.js.map +1 -1
  89. package/dist/gc/sweep.js +15 -6
  90. package/dist/gc/sweep.js.map +1 -1
  91. package/dist/gc/types.d.ts +5 -5
  92. package/dist/gc/types.js +2 -2
  93. package/dist/gc/walk-source.js +8 -28
  94. package/dist/gc/walk-source.js.map +1 -1
  95. package/dist/hooks/defer.d.ts +9 -20
  96. package/dist/hooks/defer.js +10 -27
  97. package/dist/hooks/defer.js.map +1 -1
  98. package/dist/hooks/post-tool-use/allowlist-reader.d.ts +2 -1
  99. package/dist/hooks/post-tool-use/allowlist-reader.js +49 -34
  100. package/dist/hooks/post-tool-use/allowlist-reader.js.map +1 -1
  101. package/dist/hooks/post-tool-use/index.d.ts +3 -4
  102. package/dist/hooks/post-tool-use/index.js +3 -3
  103. package/dist/hooks/post-tool-use/index.js.map +1 -1
  104. package/dist/hooks/post-tool-use/legend-builder.d.ts +2 -2
  105. package/dist/hooks/post-tool-use/legend-builder.js +2 -2
  106. package/dist/hooks/post-tool-use/legend-builder.js.map +1 -1
  107. package/dist/hooks/post-tool-use/post-write.d.ts +8 -0
  108. package/dist/hooks/post-tool-use/post-write.js +112 -0
  109. package/dist/hooks/post-tool-use/post-write.js.map +1 -0
  110. package/dist/hooks/post-tool-use/read-enricher.d.ts +10 -5
  111. package/dist/hooks/post-tool-use/read-enricher.js +114 -155
  112. package/dist/hooks/post-tool-use/read-enricher.js.map +1 -1
  113. package/dist/hooks/post-tool-use/sot-align.d.ts +12 -0
  114. package/dist/hooks/post-tool-use/sot-align.js +73 -49
  115. package/dist/hooks/post-tool-use/sot-align.js.map +1 -1
  116. package/dist/hooks/post-tool-use/write-guardian.d.ts +40 -8
  117. package/dist/hooks/post-tool-use/write-guardian.js +202 -254
  118. package/dist/hooks/post-tool-use/write-guardian.js.map +1 -1
  119. package/dist/hooks/pre-commit/sot-align-precommit.js +2 -2
  120. package/dist/hooks/pre-commit/sot-align-precommit.js.map +1 -1
  121. package/dist/hooks/runners/index.d.ts +2 -2
  122. package/dist/hooks/runners/index.js +1 -1
  123. package/dist/hooks/runners/index.js.map +1 -1
  124. package/dist/hooks/runners/payload.d.ts +34 -19
  125. package/dist/hooks/runners/payload.js +47 -44
  126. package/dist/hooks/runners/payload.js.map +1 -1
  127. package/dist/hooks/runners/session-end.js +12 -11
  128. package/dist/hooks/runners/session-end.js.map +1 -1
  129. package/dist/hooks/runners/session-start.d.ts +4 -2
  130. package/dist/hooks/runners/session-start.js +88 -261
  131. package/dist/hooks/runners/session-start.js.map +1 -1
  132. package/dist/hooks/runners/stop.js +27 -8
  133. package/dist/hooks/runners/stop.js.map +1 -1
  134. package/dist/hooks/runners/user-prompt-submit.js +7 -1
  135. package/dist/hooks/runners/user-prompt-submit.js.map +1 -1
  136. package/dist/hooks/sot-align-common.d.ts +1 -2
  137. package/dist/hooks/sot-align-common.js +2 -2
  138. package/dist/hooks/sot-align-common.js.map +1 -1
  139. package/dist/index.d.ts +1 -1
  140. package/dist/index.js +12 -3
  141. package/dist/index.js.map +1 -1
  142. package/dist/init/baseline-audit.d.ts +14 -58
  143. package/dist/init/baseline-audit.js +92 -320
  144. package/dist/init/baseline-audit.js.map +1 -1
  145. package/dist/init/brand-derive.d.ts +11 -15
  146. package/dist/init/brand-derive.js +21 -46
  147. package/dist/init/brand-derive.js.map +1 -1
  148. package/dist/init/brand-setup.d.ts +1 -1
  149. package/dist/init/brand-setup.js +1 -1
  150. package/dist/init/detect.d.ts +25 -6
  151. package/dist/init/detect.js +107 -136
  152. package/dist/init/detect.js.map +1 -1
  153. package/dist/init/index.d.ts +2 -2
  154. package/dist/init/index.js +1 -1
  155. package/dist/init/index.js.map +1 -1
  156. package/dist/init/ingest-docs.d.ts +2 -2
  157. package/dist/init/ingest-docs.js +31 -43
  158. package/dist/init/ingest-docs.js.map +1 -1
  159. package/dist/init/init.d.ts +21 -21
  160. package/dist/init/init.js +41 -61
  161. package/dist/init/init.js.map +1 -1
  162. package/dist/init/mapper-merge.js +1 -1
  163. package/dist/init/mapper-merge.js.map +1 -1
  164. package/dist/init/mapper-parallel.d.ts +1 -1
  165. package/dist/init/mapper-parallel.js +2 -1
  166. package/dist/init/mapper-parallel.js.map +1 -1
  167. package/dist/init/mapper.js +1 -1
  168. package/dist/init/mapper.js.map +1 -1
  169. package/dist/init/multi-dev/install.d.ts +5 -5
  170. package/dist/init/multi-dev/install.js +4 -4
  171. package/dist/init/overlay.js +1 -0
  172. package/dist/init/overlay.js.map +1 -1
  173. package/dist/init/phases/1-detect.js +1 -1
  174. package/dist/init/phases/1-detect.js.map +1 -1
  175. package/dist/init/phases/{7c-rules-merge.d.ts → 10-rules-merge.d.ts} +2 -2
  176. package/dist/init/phases/{7c-rules-merge.js → 10-rules-merge.js} +6 -12
  177. package/dist/init/phases/10-rules-merge.js.map +1 -0
  178. package/dist/init/phases/11-baseline.d.ts +7 -0
  179. package/dist/init/phases/{8-baseline.js → 11-baseline.js} +5 -9
  180. package/dist/init/phases/11-baseline.js.map +1 -0
  181. package/dist/init/phases/12-strip.d.ts +10 -0
  182. package/dist/init/phases/{10-strip.js → 12-strip.js} +10 -14
  183. package/dist/init/phases/12-strip.js.map +1 -0
  184. package/dist/init/phases/{12-multidev.d.ts → 13-multidev.d.ts} +2 -2
  185. package/dist/init/phases/{12-multidev.js → 13-multidev.js} +4 -4
  186. package/dist/init/phases/{12-multidev.js.map → 13-multidev.js.map} +1 -1
  187. package/dist/init/phases/3-mapper.d.ts +1 -1
  188. package/dist/init/phases/3-mapper.js +2 -2
  189. package/dist/init/phases/3-mapper.js.map +1 -1
  190. package/dist/init/phases/{3b-seed.d.ts → 4-seed.d.ts} +2 -2
  191. package/dist/init/phases/{3b-seed.js → 4-seed.js} +7 -7
  192. package/dist/init/phases/4-seed.js.map +1 -0
  193. package/dist/init/phases/{4-pilot.d.ts → 5-pilot.d.ts} +2 -2
  194. package/dist/init/phases/{4-pilot.js → 5-pilot.js} +9 -9
  195. package/dist/init/phases/{4-pilot.js.map → 5-pilot.js.map} +1 -1
  196. package/dist/init/phases/{5-brand.d.ts → 6-brand.d.ts} +2 -7
  197. package/dist/init/phases/{5-brand.js → 6-brand.js} +6 -14
  198. package/dist/init/phases/6-brand.js.map +1 -0
  199. package/dist/init/phases/{5b-topic-index.d.ts → 7-topic-index.d.ts} +2 -11
  200. package/dist/init/phases/{5b-topic-index.js → 7-topic-index.js} +9 -18
  201. package/dist/init/phases/7-topic-index.js.map +1 -0
  202. package/dist/init/phases/8-docs-ingest.d.ts +10 -0
  203. package/dist/init/phases/{6-docs-ingest.js → 8-docs-ingest.js} +6 -11
  204. package/dist/init/phases/8-docs-ingest.js.map +1 -0
  205. package/dist/init/phases/9-source-comments.d.ts +6 -0
  206. package/dist/init/phases/{7b-source-comments.js → 9-source-comments.js} +7 -26
  207. package/dist/init/phases/9-source-comments.js.map +1 -0
  208. package/dist/init/phases/index.d.ts +12 -12
  209. package/dist/init/phases/index.js +11 -11
  210. package/dist/init/phases/index.js.map +1 -1
  211. package/dist/init/phases/{parallel-678.d.ts → parallel-8910.d.ts} +7 -8
  212. package/dist/init/phases/{parallel-678.js → parallel-8910.js} +26 -44
  213. package/dist/init/phases/parallel-8910.js.map +1 -0
  214. package/dist/init/phases/source-comments-output-io.d.ts +3 -3
  215. package/dist/init/phases/source-comments-output-io.js +3 -3
  216. package/dist/init/phases/types.d.ts +1 -1
  217. package/dist/init/phases/types.js +10 -10
  218. package/dist/init/phases/types.js.map +1 -1
  219. package/dist/init/rules-merge/discover.d.ts +2 -2
  220. package/dist/init/rules-merge/discover.js +28 -43
  221. package/dist/init/rules-merge/discover.js.map +1 -1
  222. package/dist/init/rules-merge/ingest.d.ts +6 -6
  223. package/dist/init/rules-merge/ingest.js +9 -10
  224. package/dist/init/rules-merge/ingest.js.map +1 -1
  225. package/dist/init/rules-merge/keep-markers.d.ts +1 -1
  226. package/dist/init/rules-merge/keep-markers.js +1 -1
  227. package/dist/init/rules-merge/regenerate.d.ts +3 -3
  228. package/dist/init/rules-merge/regenerate.js +3 -3
  229. package/dist/init/seed.js +17 -24
  230. package/dist/init/seed.js.map +1 -1
  231. package/dist/init/sot-emit.d.ts +27 -9
  232. package/dist/init/sot-emit.js +39 -7
  233. package/dist/init/sot-emit.js.map +1 -1
  234. package/dist/init/source-comments/classify.d.ts +2 -2
  235. package/dist/init/source-comments/classify.js +9 -1
  236. package/dist/init/source-comments/classify.js.map +1 -1
  237. package/dist/init/source-comments/index.d.ts +1 -1
  238. package/dist/init/source-comments/index.js.map +1 -1
  239. package/dist/init/source-comments/ingest.d.ts +2 -2
  240. package/dist/init/source-comments/ingest.js +6 -8
  241. package/dist/init/source-comments/ingest.js.map +1 -1
  242. package/dist/init/source-comments/strip-replace.js +3 -2
  243. package/dist/init/source-comments/strip-replace.js.map +1 -1
  244. package/dist/init/source-comments/walker.d.ts +3 -26
  245. package/dist/init/source-comments/walker.js +18 -30
  246. package/dist/init/source-comments/walker.js.map +1 -1
  247. package/dist/init/topic-index/index.d.ts +1 -1
  248. package/dist/init/topic-index/index.js +3 -3
  249. package/dist/init/topic-index/index.js.map +1 -1
  250. package/dist/init/topic-index/judge.d.ts +5 -9
  251. package/dist/init/topic-index/judge.js +17 -22
  252. package/dist/init/topic-index/judge.js.map +1 -1
  253. package/dist/init/topic-index/resolve.d.ts +5 -4
  254. package/dist/init/topic-index/resolve.js +6 -6
  255. package/dist/init/topic-index/resolve.js.map +1 -1
  256. package/dist/init/topic-index/walk.d.ts +6 -6
  257. package/dist/init/topic-index/walk.js +9 -9
  258. package/dist/init/topic-index/walk.js.map +1 -1
  259. package/dist/join/index.js +5 -1
  260. package/dist/join/index.js.map +1 -1
  261. package/dist/lock.js +4 -1
  262. package/dist/lock.js.map +1 -1
  263. package/dist/logger.js +3 -0
  264. package/dist/logger.js.map +1 -1
  265. package/dist/mcp/history/summarizer.js +1 -1
  266. package/dist/mcp/history/summarizer.js.map +1 -1
  267. package/dist/mcp/history/walker.js +1 -1
  268. package/dist/mcp/history/walker.js.map +1 -1
  269. package/dist/mcp/path-allowlist.js +1 -1
  270. package/dist/mcp/path-allowlist.js.map +1 -1
  271. package/dist/mcp/schemas.d.ts +16 -38
  272. package/dist/mcp/schemas.js +8 -22
  273. package/dist/mcp/schemas.js.map +1 -1
  274. package/dist/mcp/server.js +10 -0
  275. package/dist/mcp/server.js.map +1 -1
  276. package/dist/mcp/tools/archive.js +1 -1
  277. package/dist/mcp/tools/archive.js.map +1 -1
  278. package/dist/mcp/tools/attention-wait.js +12 -2
  279. package/dist/mcp/tools/attention-wait.js.map +1 -1
  280. package/dist/mcp/tools/bulk-accept-attention.js +29 -30
  281. package/dist/mcp/tools/bulk-accept-attention.js.map +1 -1
  282. package/dist/mcp/tools/canonical-for-topic.js +37 -15
  283. package/dist/mcp/tools/canonical-for-topic.js.map +1 -1
  284. package/dist/mcp/tools/decision-get.js +2 -2
  285. package/dist/mcp/tools/decision-get.js.map +1 -1
  286. package/dist/mcp/tools/decisions-for-symbol.js +2 -2
  287. package/dist/mcp/tools/decisions-for-symbol.js.map +1 -1
  288. package/dist/mcp/tools/get-full.js +1 -1
  289. package/dist/mcp/tools/get-full.js.map +1 -1
  290. package/dist/mcp/tools/ground-get.js +1 -1
  291. package/dist/mcp/tools/ground-get.js.map +1 -1
  292. package/dist/mcp/tools/in-scope.d.ts +8 -0
  293. package/dist/mcp/tools/in-scope.js +125 -0
  294. package/dist/mcp/tools/in-scope.js.map +1 -0
  295. package/dist/mcp/tools/index.js +7 -12
  296. package/dist/mcp/tools/index.js.map +1 -1
  297. package/dist/mcp/tools/init-phases.d.ts +18 -10
  298. package/dist/mcp/tools/init-phases.js +139 -192
  299. package/dist/mcp/tools/init-phases.js.map +1 -1
  300. package/dist/mcp/tools/invariant-get.js +2 -2
  301. package/dist/mcp/tools/invariant-get.js.map +1 -1
  302. package/dist/mcp/tools/record-decision.d.ts +4 -3
  303. package/dist/mcp/tools/record-decision.js +111 -36
  304. package/dist/mcp/tools/record-decision.js.map +1 -1
  305. package/dist/mcp/tools/reject-candidate.d.ts +1 -1
  306. package/dist/mcp/tools/reject-candidate.js +3 -3
  307. package/dist/mcp/tools/reject-candidate.js.map +1 -1
  308. package/dist/mcp/tools/resolve-attention.d.ts +5 -18
  309. package/dist/mcp/tools/resolve-attention.js +58 -158
  310. package/dist/mcp/tools/resolve-attention.js.map +1 -1
  311. package/dist/mcp/tools/search-candidates.d.ts +1 -1
  312. package/dist/mcp/tools/search-candidates.js +4 -4
  313. package/dist/mcp/tools/search-candidates.js.map +1 -1
  314. package/dist/mcp/tools/search.js +5 -4
  315. package/dist/mcp/tools/search.js.map +1 -1
  316. package/dist/mcp/tools/supersedes-chain.js +2 -2
  317. package/dist/mcp/tools/supersedes-chain.js.map +1 -1
  318. package/dist/mcp/tools/task-create.d.ts +1 -0
  319. package/dist/mcp/tools/task-create.js +2 -0
  320. package/dist/mcp/tools/task-create.js.map +1 -1
  321. package/dist/mcp/tools/timeline.js +1 -1
  322. package/dist/mcp/tools/timeline.js.map +1 -1
  323. package/dist/mcp/tools/types.d.ts +1 -0
  324. package/dist/mcp/tools/types.js +9 -1
  325. package/dist/mcp/tools/types.js.map +1 -1
  326. package/dist/sensors/attestation.d.ts +1 -1
  327. package/dist/sensors/attestation.js +2 -2
  328. package/dist/sensors/attestation.js.map +1 -1
  329. package/dist/sensors/catalog.d.ts +26 -28
  330. package/dist/sensors/catalog.js +79 -81
  331. package/dist/sensors/catalog.js.map +1 -1
  332. package/dist/sensors/decisions.d.ts +1 -1
  333. package/dist/sensors/decisions.js +15 -14
  334. package/dist/sensors/decisions.js.map +1 -1
  335. package/dist/sensors/diff.js +46 -22
  336. package/dist/sensors/diff.js.map +1 -1
  337. package/dist/sensors/runner.d.ts +2 -2
  338. package/dist/sensors/runner.js +3 -3
  339. package/dist/sensors/shell.d.ts +4 -0
  340. package/dist/sensors/shell.js +16 -0
  341. package/dist/sensors/shell.js.map +1 -0
  342. package/dist/sensors/structural.d.ts +3 -2
  343. package/dist/sensors/structural.js +3 -11
  344. package/dist/sensors/structural.js.map +1 -1
  345. package/dist/sensors/stub-catalog.d.ts +2 -1
  346. package/dist/sensors/stub-catalog.js +2 -9
  347. package/dist/sensors/stub-catalog.js.map +1 -1
  348. package/dist/sensors/types.d.ts +3 -4
  349. package/dist/sensors/types.js +1 -2
  350. package/dist/sensors/types.js.map +1 -1
  351. package/dist/session-start/build.js +1 -1
  352. package/dist/session-start/build.js.map +1 -1
  353. package/dist/status-line/event-queue.js +1 -1
  354. package/dist/status-line/index.d.ts +1 -1
  355. package/package.json +3 -2
  356. package/templates/.cairn/config/sensors.yaml +8 -8
  357. package/templates/attention-ui/app.js +61 -36
  358. package/dist/fs.d.ts +0 -5
  359. package/dist/fs.js +0 -11
  360. package/dist/fs.js.map +0 -1
  361. package/dist/ground/alignment-pending.d.ts +0 -28
  362. package/dist/ground/alignment-pending.js +0 -83
  363. package/dist/ground/alignment-pending.js.map +0 -1
  364. package/dist/ground/anchor-map.d.ts +0 -14
  365. package/dist/ground/anchor-map.js +0 -56
  366. package/dist/ground/anchor-map.js.map +0 -1
  367. package/dist/ground/drift.d.ts +0 -8
  368. package/dist/ground/drift.js +0 -23
  369. package/dist/ground/drift.js.map +0 -1
  370. package/dist/ground/file-candidates-map.d.ts +0 -23
  371. package/dist/ground/file-candidates-map.js +0 -76
  372. package/dist/ground/file-candidates-map.js.map +0 -1
  373. package/dist/ground/frontmatter.d.ts +0 -32
  374. package/dist/ground/frontmatter.js +0 -77
  375. package/dist/ground/frontmatter.js.map +0 -1
  376. package/dist/ground/glob.d.ts +0 -10
  377. package/dist/ground/glob.js +0 -46
  378. package/dist/ground/glob.js.map +0 -1
  379. package/dist/ground/index.d.ts +0 -25
  380. package/dist/ground/index.js +0 -19
  381. package/dist/ground/index.js.map +0 -1
  382. package/dist/ground/ledgers.d.ts +0 -14
  383. package/dist/ground/ledgers.js +0 -105
  384. package/dist/ground/ledgers.js.map +0 -1
  385. package/dist/ground/manifest.d.ts +0 -10
  386. package/dist/ground/manifest.js +0 -84
  387. package/dist/ground/manifest.js.map +0 -1
  388. package/dist/ground/paths.d.ts +0 -43
  389. package/dist/ground/paths.js +0 -109
  390. package/dist/ground/paths.js.map +0 -1
  391. package/dist/ground/quality-grades.d.ts +0 -11
  392. package/dist/ground/quality-grades.js +0 -100
  393. package/dist/ground/quality-grades.js.map +0 -1
  394. package/dist/ground/rejected.d.ts +0 -42
  395. package/dist/ground/rejected.js +0 -100
  396. package/dist/ground/rejected.js.map +0 -1
  397. package/dist/ground/schemas.d.ts +0 -582
  398. package/dist/ground/schemas.js +0 -372
  399. package/dist/ground/schemas.js.map +0 -1
  400. package/dist/ground/scope-index.d.ts +0 -96
  401. package/dist/ground/scope-index.js +0 -290
  402. package/dist/ground/scope-index.js.map +0 -1
  403. package/dist/ground/slug.d.ts +0 -60
  404. package/dist/ground/slug.js +0 -103
  405. package/dist/ground/slug.js.map +0 -1
  406. package/dist/ground/sot-bindings.d.ts +0 -14
  407. package/dist/ground/sot-bindings.js +0 -79
  408. package/dist/ground/sot-bindings.js.map +0 -1
  409. package/dist/ground/sot-cache.d.ts +0 -18
  410. package/dist/ground/sot-cache.js +0 -62
  411. package/dist/ground/sot-cache.js.map +0 -1
  412. package/dist/ground/topic-index.d.ts +0 -27
  413. package/dist/ground/topic-index.js +0 -82
  414. package/dist/ground/topic-index.js.map +0 -1
  415. package/dist/ground/walk.d.ts +0 -7
  416. package/dist/ground/walk.js +0 -53
  417. package/dist/ground/walk.js.map +0 -1
  418. package/dist/hooks/post-tool-use/ledger-cache.d.ts +0 -53
  419. package/dist/hooks/post-tool-use/ledger-cache.js +0 -338
  420. package/dist/hooks/post-tool-use/ledger-cache.js.map +0 -1
  421. package/dist/init/phases/10-strip.d.ts +0 -11
  422. package/dist/init/phases/10-strip.js.map +0 -1
  423. package/dist/init/phases/3b-seed.js.map +0 -1
  424. package/dist/init/phases/5-brand.js.map +0 -1
  425. package/dist/init/phases/5b-topic-index.js.map +0 -1
  426. package/dist/init/phases/6-docs-ingest.d.ts +0 -15
  427. package/dist/init/phases/6-docs-ingest.js.map +0 -1
  428. package/dist/init/phases/7b-source-comments.d.ts +0 -15
  429. package/dist/init/phases/7b-source-comments.js.map +0 -1
  430. package/dist/init/phases/7c-rules-merge.js.map +0 -1
  431. package/dist/init/phases/8-baseline.d.ts +0 -10
  432. package/dist/init/phases/8-baseline.js.map +0 -1
  433. package/dist/init/phases/parallel-678.js.map +0 -1
  434. package/dist/mcp/tools/decisions-in-scope.d.ts +0 -7
  435. package/dist/mcp/tools/decisions-in-scope.js +0 -66
  436. package/dist/mcp/tools/decisions-in-scope.js.map +0 -1
  437. package/dist/mcp/tools/invariants-in-scope.d.ts +0 -7
  438. package/dist/mcp/tools/invariants-in-scope.js +0 -81
  439. package/dist/mcp/tools/invariants-in-scope.js.map +0 -1
  440. package/dist/mcp/tools/propose-decision.d.ts +0 -34
  441. package/dist/mcp/tools/propose-decision.js +0 -200
  442. package/dist/mcp/tools/propose-decision.js.map +0 -1
@@ -1,582 +0,0 @@
1
- import { z } from "zod";
2
- export declare const Audience: z.ZodEnum<{
3
- "ai-only": "ai-only";
4
- dual: "dual";
5
- "human-only": "human-only";
6
- }>;
7
- export type Audience = z.infer<typeof Audience>;
8
- export declare const ProvenanceFrontmatter: z.ZodObject<{
9
- type: z.ZodOptional<z.ZodString>;
10
- status: z.ZodOptional<z.ZodString>;
11
- audience: z.ZodOptional<z.ZodEnum<{
12
- "ai-only": "ai-only";
13
- dual: "dual";
14
- "human-only": "human-only";
15
- }>>;
16
- generated: z.ZodOptional<z.ZodString>;
17
- "verified-at": z.ZodOptional<z.ZodString>;
18
- "source-commits": z.ZodOptional<z.ZodArray<z.ZodString>>;
19
- supersedes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
- }, z.core.$loose>;
21
- export type ProvenanceFrontmatter = z.infer<typeof ProvenanceFrontmatter>;
22
- export declare const ManifestEntry: z.ZodObject<{
23
- path: z.ZodString;
24
- sha256: z.ZodString;
25
- classification: z.ZodString;
26
- audience: z.ZodOptional<z.ZodString>;
27
- verified_at: z.ZodOptional<z.ZodString>;
28
- generator: z.ZodOptional<z.ZodString>;
29
- source: z.ZodOptional<z.ZodString>;
30
- related_invariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
- }, z.core.$strip>;
32
- export type ManifestEntry = z.infer<typeof ManifestEntry>;
33
- export declare const Manifest: z.ZodObject<{
34
- version: z.ZodLiteral<1>;
35
- generated: z.ZodString;
36
- generator: z.ZodOptional<z.ZodString>;
37
- files: z.ZodArray<z.ZodObject<{
38
- path: z.ZodString;
39
- sha256: z.ZodString;
40
- classification: z.ZodString;
41
- audience: z.ZodOptional<z.ZodString>;
42
- verified_at: z.ZodOptional<z.ZodString>;
43
- generator: z.ZodOptional<z.ZodString>;
44
- source: z.ZodOptional<z.ZodString>;
45
- related_invariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
46
- }, z.core.$strip>>;
47
- }, z.core.$strip>;
48
- export type Manifest = z.infer<typeof Manifest>;
49
- export declare const DecisionAssertion: z.ZodDiscriminatedUnion<[z.ZodObject<{
50
- id: z.ZodString;
51
- kind: z.ZodLiteral<"schema_must_contain">;
52
- table: z.ZodString;
53
- column: z.ZodString;
54
- column_type: z.ZodOptional<z.ZodString>;
55
- nullable: z.ZodOptional<z.ZodBoolean>;
56
- }, z.core.$strip>, z.ZodObject<{
57
- id: z.ZodString;
58
- kind: z.ZodLiteral<"text_must_match">;
59
- pattern: z.ZodString;
60
- in_globs: z.ZodArray<z.ZodString>;
61
- }, z.core.$strip>, z.ZodObject<{
62
- id: z.ZodString;
63
- kind: z.ZodLiteral<"text_must_not_match">;
64
- pattern: z.ZodString;
65
- in_globs: z.ZodArray<z.ZodString>;
66
- }, z.core.$strip>, z.ZodObject<{
67
- id: z.ZodString;
68
- kind: z.ZodLiteral<"index_must_exist">;
69
- table: z.ZodString;
70
- columns: z.ZodArray<z.ZodString>;
71
- where: z.ZodOptional<z.ZodString>;
72
- }, z.core.$strip>, z.ZodObject<{
73
- id: z.ZodString;
74
- kind: z.ZodLiteral<"ast_pattern">;
75
- language: z.ZodString;
76
- pattern: z.ZodString;
77
- in_globs: z.ZodArray<z.ZodString>;
78
- }, z.core.$strip>, z.ZodObject<{
79
- id: z.ZodString;
80
- kind: z.ZodLiteral<"file_must_not_be_modified">;
81
- path: z.ZodString;
82
- }, z.core.$strip>, z.ZodObject<{
83
- id: z.ZodString;
84
- kind: z.ZodLiteral<"query_must_filter_by">;
85
- orm: z.ZodString;
86
- in_globs: z.ZodArray<z.ZodString>;
87
- table: z.ZodString;
88
- columns: z.ZodArray<z.ZodString>;
89
- operator: z.ZodEnum<{
90
- in: "in";
91
- eq: "eq";
92
- between: "between";
93
- is_not_null: "is_not_null";
94
- }>;
95
- require_combination: z.ZodEnum<{
96
- and: "and";
97
- or: "or";
98
- }>;
99
- }, z.core.$strip>, z.ZodObject<{
100
- id: z.ZodString;
101
- kind: z.ZodLiteral<"route_must_have_guard">;
102
- in_globs: z.ZodArray<z.ZodString>;
103
- guard: z.ZodString;
104
- require_on: z.ZodArray<z.ZodString>;
105
- }, z.core.$strip>, z.ZodObject<{
106
- id: z.ZodString;
107
- kind: z.ZodLiteral<"event_must_emit">;
108
- in_globs: z.ZodArray<z.ZodString>;
109
- after_method: z.ZodString;
110
- event_key: z.ZodString;
111
- payload_must_include: z.ZodOptional<z.ZodArray<z.ZodString>>;
112
- }, z.core.$strip>, z.ZodObject<{
113
- id: z.ZodString;
114
- kind: z.ZodLiteral<"service_method_must_call">;
115
- in_globs: z.ZodArray<z.ZodString>;
116
- in_method: z.ZodString;
117
- must_call: z.ZodString;
118
- before_returning: z.ZodOptional<z.ZodBoolean>;
119
- }, z.core.$strip>, z.ZodObject<{
120
- id: z.ZodString;
121
- kind: z.ZodLiteral<"human_review_hint">;
122
- description: z.ZodString;
123
- }, z.core.$strip>], "kind">;
124
- export type DecisionAssertion = z.infer<typeof DecisionAssertion>;
125
- /**
126
- * sot_kind = where the canonical prose lives for this DEC.
127
- * "ledger" — body in this DEC file is canonical (source-comment essay,
128
- * operator-recorded). Lens renders body verbatim.
129
- * "path" — sot_path points at the canonical location (doc paragraph,
130
- * CLAUDE.md section). Lens renders live content from there.
131
- */
132
- export declare const SotKind: z.ZodEnum<{
133
- path: "path";
134
- ledger: "ledger";
135
- }>;
136
- export type SotKind = z.infer<typeof SotKind>;
137
- export declare const DecisionFrontmatter: z.ZodObject<{
138
- id: z.ZodString;
139
- title: z.ZodString;
140
- type: z.ZodOptional<z.ZodLiteral<"adr">>;
141
- status: z.ZodString;
142
- audience: z.ZodOptional<z.ZodEnum<{
143
- "ai-only": "ai-only";
144
- dual: "dual";
145
- "human-only": "human-only";
146
- }>>;
147
- generated: z.ZodOptional<z.ZodString>;
148
- "verified-at": z.ZodOptional<z.ZodString>;
149
- "source-commits": z.ZodOptional<z.ZodArray<z.ZodString>>;
150
- decided_at: z.ZodOptional<z.ZodString>;
151
- decided_by: z.ZodOptional<z.ZodString>;
152
- scope_globs: z.ZodOptional<z.ZodArray<z.ZodString>>;
153
- supersedes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
154
- superseded_by: z.ZodOptional<z.ZodNullable<z.ZodString>>;
155
- assertions: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
156
- id: z.ZodString;
157
- kind: z.ZodLiteral<"schema_must_contain">;
158
- table: z.ZodString;
159
- column: z.ZodString;
160
- column_type: z.ZodOptional<z.ZodString>;
161
- nullable: z.ZodOptional<z.ZodBoolean>;
162
- }, z.core.$strip>, z.ZodObject<{
163
- id: z.ZodString;
164
- kind: z.ZodLiteral<"text_must_match">;
165
- pattern: z.ZodString;
166
- in_globs: z.ZodArray<z.ZodString>;
167
- }, z.core.$strip>, z.ZodObject<{
168
- id: z.ZodString;
169
- kind: z.ZodLiteral<"text_must_not_match">;
170
- pattern: z.ZodString;
171
- in_globs: z.ZodArray<z.ZodString>;
172
- }, z.core.$strip>, z.ZodObject<{
173
- id: z.ZodString;
174
- kind: z.ZodLiteral<"index_must_exist">;
175
- table: z.ZodString;
176
- columns: z.ZodArray<z.ZodString>;
177
- where: z.ZodOptional<z.ZodString>;
178
- }, z.core.$strip>, z.ZodObject<{
179
- id: z.ZodString;
180
- kind: z.ZodLiteral<"ast_pattern">;
181
- language: z.ZodString;
182
- pattern: z.ZodString;
183
- in_globs: z.ZodArray<z.ZodString>;
184
- }, z.core.$strip>, z.ZodObject<{
185
- id: z.ZodString;
186
- kind: z.ZodLiteral<"file_must_not_be_modified">;
187
- path: z.ZodString;
188
- }, z.core.$strip>, z.ZodObject<{
189
- id: z.ZodString;
190
- kind: z.ZodLiteral<"query_must_filter_by">;
191
- orm: z.ZodString;
192
- in_globs: z.ZodArray<z.ZodString>;
193
- table: z.ZodString;
194
- columns: z.ZodArray<z.ZodString>;
195
- operator: z.ZodEnum<{
196
- in: "in";
197
- eq: "eq";
198
- between: "between";
199
- is_not_null: "is_not_null";
200
- }>;
201
- require_combination: z.ZodEnum<{
202
- and: "and";
203
- or: "or";
204
- }>;
205
- }, z.core.$strip>, z.ZodObject<{
206
- id: z.ZodString;
207
- kind: z.ZodLiteral<"route_must_have_guard">;
208
- in_globs: z.ZodArray<z.ZodString>;
209
- guard: z.ZodString;
210
- require_on: z.ZodArray<z.ZodString>;
211
- }, z.core.$strip>, z.ZodObject<{
212
- id: z.ZodString;
213
- kind: z.ZodLiteral<"event_must_emit">;
214
- in_globs: z.ZodArray<z.ZodString>;
215
- after_method: z.ZodString;
216
- event_key: z.ZodString;
217
- payload_must_include: z.ZodOptional<z.ZodArray<z.ZodString>>;
218
- }, z.core.$strip>, z.ZodObject<{
219
- id: z.ZodString;
220
- kind: z.ZodLiteral<"service_method_must_call">;
221
- in_globs: z.ZodArray<z.ZodString>;
222
- in_method: z.ZodString;
223
- must_call: z.ZodString;
224
- before_returning: z.ZodOptional<z.ZodBoolean>;
225
- }, z.core.$strip>, z.ZodObject<{
226
- id: z.ZodString;
227
- kind: z.ZodLiteral<"human_review_hint">;
228
- description: z.ZodString;
229
- }, z.core.$strip>], "kind">>>;
230
- human_review_hint: z.ZodOptional<z.ZodString>;
231
- related_invariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
232
- sot_kind: z.ZodEnum<{
233
- path: "path";
234
- ledger: "ledger";
235
- }>;
236
- sot_path: z.ZodString;
237
- sot_content_hash: z.ZodString;
238
- related: z.ZodOptional<z.ZodNullable<z.ZodString>>;
239
- derived_from: z.ZodOptional<z.ZodNullable<z.ZodString>>;
240
- }, z.core.$loose>;
241
- export type DecisionFrontmatter = z.infer<typeof DecisionFrontmatter>;
242
- export declare const InvariantFrontmatter: z.ZodObject<{
243
- id: z.ZodString;
244
- title: z.ZodString;
245
- type: z.ZodOptional<z.ZodLiteral<"invariant">>;
246
- status: z.ZodOptional<z.ZodEnum<{
247
- superseded: "superseded";
248
- archived: "archived";
249
- active: "active";
250
- }>>;
251
- audience: z.ZodOptional<z.ZodEnum<{
252
- "ai-only": "ai-only";
253
- dual: "dual";
254
- "human-only": "human-only";
255
- }>>;
256
- generated: z.ZodOptional<z.ZodString>;
257
- "verified-at": z.ZodOptional<z.ZodString>;
258
- source_run: z.ZodOptional<z.ZodString>;
259
- source_decision: z.ZodOptional<z.ZodNullable<z.ZodString>>;
260
- introduced_for_bug: z.ZodOptional<z.ZodString>;
261
- sensor: z.ZodOptional<z.ZodString>;
262
- e2e: z.ZodOptional<z.ZodString>;
263
- naming_convention: z.ZodOptional<z.ZodString>;
264
- superseded_by: z.ZodOptional<z.ZodNullable<z.ZodString>>;
265
- sot_kind: z.ZodEnum<{
266
- path: "path";
267
- ledger: "ledger";
268
- }>;
269
- sot_path: z.ZodString;
270
- sot_content_hash: z.ZodString;
271
- related: z.ZodOptional<z.ZodNullable<z.ZodString>>;
272
- derived_from: z.ZodOptional<z.ZodNullable<z.ZodString>>;
273
- }, z.core.$loose>;
274
- export type InvariantFrontmatter = z.infer<typeof InvariantFrontmatter>;
275
- export declare const DecisionLedgerEntry: z.ZodObject<{
276
- id: z.ZodString;
277
- title: z.ZodString;
278
- status: z.ZodString;
279
- scope_globs: z.ZodOptional<z.ZodArray<z.ZodString>>;
280
- supersedes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
281
- superseded_by: z.ZodOptional<z.ZodNullable<z.ZodString>>;
282
- }, z.core.$strip>;
283
- export type DecisionLedgerEntry = z.infer<typeof DecisionLedgerEntry>;
284
- export declare const InvariantLedgerEntry: z.ZodObject<{
285
- id: z.ZodString;
286
- title: z.ZodString;
287
- status: z.ZodString;
288
- source_decision: z.ZodOptional<z.ZodNullable<z.ZodString>>;
289
- superseded_by: z.ZodOptional<z.ZodNullable<z.ZodString>>;
290
- }, z.core.$strip>;
291
- export type InvariantLedgerEntry = z.infer<typeof InvariantLedgerEntry>;
292
- export declare const QualityGrade: z.ZodObject<{
293
- module: z.ZodString;
294
- score: z.ZodNumber;
295
- pass_rate: z.ZodNumber;
296
- drift_count: z.ZodNumber;
297
- last_updated: z.ZodString;
298
- recent_run_count: z.ZodNumber;
299
- }, z.core.$strip>;
300
- export type QualityGrade = z.infer<typeof QualityGrade>;
301
- export declare const QualityGrades: z.ZodObject<{
302
- version: z.ZodLiteral<1>;
303
- generated: z.ZodString;
304
- modules: z.ZodArray<z.ZodObject<{
305
- module: z.ZodString;
306
- score: z.ZodNumber;
307
- pass_rate: z.ZodNumber;
308
- drift_count: z.ZodNumber;
309
- last_updated: z.ZodString;
310
- recent_run_count: z.ZodNumber;
311
- }, z.core.$strip>>;
312
- }, z.core.$strip>;
313
- export type QualityGrades = z.infer<typeof QualityGrades>;
314
- /**
315
- * Topic-index entry — one row per content-fingerprint slug across all
316
- * scanned sources. `sot_source` is the canonical source path picked by
317
- * priority order (docs/* > CLAUDE.md > AGENTS.md > source comments).
318
- * `candidates` lists every place the same prose appears (one becomes the
319
- * SoT, the rest become §DEC-<id> cites).
320
- *
321
- * `marker_kind` is stamped at walk-time when the SoT block sits under a
322
- * `cairn:` frontmatter key (file-level) or has a `<!-- cairn:decision -->`
323
- * / `<!-- cairn:rule -->` HTML comment within 3 lines of its heading
324
- * (block-level). Phase 6 Stage 3 reads this field directly off the
325
- * topic-index and bypasses Stages 1+2 (file-purpose + section batch
326
- * classifiers) for marked entries — the operator has already declared
327
- * the block authoritative, so Haiku adds no signal.
328
- *
329
- * `content_hash` mirrors the SoT block's body hash at walk-time. Used by
330
- * `cairn_propose_decision` (PR 2) and the alignment hooks to detect
331
- * source drift before promoting a candidate to a draft.
332
- */
333
- export declare const TopicIndexEntry: z.ZodObject<{
334
- slug: z.ZodString;
335
- dec_id: z.ZodOptional<z.ZodString>;
336
- sot_source: z.ZodString;
337
- candidates: z.ZodArray<z.ZodObject<{
338
- file: z.ZodString;
339
- kind: z.ZodEnum<{
340
- doc: "doc";
341
- claudemd: "claudemd";
342
- agentsmd: "agentsmd";
343
- rule: "rule";
344
- "source-comment": "source-comment";
345
- }>;
346
- anchor: z.ZodOptional<z.ZodString>;
347
- line_range: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
348
- }, z.core.$strip>>;
349
- created_at: z.ZodString;
350
- marker_kind: z.ZodOptional<z.ZodEnum<{
351
- rule: "rule";
352
- decision: "decision";
353
- }>>;
354
- content_hash: z.ZodOptional<z.ZodString>;
355
- }, z.core.$strip>;
356
- export type TopicIndexEntry = z.infer<typeof TopicIndexEntry>;
357
- export declare const TopicIndex: z.ZodObject<{
358
- version: z.ZodLiteral<1>;
359
- generated: z.ZodString;
360
- topics: z.ZodRecord<z.ZodString, z.ZodObject<{
361
- slug: z.ZodString;
362
- dec_id: z.ZodOptional<z.ZodString>;
363
- sot_source: z.ZodString;
364
- candidates: z.ZodArray<z.ZodObject<{
365
- file: z.ZodString;
366
- kind: z.ZodEnum<{
367
- doc: "doc";
368
- claudemd: "claudemd";
369
- agentsmd: "agentsmd";
370
- rule: "rule";
371
- "source-comment": "source-comment";
372
- }>;
373
- anchor: z.ZodOptional<z.ZodString>;
374
- line_range: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
375
- }, z.core.$strip>>;
376
- created_at: z.ZodString;
377
- marker_kind: z.ZodOptional<z.ZodEnum<{
378
- rule: "rule";
379
- decision: "decision";
380
- }>>;
381
- content_hash: z.ZodOptional<z.ZodString>;
382
- }, z.core.$strip>>;
383
- }, z.core.$strip>;
384
- export type TopicIndex = z.infer<typeof TopicIndex>;
385
- /**
386
- * SoT bindings — bidirectional map between DEC ids and their canonical
387
- * source paths. Forward index is one-to-one. Reverse index is one-to-many
388
- * because supersedes chains keep the same sot_path across multiple DEC
389
- * ids.
390
- */
391
- export declare const SotBindings: z.ZodObject<{
392
- version: z.ZodLiteral<1>;
393
- generated: z.ZodString;
394
- forward: z.ZodRecord<z.ZodString, z.ZodString>;
395
- reverse: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
396
- }, z.core.$strip>;
397
- export type SotBindings = z.infer<typeof SotBindings>;
398
- /**
399
- * Sot-cache — tokenized DEC body shingles for Jaccard pre-filter in the
400
- * Layer A alignment hook. Mtime-keyed so the cache rebuilds incrementally
401
- * on PostToolUse Write events.
402
- */
403
- export declare const SotCacheEntry: z.ZodObject<{
404
- dec_id: z.ZodString;
405
- sot_path: z.ZodString;
406
- body_hash: z.ZodString;
407
- tokens: z.ZodArray<z.ZodString>;
408
- shingles: z.ZodArray<z.ZodString>;
409
- mtime_ms: z.ZodNumber;
410
- }, z.core.$strip>;
411
- export type SotCacheEntry = z.infer<typeof SotCacheEntry>;
412
- export declare const SotCache: z.ZodObject<{
413
- version: z.ZodLiteral<1>;
414
- generated: z.ZodString;
415
- entries: z.ZodRecord<z.ZodString, z.ZodObject<{
416
- dec_id: z.ZodString;
417
- sot_path: z.ZodString;
418
- body_hash: z.ZodString;
419
- tokens: z.ZodArray<z.ZodString>;
420
- shingles: z.ZodArray<z.ZodString>;
421
- mtime_ms: z.ZodNumber;
422
- }, z.core.$strip>>;
423
- }, z.core.$strip>;
424
- export type SotCache = z.infer<typeof SotCache>;
425
- /**
426
- * Anchor-map — external map from topic slug to its current location in
427
- * source. Allows operator's docs to stay pristine (no `<!-- cairn-anchor -->`
428
- * injected) while drift detection reconciles via content_hash.
429
- */
430
- export declare const AnchorMapEntry: z.ZodObject<{
431
- file: z.ZodString;
432
- current_anchor: z.ZodOptional<z.ZodString>;
433
- content_hash: z.ZodString;
434
- line_range: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
435
- kind: z.ZodEnum<{
436
- doc: "doc";
437
- claudemd: "claudemd";
438
- agentsmd: "agentsmd";
439
- rule: "rule";
440
- "source-comment": "source-comment";
441
- }>;
442
- }, z.core.$strip>;
443
- export type AnchorMapEntry = z.infer<typeof AnchorMapEntry>;
444
- export declare const AnchorMap: z.ZodObject<{
445
- version: z.ZodLiteral<1>;
446
- generated: z.ZodString;
447
- anchors: z.ZodRecord<z.ZodString, z.ZodObject<{
448
- file: z.ZodString;
449
- current_anchor: z.ZodOptional<z.ZodString>;
450
- content_hash: z.ZodString;
451
- line_range: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
452
- kind: z.ZodEnum<{
453
- doc: "doc";
454
- claudemd: "claudemd";
455
- agentsmd: "agentsmd";
456
- rule: "rule";
457
- "source-comment": "source-comment";
458
- }>;
459
- }, z.core.$strip>>;
460
- }, z.core.$strip>;
461
- export type AnchorMap = z.infer<typeof AnchorMap>;
462
- export declare const DriftEvent: z.ZodObject<{
463
- ts: z.ZodString;
464
- kind: z.ZodEnum<{
465
- frontmatter_stale: "frontmatter_stale";
466
- generator_drift: "generator_drift";
467
- broken_link: "broken_link";
468
- orphan_path: "orphan_path";
469
- manifest_hash_changed: "manifest_hash_changed";
470
- "doc-drift": "doc-drift";
471
- "paragraph-deleted": "paragraph-deleted";
472
- "pre-commit-drift": "pre-commit-drift";
473
- }>;
474
- path: z.ZodString;
475
- detail: z.ZodOptional<z.ZodString>;
476
- severity: z.ZodDefault<z.ZodEnum<{
477
- soft: "soft";
478
- hard: "hard";
479
- }>>;
480
- dec_id: z.ZodOptional<z.ZodString>;
481
- }, z.core.$strip>;
482
- export type DriftEvent = z.infer<typeof DriftEvent>;
483
- /**
484
- * Layer B pre-commit-drift log entry written by the git pre-commit
485
- * hook (`cairn hook pre-commit-align`). Layer C SessionStart drain
486
- * consumes this file, re-checks each entry against the (possibly
487
- * changed) source location, and runs the Haiku judge for ambiguous
488
- * candidates.
489
- *
490
- * Path: `.cairn/staleness/pre-commit-deferred.jsonl`.
491
- *
492
- * `tier: tier1` — deterministic match passed (Jaccard ≥ 0.85, shingle
493
- * ≥ 0.6, length ratio 0.5–2.0). Layer C can auto-cite without Haiku
494
- * if the block survives.
495
- *
496
- * `tier: tier2-3` — Jaccard pre-filter survivors only; Tier 1 didn't
497
- * fire. Layer C invokes Haiku dedup judge.
498
- */
499
- export declare const PreCommitDriftCandidate: z.ZodObject<{
500
- id: z.ZodString;
501
- similarity: z.ZodNumber;
502
- body_hash: z.ZodString;
503
- sot_path: z.ZodString;
504
- }, z.core.$strip>;
505
- export type PreCommitDriftCandidate = z.infer<typeof PreCommitDriftCandidate>;
506
- export declare const PreCommitDriftLogEntry: z.ZodObject<{
507
- ts: z.ZodString;
508
- file: z.ZodString;
509
- block_start_line: z.ZodNumber;
510
- block_end_line: z.ZodNumber;
511
- block_content_hash: z.ZodString;
512
- block_prose: z.ZodString;
513
- tier: z.ZodEnum<{
514
- tier1: "tier1";
515
- "tier2-3": "tier2-3";
516
- }>;
517
- candidates: z.ZodArray<z.ZodObject<{
518
- id: z.ZodString;
519
- similarity: z.ZodNumber;
520
- body_hash: z.ZodString;
521
- sot_path: z.ZodString;
522
- }, z.core.$strip>>;
523
- }, z.core.$strip>;
524
- export type PreCommitDriftLogEntry = z.infer<typeof PreCommitDriftLogEntry>;
525
- /**
526
- * Rejected-candidate ledger entry (`.cairn/ground/_rejected.yaml`).
527
- *
528
- * Records topic-index slugs the operator (or `ai-curator`) decided are
529
- * *not* canonical — false positives, research notes, planning prose,
530
- * etc. The drift sensor reads this file and suppresses any candidate
531
- * whose slug appears here; phase 6 / `cairn ingest` skip rejected slugs
532
- * on the next pass instead of re-proposing them.
533
- *
534
- * Dedup is by slug. First writer wins the `reason` string; subsequent
535
- * writes only refresh `rejected_at`. Phase 5b GC drops entries whose
536
- * slug is no longer present in the freshly-built topic-index.
537
- */
538
- export declare const RejectedEntry: z.ZodObject<{
539
- slug: z.ZodString;
540
- rejected_at: z.ZodString;
541
- rejected_by: z.ZodEnum<{
542
- operator: "operator";
543
- "ai-curator": "ai-curator";
544
- "cairn-init": "cairn-init";
545
- }>;
546
- reason: z.ZodString;
547
- sot_source: z.ZodString;
548
- line_range: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
549
- }, z.core.$strip>;
550
- export type RejectedEntry = z.infer<typeof RejectedEntry>;
551
- export declare const RejectedYaml: z.ZodObject<{
552
- version: z.ZodLiteral<1>;
553
- generated: z.ZodString;
554
- rejected: z.ZodArray<z.ZodObject<{
555
- slug: z.ZodString;
556
- rejected_at: z.ZodString;
557
- rejected_by: z.ZodEnum<{
558
- operator: "operator";
559
- "ai-curator": "ai-curator";
560
- "cairn-init": "cairn-init";
561
- }>;
562
- reason: z.ZodString;
563
- sot_source: z.ZodString;
564
- line_range: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
565
- }, z.core.$strip>>;
566
- }, z.core.$strip>;
567
- export type RejectedYaml = z.infer<typeof RejectedYaml>;
568
- /**
569
- * `.cairn/ground/file-candidates-map.yaml` — per-file count of
570
- * topic-index entries with `dec_id IS NULL`. Built at the end of phase
571
- * 5b (and refreshed whenever `dec_id` is stamped — phase 6, the PR 2
572
- * `cairn_propose_decision` tool, etc.). The read-enrich hook consults
573
- * this map to inject a candidate-count warning when an AI agent reads a
574
- * file with unpromoted candidates, without scanning the whole topic
575
- * index per Read.
576
- */
577
- export declare const FileCandidatesMap: z.ZodObject<{
578
- version: z.ZodLiteral<1>;
579
- generated: z.ZodString;
580
- file_candidates: z.ZodRecord<z.ZodString, z.ZodNumber>;
581
- }, z.core.$strip>;
582
- export type FileCandidatesMap = z.infer<typeof FileCandidatesMap>;