@isaacriehm/cairn-core 0.2.0 → 0.3.0

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 (336) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/claude/runner.d.ts +1 -1
  3. package/dist/claude/runner.js +62 -1
  4. package/dist/claude/runner.js.map +1 -1
  5. package/dist/claude/types.d.ts +14 -7
  6. package/dist/claude/types.js +5 -7
  7. package/dist/claude/types.js.map +1 -1
  8. package/dist/context/index.d.ts +4 -4
  9. package/dist/context/index.js +3 -4
  10. package/dist/context/index.js.map +1 -1
  11. package/dist/context/spec-delta.js +2 -3
  12. package/dist/context/spec-delta.js.map +1 -1
  13. package/dist/context/task-summary.d.ts +18 -0
  14. package/dist/context/task-summary.js +89 -0
  15. package/dist/context/task-summary.js.map +1 -0
  16. package/dist/decision-capture/id.d.ts +21 -4
  17. package/dist/decision-capture/id.js +56 -5
  18. package/dist/decision-capture/id.js.map +1 -1
  19. package/dist/decision-capture/index.d.ts +7 -22
  20. package/dist/decision-capture/index.js +7 -17
  21. package/dist/decision-capture/index.js.map +1 -1
  22. package/dist/doctor/index.d.ts +1 -1
  23. package/dist/doctor/index.js +1 -1
  24. package/dist/events/index.d.ts +1 -1
  25. package/dist/events/index.js +1 -1
  26. package/dist/events/writer.d.ts +1 -1
  27. package/dist/events/writer.js +1 -1
  28. package/dist/gc/canary.d.ts +13 -23
  29. package/dist/gc/canary.js +36 -92
  30. package/dist/gc/canary.js.map +1 -1
  31. package/dist/gc/citation-integrity.d.ts +6 -6
  32. package/dist/gc/citation-integrity.js +64 -20
  33. package/dist/gc/citation-integrity.js.map +1 -1
  34. package/dist/gc/frontmatter.js +1 -1
  35. package/dist/gc/generator-drift.js +1 -1
  36. package/dist/gc/generator-drift.js.map +1 -1
  37. package/dist/gc/index.d.ts +2 -2
  38. package/dist/gc/index.js +1 -1
  39. package/dist/gc/index.js.map +1 -1
  40. package/dist/gc/quality-update.js +1 -1
  41. package/dist/gc/quality-update.js.map +1 -1
  42. package/dist/gc/types.d.ts +1 -30
  43. package/dist/ground/index.d.ts +2 -2
  44. package/dist/ground/index.js +1 -1
  45. package/dist/ground/index.js.map +1 -1
  46. package/dist/ground/ledgers.d.ts +0 -4
  47. package/dist/ground/ledgers.js +10 -8
  48. package/dist/ground/ledgers.js.map +1 -1
  49. package/dist/ground/manifest.js +0 -2
  50. package/dist/ground/manifest.js.map +1 -1
  51. package/dist/ground/quality-grades.js +3 -1
  52. package/dist/ground/quality-grades.js.map +1 -1
  53. package/dist/ground/schemas.d.ts +2 -7
  54. package/dist/ground/schemas.js +7 -2
  55. package/dist/ground/schemas.js.map +1 -1
  56. package/dist/ground/scope-index.d.ts +59 -12
  57. package/dist/ground/scope-index.js +212 -43
  58. package/dist/ground/scope-index.js.map +1 -1
  59. package/dist/hooks/bypass-detection.js +4 -2
  60. package/dist/hooks/bypass-detection.js.map +1 -1
  61. package/dist/hooks/post-tool-use/citation-scanner.d.ts +7 -5
  62. package/dist/hooks/post-tool-use/citation-scanner.js +15 -9
  63. package/dist/hooks/post-tool-use/citation-scanner.js.map +1 -1
  64. package/dist/hooks/post-tool-use/copy-scanner.js +1 -1
  65. package/dist/hooks/post-tool-use/copy-scanner.js.map +1 -1
  66. package/dist/hooks/post-tool-use/ledger-cache.d.ts +8 -0
  67. package/dist/hooks/post-tool-use/ledger-cache.js +53 -0
  68. package/dist/hooks/post-tool-use/ledger-cache.js.map +1 -1
  69. package/dist/hooks/post-tool-use/legend-builder.d.ts +3 -3
  70. package/dist/hooks/post-tool-use/legend-builder.js +30 -8
  71. package/dist/hooks/post-tool-use/legend-builder.js.map +1 -1
  72. package/dist/hooks/post-tool-use/read-enricher.d.ts +1 -1
  73. package/dist/hooks/post-tool-use/read-enricher.js +68 -21
  74. package/dist/hooks/post-tool-use/read-enricher.js.map +1 -1
  75. package/dist/hooks/post-tool-use/write-guardian.js +148 -18
  76. package/dist/hooks/post-tool-use/write-guardian.js.map +1 -1
  77. package/dist/hooks/runners/index.d.ts +1 -0
  78. package/dist/hooks/runners/index.js +1 -0
  79. package/dist/hooks/runners/index.js.map +1 -1
  80. package/dist/hooks/runners/payload.d.ts +1 -1
  81. package/dist/hooks/runners/payload.js +27 -12
  82. package/dist/hooks/runners/payload.js.map +1 -1
  83. package/dist/hooks/runners/session-start.js +212 -66
  84. package/dist/hooks/runners/session-start.js.map +1 -1
  85. package/dist/hooks/runners/stop.d.ts +9 -12
  86. package/dist/hooks/runners/stop.js +67 -36
  87. package/dist/hooks/runners/stop.js.map +1 -1
  88. package/dist/hooks/runners/user-prompt-submit.d.ts +15 -0
  89. package/dist/hooks/runners/user-prompt-submit.js +149 -0
  90. package/dist/hooks/runners/user-prompt-submit.js.map +1 -0
  91. package/dist/hooks/user-prompt-submit.d.ts +7 -0
  92. package/dist/hooks/user-prompt-submit.js +12 -0
  93. package/dist/hooks/user-prompt-submit.js.map +1 -0
  94. package/dist/index.d.ts +1 -6
  95. package/dist/index.js +1 -5
  96. package/dist/index.js.map +1 -1
  97. package/dist/init/baseline-audit.d.ts +5 -1
  98. package/dist/init/baseline-audit.js +25 -2
  99. package/dist/init/baseline-audit.js.map +1 -1
  100. package/dist/init/glob-inference.d.ts +16 -0
  101. package/dist/init/glob-inference.js +108 -0
  102. package/dist/init/glob-inference.js.map +1 -0
  103. package/dist/init/index.d.ts +2 -0
  104. package/dist/init/index.js +1 -0
  105. package/dist/init/index.js.map +1 -1
  106. package/dist/init/ingest-docs.d.ts +1 -1
  107. package/dist/init/ingest-docs.js +19 -6
  108. package/dist/init/ingest-docs.js.map +1 -1
  109. package/dist/init/init.js +12 -7
  110. package/dist/init/init.js.map +1 -1
  111. package/dist/init/mapper-merge.d.ts +8 -2
  112. package/dist/init/mapper-merge.js +50 -32
  113. package/dist/init/mapper-merge.js.map +1 -1
  114. package/dist/init/mapper-parallel.d.ts +2 -3
  115. package/dist/init/mapper-parallel.js +9 -38
  116. package/dist/init/mapper-parallel.js.map +1 -1
  117. package/dist/init/mapper-prompts.js +1 -1
  118. package/dist/init/mapper-prompts.js.map +1 -1
  119. package/dist/init/mapper.d.ts +6 -127
  120. package/dist/init/mapper.js +30 -7
  121. package/dist/init/mapper.js.map +1 -1
  122. package/dist/init/module-slicer.d.ts +1 -1
  123. package/dist/init/module-slicer.js +1 -1
  124. package/dist/init/multi-dev/install.d.ts +5 -11
  125. package/dist/init/multi-dev/install.js +4 -6
  126. package/dist/init/multi-dev/install.js.map +1 -1
  127. package/dist/init/overlay.d.ts +2 -2
  128. package/dist/init/overlay.js +1 -1
  129. package/dist/init/overlay.js.map +1 -1
  130. package/dist/init/phases/10-strip.js +1 -2
  131. package/dist/init/phases/10-strip.js.map +1 -1
  132. package/dist/init/phases/12-multidev.d.ts +1 -6
  133. package/dist/init/phases/12-multidev.js +1 -6
  134. package/dist/init/phases/12-multidev.js.map +1 -1
  135. package/dist/init/phases/3b-seed.d.ts +1 -10
  136. package/dist/init/phases/3b-seed.js +1 -10
  137. package/dist/init/phases/3b-seed.js.map +1 -1
  138. package/dist/init/phases/4-pilot.js +53 -15
  139. package/dist/init/phases/4-pilot.js.map +1 -1
  140. package/dist/init/phases/5-brand.js +10 -10
  141. package/dist/init/phases/5-brand.js.map +1 -1
  142. package/dist/init/prompts.d.ts +6 -8
  143. package/dist/init/prompts.js +3 -6
  144. package/dist/init/prompts.js.map +1 -1
  145. package/dist/init/rules-merge/ingest.js +1 -1
  146. package/dist/init/source-comments/classify.d.ts +1 -41
  147. package/dist/init/source-comments/classify.js +68 -37
  148. package/dist/init/source-comments/classify.js.map +1 -1
  149. package/dist/init/source-comments/index.d.ts +2 -2
  150. package/dist/init/source-comments/index.js +2 -2
  151. package/dist/init/source-comments/index.js.map +1 -1
  152. package/dist/init/source-comments/ingest.d.ts +38 -2
  153. package/dist/init/source-comments/ingest.js +237 -4
  154. package/dist/init/source-comments/ingest.js.map +1 -1
  155. package/dist/init/source-comments/strip-replace.d.ts +10 -19
  156. package/dist/init/source-comments/strip-replace.js +26 -2
  157. package/dist/init/source-comments/strip-replace.js.map +1 -1
  158. package/dist/init/source-comments/walker.d.ts +9 -2
  159. package/dist/init/source-comments/walker.js +38 -19
  160. package/dist/init/source-comments/walker.js.map +1 -1
  161. package/dist/init/submodules.d.ts +3 -2
  162. package/dist/init/types.d.ts +3 -5
  163. package/dist/init/types.js +3 -5
  164. package/dist/init/types.js.map +1 -1
  165. package/dist/init/visual.d.ts +4 -9
  166. package/dist/init/visual.js +1 -16
  167. package/dist/init/visual.js.map +1 -1
  168. package/dist/logger.d.ts +0 -1
  169. package/dist/logger.js +0 -1
  170. package/dist/logger.js.map +1 -1
  171. package/dist/mcp/context.d.ts +2 -3
  172. package/dist/mcp/context.js.map +1 -1
  173. package/dist/mcp/errors.d.ts +1 -1
  174. package/dist/mcp/errors.js.map +1 -1
  175. package/dist/mcp/history/prompt.d.ts +2 -1
  176. package/dist/mcp/history/walker.js +1 -1
  177. package/dist/mcp/history/walker.js.map +1 -1
  178. package/dist/mcp/path-allowlist.d.ts +0 -6
  179. package/dist/mcp/path-allowlist.js +0 -10
  180. package/dist/mcp/path-allowlist.js.map +1 -1
  181. package/dist/mcp/schemas.d.ts +15 -72
  182. package/dist/mcp/schemas.js +21 -70
  183. package/dist/mcp/schemas.js.map +1 -1
  184. package/dist/mcp/serve.d.ts +1 -1
  185. package/dist/mcp/serve.js +2 -5
  186. package/dist/mcp/serve.js.map +1 -1
  187. package/dist/mcp/server.js +10 -4
  188. package/dist/mcp/server.js.map +1 -1
  189. package/dist/mcp/telemetry.d.ts +8 -1
  190. package/dist/mcp/telemetry.js +16 -0
  191. package/dist/mcp/telemetry.js.map +1 -1
  192. package/dist/mcp/tools/decision-get.js +37 -29
  193. package/dist/mcp/tools/decision-get.js.map +1 -1
  194. package/dist/mcp/tools/decisions-in-scope.js +22 -3
  195. package/dist/mcp/tools/decisions-in-scope.js.map +1 -1
  196. package/dist/mcp/tools/index.js +2 -2
  197. package/dist/mcp/tools/index.js.map +1 -1
  198. package/dist/mcp/tools/invariant-get.js +1 -1
  199. package/dist/mcp/tools/invariant-get.js.map +1 -1
  200. package/dist/mcp/tools/invariants-in-scope.js +26 -7
  201. package/dist/mcp/tools/invariants-in-scope.js.map +1 -1
  202. package/dist/mcp/tools/query-history.js +3 -3
  203. package/dist/mcp/tools/query-history.js.map +1 -1
  204. package/dist/mcp/tools/resolve-attention.d.ts +3 -3
  205. package/dist/mcp/tools/resolve-attention.js +40 -28
  206. package/dist/mcp/tools/resolve-attention.js.map +1 -1
  207. package/dist/mcp/tools/search.js +3 -4
  208. package/dist/mcp/tools/search.js.map +1 -1
  209. package/dist/mcp/tools/task-create.d.ts +15 -0
  210. package/dist/mcp/tools/task-create.js +96 -0
  211. package/dist/mcp/tools/task-create.js.map +1 -0
  212. package/dist/mcp/tools/timeline.js +3 -7
  213. package/dist/mcp/tools/timeline.js.map +1 -1
  214. package/dist/profiles/types.d.ts +1 -1
  215. package/dist/profiles/types.js +1 -1
  216. package/dist/session/id.d.ts +1 -3
  217. package/dist/session/id.js +1 -1
  218. package/dist/session/id.js.map +1 -1
  219. package/dist/session-start/build.d.ts +3 -11
  220. package/dist/session-start/build.js +55 -34
  221. package/dist/session-start/build.js.map +1 -1
  222. package/dist/session-start/index.d.ts +2 -2
  223. package/dist/session-start/index.js +2 -2
  224. package/dist/session-start/index.js.map +1 -1
  225. package/dist/session-start/templates.d.ts +20 -4
  226. package/dist/session-start/templates.js +45 -35
  227. package/dist/session-start/templates.js.map +1 -1
  228. package/dist/status-line/format.d.ts +19 -11
  229. package/dist/status-line/format.js +44 -36
  230. package/dist/status-line/format.js.map +1 -1
  231. package/dist/status-line/index.d.ts +3 -1
  232. package/dist/status-line/index.js +1 -1
  233. package/dist/status-line/index.js.map +1 -1
  234. package/dist/status-line/reader.d.ts +9 -6
  235. package/dist/status-line/reader.js +50 -15
  236. package/dist/status-line/reader.js.map +1 -1
  237. package/dist/status-line/writer.d.ts +5 -0
  238. package/dist/status-line/writer.js +9 -0
  239. package/dist/status-line/writer.js.map +1 -1
  240. package/dist/trace/index.d.ts +44 -0
  241. package/dist/trace/index.js +51 -0
  242. package/dist/trace/index.js.map +1 -0
  243. package/package.json +2 -3
  244. package/templates/.archive/README.md +3 -3
  245. package/templates/.cairn/config/sensors.yaml +16 -19
  246. package/templates/.cairn/config/stub-patterns.yaml +4 -4
  247. package/templates/.cairn/config/trust-policy.yaml +3 -35
  248. package/templates/.cairn/config/workflow.md +13 -194
  249. package/templates/.cairn/git-hooks/commit-msg +1 -1
  250. package/templates/.cairn/ground/canonical-map/topics.yaml +3 -26
  251. package/templates/.cairn/ground/capabilities/snippets.yaml +0 -1
  252. package/templates/.cairn/ground/manifest.yaml +5 -8
  253. package/templates/.cairn/ground/product/personas.yaml +0 -1
  254. package/dist/context/checkpoint.d.ts +0 -11
  255. package/dist/context/checkpoint.js +0 -30
  256. package/dist/context/checkpoint.js.map +0 -1
  257. package/dist/decision-capture/capture.d.ts +0 -57
  258. package/dist/decision-capture/capture.js +0 -186
  259. package/dist/decision-capture/capture.js.map +0 -1
  260. package/dist/decision-capture/extractor.d.ts +0 -20
  261. package/dist/decision-capture/extractor.js +0 -103
  262. package/dist/decision-capture/extractor.js.map +0 -1
  263. package/dist/decision-capture/prompt.d.ts +0 -15
  264. package/dist/decision-capture/prompt.js +0 -68
  265. package/dist/decision-capture/prompt.js.map +0 -1
  266. package/dist/decision-capture/refinement-prompt.d.ts +0 -25
  267. package/dist/decision-capture/refinement-prompt.js +0 -146
  268. package/dist/decision-capture/refinement-prompt.js.map +0 -1
  269. package/dist/decision-capture/refinement-schema.d.ts +0 -52
  270. package/dist/decision-capture/refinement-schema.js +0 -61
  271. package/dist/decision-capture/refinement-schema.js.map +0 -1
  272. package/dist/decision-capture/refinement.d.ts +0 -60
  273. package/dist/decision-capture/refinement.js +0 -439
  274. package/dist/decision-capture/refinement.js.map +0 -1
  275. package/dist/decision-capture/schema.d.ts +0 -70
  276. package/dist/decision-capture/schema.js +0 -71
  277. package/dist/decision-capture/schema.js.map +0 -1
  278. package/dist/decision-capture/types.d.ts +0 -201
  279. package/dist/decision-capture/types.js +0 -20
  280. package/dist/decision-capture/types.js.map +0 -1
  281. package/dist/decision-capture/writer.d.ts +0 -90
  282. package/dist/decision-capture/writer.js +0 -267
  283. package/dist/decision-capture/writer.js.map +0 -1
  284. package/dist/frontend-types.d.ts +0 -243
  285. package/dist/frontend-types.js +0 -15
  286. package/dist/frontend-types.js.map +0 -1
  287. package/dist/hooks/index.d.ts +0 -14
  288. package/dist/hooks/index.js +0 -14
  289. package/dist/hooks/index.js.map +0 -1
  290. package/dist/inbox.d.ts +0 -17
  291. package/dist/inbox.js +0 -30
  292. package/dist/inbox.js.map +0 -1
  293. package/dist/mcp/tools/append-run-note.d.ts +0 -18
  294. package/dist/mcp/tools/append-run-note.js +0 -54
  295. package/dist/mcp/tools/append-run-note.js.map +0 -1
  296. package/dist/mcp/tools/append.d.ts +0 -8
  297. package/dist/mcp/tools/append.js +0 -37
  298. package/dist/mcp/tools/append.js.map +0 -1
  299. package/dist/mcp/tools/ask-operator.d.ts +0 -34
  300. package/dist/mcp/tools/ask-operator.js +0 -97
  301. package/dist/mcp/tools/ask-operator.js.map +0 -1
  302. package/dist/mcp/tools/drop-task.d.ts +0 -12
  303. package/dist/mcp/tools/drop-task.js +0 -68
  304. package/dist/mcp/tools/drop-task.js.map +0 -1
  305. package/dist/mcp/tools/record-run-event.d.ts +0 -10
  306. package/dist/mcp/tools/record-run-event.js +0 -32
  307. package/dist/mcp/tools/record-run-event.js.map +0 -1
  308. package/dist/prompt.d.ts +0 -19
  309. package/dist/prompt.js +0 -50
  310. package/dist/prompt.js.map +0 -1
  311. package/dist/tier0/classify.d.ts +0 -10
  312. package/dist/tier0/classify.js +0 -110
  313. package/dist/tier0/classify.js.map +0 -1
  314. package/dist/tier0/index.d.ts +0 -2
  315. package/dist/tier0/index.js +0 -2
  316. package/dist/tier0/index.js.map +0 -1
  317. package/dist/tier0/types.d.ts +0 -24
  318. package/dist/tier0/types.js +0 -9
  319. package/dist/tier0/types.js.map +0 -1
  320. package/dist/tightener/index.d.ts +0 -4
  321. package/dist/tightener/index.js +0 -4
  322. package/dist/tightener/index.js.map +0 -1
  323. package/dist/tightener/prompt.d.ts +0 -3
  324. package/dist/tightener/prompt.js +0 -67
  325. package/dist/tightener/prompt.js.map +0 -1
  326. package/dist/tightener/schema.d.ts +0 -68
  327. package/dist/tightener/schema.js +0 -44
  328. package/dist/tightener/schema.js.map +0 -1
  329. package/dist/tightener/tighten.d.ts +0 -2
  330. package/dist/tightener/tighten.js +0 -66
  331. package/dist/tightener/tighten.js.map +0 -1
  332. package/dist/tightener/types.d.ts +0 -74
  333. package/dist/tightener/types.js +0 -6
  334. package/dist/tightener/types.js.map +0 -1
  335. package/templates/.claude/settings.json +0 -57
  336. package/templates/.mcp.json +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/init/source-comments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAQrB,OAAO,EACL,cAAc,EACd,SAAS,IAAI,iBAAiB,GAC/B,MAAM,eAAe,CAAC;AAOvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAKzD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,IAAI,qBAAqB,GACnC,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/init/source-comments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAO/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAKzD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -4,8 +4,12 @@
4
4
  * Output:
5
5
  * - DEC drafts (one per "rationale" classification with non-empty title)
6
6
  * written to `.cairn/ground/decisions/_inbox/<id>.draft.md`
7
- * - Invariant proposals appended to
8
- * `.cairn/baseline/invariant-proposals-<ISO>.yaml`
7
+ * - Invariant files (one per "constraint" classification with non-empty
8
+ * suggestedInvariant) written directly to
9
+ * `.cairn/ground/invariants/INV-<NNNN>.md` with `status: active`. Auto-
10
+ * promote — the operator can edit / supersede via cairn-attention or
11
+ * direct edit. Invariants don't go through an `_inbox/` review queue
12
+ * because the classifier emits hard rules, not policy decisions.
9
13
  * - Canonical-map citations appended to
10
14
  * `.cairn/baseline/canonical-citations-<ISO>.yaml`
11
15
  * - Full audit (every block + classification) at
@@ -35,6 +39,38 @@ export interface IngestSourceCommentsResult {
35
39
  path: string;
36
40
  sourceFile: string;
37
41
  }[];
42
+ /**
43
+ * INV-<NNNN>.md files written directly to `.cairn/ground/invariants/`
44
+ * with `status: active`. The cairn-adopt summary surfaces the count.
45
+ */
46
+ invariantsWritten: {
47
+ id: string;
48
+ path: string;
49
+ sourceFile: string;
50
+ }[];
51
+ /** Files where the source comment was successfully replaced with `// §INV-NNNN`. */
52
+ invariantStripFilesModified: number;
53
+ /** Number of strip items that landed (one per invariant comment). */
54
+ invariantStripItemsApplied: number;
55
+ /** Number of strip items that skipped (range-mismatch, dirty, missing, etc.). */
56
+ invariantStripItemsSkipped: number;
57
+ /** Per-file strip outcomes — debug surface for "wrote ground state but not source". */
58
+ invariantStripOutcomes: {
59
+ file: string;
60
+ applied: number;
61
+ skipped: {
62
+ blockId: string;
63
+ reason: string;
64
+ }[];
65
+ fileSkipReason: string | null;
66
+ }[];
67
+ /** Set when applyStripReplace threw — null on the happy path. */
68
+ invariantStripError: string | null;
69
+ /**
70
+ * Count of "constraint" classifications regardless of whether they
71
+ * produced a non-empty suggestedInvariant. Always equals
72
+ * invariantsWritten.length when no proposals had empty bodies.
73
+ */
38
74
  invariantProposalsAdded: number;
39
75
  canonicalCitationsAdded: number;
40
76
  auditPath: string;
@@ -4,8 +4,12 @@
4
4
  * Output:
5
5
  * - DEC drafts (one per "rationale" classification with non-empty title)
6
6
  * written to `.cairn/ground/decisions/_inbox/<id>.draft.md`
7
- * - Invariant proposals appended to
8
- * `.cairn/baseline/invariant-proposals-<ISO>.yaml`
7
+ * - Invariant files (one per "constraint" classification with non-empty
8
+ * suggestedInvariant) written directly to
9
+ * `.cairn/ground/invariants/INV-<NNNN>.md` with `status: active`. Auto-
10
+ * promote — the operator can edit / supersede via cairn-attention or
11
+ * direct edit. Invariants don't go through an `_inbox/` review queue
12
+ * because the classifier emits hard rules, not policy decisions.
9
13
  * - Canonical-map citations appended to
10
14
  * `.cairn/baseline/canonical-citations-<ISO>.yaml`
11
15
  * - Full audit (every block + classification) at
@@ -15,9 +19,12 @@
15
19
  import { mkdirSync, writeFileSync } from "node:fs";
16
20
  import { dirname, join } from "node:path";
17
21
  import { stringify as stringifyYaml } from "yaml";
18
- import { allocateDecisionId, scanExistingDecisionIds, } from "../../decision-capture/id.js";
19
- import { decisionsDir } from "../../ground/paths.js";
22
+ import { allocateDecisionId, allocateInvariantId, scanExistingDecisionIds, scanExistingInvariantIds, } from "../../decision-capture/id.js";
23
+ import { writeInvariantsLedger } from "../../ground/ledgers.js";
24
+ import { decisionsDir, invariantsDir } from "../../ground/paths.js";
25
+ import { coerceInvariantIds, readScopeIndex, writeScopeIndex, } from "../../ground/scope-index.js";
20
26
  import { logger } from "../../logger.js";
27
+ import { applyStripReplace, formatBareCitation, } from "./strip-replace.js";
21
28
  import { classifyBlocks } from "./classify.js";
22
29
  import { walkSourceComments } from "./walker.js";
23
30
  const log = logger("init.source-comments.ingest");
@@ -56,9 +63,16 @@ export async function runSourceCommentsIngestion(args) {
56
63
  kindCounts[c.kind] = (kindCounts[c.kind] ?? 0) + 1;
57
64
  }
58
65
  const decDraftsWritten = [];
66
+ const invariantsWritten = [];
59
67
  const invariantProposals = [];
60
68
  const canonicalCitations = [];
69
+ // Strip-replace items collected during the classification loop —
70
+ // applied in one batch at the end so a single dirty-check round
71
+ // covers all files. Each item points at the original constraint
72
+ // comment block; replacement is `// §INV-NNNN`.
73
+ const invariantStripItems = [];
61
74
  const existingIds = scanExistingDecisionIds(repoRoot);
75
+ const existingInvariantIds = scanExistingInvariantIds(repoRoot);
62
76
  for (let i = 0; i < walk.blocks.length; i++) {
63
77
  const block = walk.blocks[i];
64
78
  const cls = classifyResult.classifications[i];
@@ -98,6 +112,41 @@ export async function runSourceCommentsIngestion(args) {
98
112
  proposed: cls.suggestedInvariant,
99
113
  canonical_topic: cls.suggestedCanonicalTopic,
100
114
  });
115
+ const invId = allocateInvariantId(repoRoot, existingInvariantIds);
116
+ existingInvariantIds.add(invId);
117
+ if (args.dryRun !== true) {
118
+ const written = writeInvariantFile({
119
+ repoRoot,
120
+ id: invId,
121
+ block,
122
+ classification: cls,
123
+ generatedAt: nowIso,
124
+ });
125
+ invariantsWritten.push({
126
+ id: invId,
127
+ path: written.relPath,
128
+ sourceFile: block.file,
129
+ });
130
+ }
131
+ else {
132
+ invariantsWritten.push({
133
+ id: invId,
134
+ path: `.cairn/ground/invariants/${invId}.md`,
135
+ sourceFile: block.file,
136
+ });
137
+ }
138
+ // Stage strip-replace for the source comment so the file ends
139
+ // up carrying `// §INV-NNNN` (or `# §INV-NNNN` in hash-comment
140
+ // languages) instead of the original essay block. Run after
141
+ // the loop so all items go through one applyStripReplace pass.
142
+ invariantStripItems.push({
143
+ blockId: block.id,
144
+ file: block.file,
145
+ startOffset: block.startOffset,
146
+ endOffset: block.endOffset,
147
+ replacement: formatBareCitation(block.lang, invId),
148
+ expectedRaw: block.raw,
149
+ });
101
150
  }
102
151
  if (cls.kind === "citation" && cls.suggestedCanonicalTopic.length > 0) {
103
152
  canonicalCitations.push({
@@ -118,6 +167,8 @@ export async function runSourceCommentsIngestion(args) {
118
167
  writeYaml(auditPath, {
119
168
  run_at: nowIso,
120
169
  files_scanned: walk.files.length,
170
+ files_available: walk.filesAvailable,
171
+ ...(walk.truncatedAtFileCap ? { truncated_at_file_cap: true } : {}),
121
172
  blocks_detected: walk.blocks.length,
122
173
  bytes_scanned: walk.bytesScanned,
123
174
  file_count_by_lang: walk.fileCountByLang,
@@ -138,6 +189,7 @@ export async function runSourceCommentsIngestion(args) {
138
189
  word_count: b.wordCount,
139
190
  start_offset: b.startOffset,
140
191
  end_offset: b.endOffset,
192
+ raw: b.raw,
141
193
  classification: classifyResult.classifications[idx] ?? null,
142
194
  })),
143
195
  });
@@ -168,10 +220,88 @@ export async function runSourceCommentsIngestion(args) {
168
220
  inputTokens: classifyResult.inputTokens,
169
221
  outputTokens: classifyResult.outputTokens,
170
222
  }, "source-comments ingestion complete");
223
+ // Rebuild the invariants ledger after writing new INV-<NNNN>.md files so
224
+ // that §INV-NNNN tokens are resolvable before the strip-replace stage writes
225
+ // bare citations into source. Lens + MCP read tools resolve through the
226
+ // ledger, not by re-walking the dir.
227
+ if (args.dryRun !== true && invariantsWritten.length > 0) {
228
+ try {
229
+ writeInvariantsLedger({ repoRoot });
230
+ }
231
+ catch (err) {
232
+ log.warn({ err: err instanceof Error ? err.message : String(err) }, "invariants ledger rebuild failed");
233
+ }
234
+ }
235
+ // Strip the original constraint comment from each source file and
236
+ // replace with a bare `// §INV-NNNN` cite. Adoption assumes a clean
237
+ // working tree (init phase 1's preflight); pass `overwrite` for
238
+ // every file so dirty-skip doesn't bite us — the operator
239
+ // consented to source mutation when they consented to adoption.
240
+ let invariantStripFilesModified = 0;
241
+ let invariantStripItemsApplied = 0;
242
+ let invariantStripItemsSkipped = 0;
243
+ let invariantStripOutcomes = [];
244
+ let invariantStripError = null;
245
+ if (args.dryRun !== true && invariantStripItems.length > 0) {
246
+ log.info({
247
+ items: invariantStripItems.length,
248
+ files: [...new Set(invariantStripItems.map((it) => it.file))],
249
+ }, "invariant strip-replace: starting");
250
+ try {
251
+ const dirtyDecisions = {};
252
+ for (const item of invariantStripItems)
253
+ dirtyDecisions[item.file] = "overwrite";
254
+ const result = applyStripReplace({
255
+ repoRoot,
256
+ items: invariantStripItems,
257
+ dirtyDecisions,
258
+ });
259
+ invariantStripFilesModified = result.filesModified;
260
+ invariantStripItemsApplied = result.itemsApplied;
261
+ invariantStripItemsSkipped = result.itemsSkipped;
262
+ invariantStripOutcomes = result.files.map((o) => ({
263
+ file: o.file,
264
+ applied: o.itemsApplied,
265
+ skipped: o.itemsSkipped.map((s) => ({ blockId: s.blockId, reason: s.reason })),
266
+ fileSkipReason: o.fileSkipReason ?? null,
267
+ }));
268
+ log.info({
269
+ filesModified: result.filesModified,
270
+ itemsApplied: result.itemsApplied,
271
+ itemsSkipped: result.itemsSkipped,
272
+ outcomes: invariantStripOutcomes,
273
+ }, "invariant strip-replace: complete");
274
+ // Now that we know which §INV-NNNN landed in which file, populate
275
+ // the scope-index for those files. Phase 3 mapper ran before any
276
+ // invariants existed, so its scope_index entries for these files
277
+ // had empty `invariants: []` arrays. Without this update the
278
+ // read-enricher legend's "Invariants in scope" header stays blank
279
+ // even though the source carries the cite tokens.
280
+ try {
281
+ updateScopeIndexFromStripItems(repoRoot, invariantStripItems);
282
+ }
283
+ catch (err) {
284
+ log.warn({ err: err instanceof Error ? err.message : String(err) }, "scope-index update from strip items failed");
285
+ }
286
+ }
287
+ catch (err) {
288
+ invariantStripError = err instanceof Error ? err.message : String(err);
289
+ log.warn({ err: invariantStripError }, "invariant strip-replace failed");
290
+ }
291
+ }
292
+ else if (invariantStripItems.length === 0) {
293
+ log.info("invariant strip-replace: no items (no constraint blocks classified)");
294
+ }
171
295
  return {
172
296
  walk,
173
297
  classifications: classifyResult.classifications,
174
298
  decDraftsWritten,
299
+ invariantsWritten,
300
+ invariantStripFilesModified,
301
+ invariantStripItemsApplied,
302
+ invariantStripItemsSkipped,
303
+ invariantStripOutcomes,
304
+ invariantStripError,
175
305
  invariantProposalsAdded: invariantProposals.length,
176
306
  canonicalCitationsAdded: canonicalCitations.length,
177
307
  auditPath,
@@ -185,6 +315,69 @@ export async function runSourceCommentsIngestion(args) {
185
315
  kindCounts,
186
316
  };
187
317
  }
318
+ /* -------------------------------------------------------------------------- */
319
+ /* Scope-index post-population */
320
+ /* -------------------------------------------------------------------------- */
321
+ /**
322
+ * After the strip-replace pass inserts `// §INV-NNNN` cites into source
323
+ * files, fold those IDs into `.cairn/ground/scope-index.yaml`. The Phase
324
+ * 3 mapper that originally seeded scope-index ran before any invariants
325
+ * existed, so its `invariants: []` arrays for these files were correctly
326
+ * empty. Now that the cite tokens are landed, the read-enricher's
327
+ * "Invariants in scope" header should reflect them.
328
+ *
329
+ * Each file's existing invariants array gets unioned with the new IDs,
330
+ * de-duplicated, and re-coerced (defense-in-depth). Files absent from
331
+ * the scope-index get a fresh entry. Decisions arrays are left
332
+ * untouched — DEC strips happen at accept-time via cairn-attention,
333
+ * not in this Phase 7b bulk pass.
334
+ */
335
+ function updateScopeIndexFromStripItems(repoRoot, items) {
336
+ if (items.length === 0)
337
+ return;
338
+ const idsByFile = new Map();
339
+ const idMatch = /§(INV-\d{4,})/;
340
+ for (const item of items) {
341
+ const m = item.replacement.match(idMatch);
342
+ if (m === null)
343
+ continue;
344
+ const id = m[1];
345
+ if (id === undefined)
346
+ continue;
347
+ let set = idsByFile.get(item.file);
348
+ if (set === undefined) {
349
+ set = new Set();
350
+ idsByFile.set(item.file, set);
351
+ }
352
+ set.add(id);
353
+ }
354
+ if (idsByFile.size === 0)
355
+ return;
356
+ const existing = readScopeIndex(repoRoot) ?? {
357
+ generated: new Date().toISOString(),
358
+ files: {},
359
+ };
360
+ for (const [file, ids] of idsByFile) {
361
+ const prior = existing.files[file];
362
+ const merged = coerceInvariantIds([
363
+ ...(prior?.invariants ?? []),
364
+ ...ids,
365
+ ]);
366
+ const next = {
367
+ decisions: prior?.decisions ?? [],
368
+ invariants: merged,
369
+ };
370
+ if (prior?.unscoped === true)
371
+ next.unscoped = true;
372
+ existing.files[file] = next;
373
+ }
374
+ const updated = {
375
+ generated: new Date().toISOString(),
376
+ files: existing.files,
377
+ };
378
+ writeScopeIndex(repoRoot, updated);
379
+ log.info({ files: idsByFile.size }, "scope-index updated with §INV cite tokens from strip-replace");
380
+ }
188
381
  function writeDecDraft(args) {
189
382
  const dir = decisionsDir(args.repoRoot);
190
383
  const inboxDir = join(dir, "_inbox");
@@ -229,6 +422,46 @@ function writeDecDraft(args) {
229
422
  writeFileSync(abs, lines.join("\n"), "utf8");
230
423
  return { absPath: abs, relPath: rel };
231
424
  }
425
+ function writeInvariantFile(args) {
426
+ const dir = invariantsDir(args.repoRoot);
427
+ mkdirSync(dir, { recursive: true });
428
+ const filename = `${args.id}.md`;
429
+ const abs = join(dir, filename);
430
+ const rel = `.cairn/ground/invariants/${filename}`;
431
+ const fm = {
432
+ id: args.id,
433
+ title: args.classification.suggestedInvariant.split("\n")[0]?.slice(0, 120) ?? args.id,
434
+ type: "invariant",
435
+ status: "active",
436
+ audience: "dual",
437
+ generated: args.generatedAt,
438
+ "verified-at": args.generatedAt,
439
+ source_decision: null,
440
+ sourceFile: args.block.file,
441
+ sourceRange: `${args.block.startLine}-${args.block.endLine}`,
442
+ blockId: args.block.id,
443
+ canonicalTopic: args.classification.suggestedCanonicalTopic,
444
+ };
445
+ const lines = [];
446
+ lines.push("---");
447
+ lines.push(stringifyYaml(fm).trimEnd());
448
+ lines.push("---");
449
+ lines.push("");
450
+ lines.push(`# §${args.id} — ${fm["title"]}`);
451
+ lines.push("");
452
+ lines.push("## Constraint");
453
+ lines.push("");
454
+ lines.push(args.classification.suggestedInvariant.trim());
455
+ lines.push("");
456
+ lines.push("## Source comment");
457
+ lines.push("");
458
+ lines.push("```");
459
+ lines.push(args.block.raw);
460
+ lines.push("```");
461
+ lines.push("");
462
+ writeFileSync(abs, lines.join("\n"), "utf8");
463
+ return { absPath: abs, relPath: rel };
464
+ }
232
465
  function writeYaml(path, payload) {
233
466
  mkdirSync(dirname(path), { recursive: true });
234
467
  writeFileSync(path, stringifyYaml(payload), "utf8");
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../src/init/source-comments/ingest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAM/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,GAAG,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;AAkClD,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,IAA8B;IAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,MAAM,QAAQ,GAAgB,EAAE,QAAQ,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,WAAW,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5C,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAC9C,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9C,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IAClD,CAAC;IACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE1C,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC;QAC1C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,UAAU,GAAqC;QACnD,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,CAAC;KACT,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,eAAe,EAAE,CAAC;QAC/C,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,gBAAgB,GAAuD,EAAE,CAAC;IAChF,MAAM,kBAAkB,GAAwB,EAAE,CAAC;IACnD,MAAM,kBAAkB,GAAwB,EAAE,CAAC;IAEnD,MAAM,WAAW,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAEvD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACrD,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,aAAa,CAAC;oBAC5B,QAAQ;oBACR,EAAE;oBACF,KAAK;oBACL,cAAc,EAAE,GAAG;oBACnB,WAAW,EAAE,MAAM;iBACpB,CAAC,CAAC;gBACH,gBAAgB,CAAC,IAAI,CAAC;oBACpB,EAAE;oBACF,IAAI,EAAE,OAAO,CAAC,OAAO;oBACrB,UAAU,EAAE,KAAK,CAAC,IAAI;iBACvB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,IAAI,CAAC;oBACpB,EAAE;oBACF,IAAI,EAAE,kCAAkC,EAAE,WAAW;oBACrD,UAAU,EAAE,KAAK,CAAC,IAAI;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,kBAAkB,CAAC,IAAI,CAAC;gBACtB,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAClB,WAAW,EAAE,KAAK,CAAC,IAAI;gBACvB,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO;gBACvB,QAAQ,EAAE,GAAG,CAAC,kBAAkB;gBAChC,eAAe,EAAE,GAAG,CAAC,uBAAuB;aAC7C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,kBAAkB,CAAC,IAAI,CAAC;gBACtB,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAClB,WAAW,EAAE,KAAK,CAAC,IAAI;gBACvB,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO;gBACvB,KAAK,EAAE,GAAG,CAAC,uBAAuB;gBAClC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,mCAAmC,MAAM,OAAO,CAAC;IACtE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,IAAI,sBAAsB,GAAkB,IAAI,CAAC;IACjD,IAAI,sBAAsB,GAAkB,IAAI,CAAC;IAEjD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,SAAS,CAAC,SAAS,EAAE;YACnB,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YAChC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YACnC,aAAa,EAAE,IAAI,CAAC,YAAY;YAChC,kBAAkB,EAAE,IAAI,CAAC,eAAe;YACxC,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,cAAc,CAAC,UAAU;YACtC,cAAc,EAAE,cAAc,CAAC,aAAa;YAC5C,YAAY,EAAE,cAAc,CAAC,WAAW;YACxC,aAAa,EAAE,cAAc,CAAC,YAAY;YAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACnC,QAAQ,EAAE,CAAC,CAAC,EAAE;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,CAAC,CAAC,SAAS;gBACvB,QAAQ,EAAE,CAAC,CAAC,OAAO;gBACnB,UAAU,EAAE,CAAC,CAAC,SAAS;gBACvB,UAAU,EAAE,CAAC,CAAC,SAAS;gBACvB,UAAU,EAAE,CAAC,CAAC,SAAS;gBACvB,YAAY,EAAE,CAAC,CAAC,WAAW;gBAC3B,UAAU,EAAE,CAAC,CAAC,SAAS;gBACvB,cAAc,EAAE,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,IAAI;aAC5D,CAAC,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,uCAAuC,MAAM,OAAO,CAAC;YACjE,sBAAsB,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC7C,SAAS,CAAC,sBAAsB,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,kBAAkB;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,uCAAuC,MAAM,OAAO,CAAC;YACjE,sBAAsB,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC7C,SAAS,CAAC,sBAAsB,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,kBAAkB;aAC9B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,CACN;QACE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;QAC1B,UAAU;QACV,SAAS,EAAE,gBAAgB,CAAC,MAAM;QAClC,kBAAkB,EAAE,kBAAkB,CAAC,MAAM;QAC7C,kBAAkB,EAAE,kBAAkB,CAAC,MAAM;QAC7C,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,YAAY,EAAE,cAAc,CAAC,YAAY;KAC1C,EACD,oCAAoC,CACrC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,eAAe,EAAE,cAAc,CAAC,eAAe;QAC/C,gBAAgB;QAChB,uBAAuB,EAAE,kBAAkB,CAAC,MAAM;QAClD,uBAAuB,EAAE,kBAAkB,CAAC,MAAM;QAClD,SAAS;QACT,YAAY;QACZ,sBAAsB;QACtB,sBAAsB;QACtB,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,YAAY,EAAE,cAAc,CAAC,YAAY;QACzC,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,aAAa,EAAE,cAAc,CAAC,aAAa;QAC3C,UAAU;KACX,CAAC;AACJ,CAAC;AAgCD,SAAS,aAAa,CAAC,IAAuB;IAC5C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,EAAE,WAAW,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,kCAAkC,QAAQ,EAAE,CAAC;IACzD,MAAM,EAAE,GAA4B;QAClC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,iBAAiB,IAAI,oBAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG;QACtF,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,2BAA2B;QACnC,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,IAAI,CAAC,WAAW;QAC3B,aAAa,EAAE,IAAI,CAAC,WAAW;QAC/B,UAAU,EAAE,IAAI,CAAC,WAAW;QAC5B,UAAU,EAAE,YAAY;QACxB,cAAc,EAAE,sBAAsB;QACtC,kBAAkB,EAAE,QAAQ;QAC5B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;QAC3B,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAC5D,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;QACtB,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,uBAAuB;KAC5D,CAAC;IACF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,CAAW,EAAE,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,OAAgB;IAC/C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../src/init/source-comments/ingest.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Mechanical only. Never LLM-rewritten. Inputs are `ReplaceItem[]` produced
5
5
  * by the caller from a `source-comments-<ISO>.yaml` audit + a resolution map
6
- * (which §V or TSK to cite). Per-file consent + backup + diff preview is the
6
+ * (which §INV or TSK to cite). Per-file consent + backup + diff preview is the
7
7
  * caller's responsibility (the skill that surfaces inline A/B/C). This module
8
8
  * owns the safety and replacement primitives:
9
9
  *
@@ -27,7 +27,7 @@ export interface ReplaceItem {
27
27
  endOffset: number;
28
28
  /**
29
29
  * Replacement comment text. Caller composes per spec §15:
30
- * - "// §V<N>" for invariant cites
30
+ * - "// §INV-NNNN" for invariant cites
31
31
  * - "// TODO(TSK-<id>)" for active-task links
32
32
  * - leave undefined (item omitted entirely) to skip stripping a block
33
33
  *
@@ -36,6 +36,13 @@ export interface ReplaceItem {
36
36
  replacement: string;
37
37
  /** Default true — strip the original block & re-indent the replacement. */
38
38
  preserveIndent?: boolean;
39
+ /**
40
+ * Bytes the audit captured at [startOffset, endOffset). When present,
41
+ * applyToFileContent skips the item with reason `range-mismatch` if
42
+ * the file has been edited between the audit and the strip — protects
43
+ * against silently corrupting unrelated source on stale offsets.
44
+ */
45
+ expectedRaw?: string;
39
46
  }
40
47
  export interface StripReplaceArgs {
41
48
  repoRoot: string;
@@ -87,20 +94,4 @@ export declare function previewStripReplace(args: {
87
94
  before: string;
88
95
  after: string;
89
96
  }[];
90
- declare function detectOverlaps(items: ReplaceItem[]): string[];
91
- interface ApplyOutcome {
92
- content: string;
93
- applied: number;
94
- skipped: {
95
- blockId: string;
96
- reason: SkipReason;
97
- }[];
98
- }
99
- declare function applyToFileContent(original: string, items: ReplaceItem[]): ApplyOutcome;
100
- declare function leadingIndent(body: string, offset: number): string;
101
- export declare const _internal: {
102
- applyToFileContent: typeof applyToFileContent;
103
- detectOverlaps: typeof detectOverlaps;
104
- leadingIndent: typeof leadingIndent;
105
- };
106
- export {};
97
+ export declare function formatBareCitation(lang: string, symbolId: string): string;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Mechanical only. Never LLM-rewritten. Inputs are `ReplaceItem[]` produced
5
5
  * by the caller from a `source-comments-<ISO>.yaml` audit + a resolution map
6
- * (which §V or TSK to cite). Per-file consent + backup + diff preview is the
6
+ * (which §INV or TSK to cite). Per-file consent + backup + diff preview is the
7
7
  * caller's responsibility (the skill that surfaces inline A/B/C). This module
8
8
  * owns the safety and replacement primitives:
9
9
  *
@@ -167,6 +167,23 @@ export function previewStripReplace(args) {
167
167
  }
168
168
  return out;
169
169
  }
170
+ /**
171
+ * Build a bare-symbol citation comment for a given language + symbol id.
172
+ *
173
+ * §DEC-0042 → `// §DEC-0042` in C-like languages
174
+ * §DEC-0042 → `# §DEC-0042` in py / rb / sh / lua
175
+ *
176
+ * Single source of truth for citation formatting — both phase 7b's
177
+ * inline invariant strip-replace and the post-DEC-accept strip in
178
+ * `cairn_resolve_attention` resolve through this helper so the two
179
+ * paths stay consistent.
180
+ */
181
+ const HASH_LANGS = new Set(["py", "rb", "sh", "lua"]);
182
+ export function formatBareCitation(lang, symbolId) {
183
+ if (HASH_LANGS.has(lang))
184
+ return `# §${symbolId}`;
185
+ return `// §${symbolId}`;
186
+ }
170
187
  /* -------------------------------------------------------------------------- */
171
188
  /* Internals */
172
189
  /* -------------------------------------------------------------------------- */
@@ -206,6 +223,13 @@ function applyToFileContent(original, items) {
206
223
  skipped.push({ blockId: it.blockId, reason: "range-mismatch" });
207
224
  continue;
208
225
  }
226
+ if (it.expectedRaw !== undefined &&
227
+ content.slice(it.startOffset, it.endOffset) !== it.expectedRaw) {
228
+ // The file changed between the audit run and now — strip would
229
+ // overwrite unrelated bytes. Skip safely.
230
+ skipped.push({ blockId: it.blockId, reason: "range-mismatch" });
231
+ continue;
232
+ }
209
233
  const indent = leadingIndent(content, it.startOffset);
210
234
  const preserve = it.preserveIndent !== false;
211
235
  const replacement = preserve ? `${indent}${it.replacement}` : it.replacement;
@@ -276,7 +300,7 @@ function stashFile(repoRoot, relFile, dryRun) {
276
300
  return false;
277
301
  }
278
302
  }
279
- export const _internal = {
303
+ const _internal = {
280
304
  applyToFileContent,
281
305
  detectOverlaps,
282
306
  leadingIndent,
@@ -1 +1 @@
1
- {"version":3,"file":"strip-replace.js","sourceRoot":"","sources":["../../../src/init/source-comments/strip-replace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strip-replace.js","sourceRoot":"","sources":["../../../src/init/source-comments/strip-replace.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,11 @@ export interface CommentBlock {
42
42
  }
43
43
  export interface WalkOptions {
44
44
  repoRoot: string;
45
- /** Cap on files to read; default unlimited (full repo per spec). */
45
+ /**
46
+ * Cap on files to read. Defaults to DEFAULT_FILE_CAP (5_000) so adoption
47
+ * on a 50k-file repo doesn't read the whole tree into memory. Pass
48
+ * Number.POSITIVE_INFINITY to disable the cap explicitly.
49
+ */
46
50
  fileCap?: number;
47
51
  /** When set, only walk these paths (repo-relative). Used by tests. */
48
52
  onlyFiles?: string[];
@@ -54,6 +58,10 @@ export interface WalkResult {
54
58
  fileCountByLang: Record<string, number>;
55
59
  /** Total raw chars scanned. */
56
60
  bytesScanned: number;
61
+ /** Total source files discovered before the cap was applied. */
62
+ filesAvailable: number;
63
+ /** True when the file count hit the cap and was sliced. */
64
+ truncatedAtFileCap: boolean;
57
65
  }
58
66
  export declare function walkSourceComments(opts: WalkOptions): WalkResult;
59
67
  export declare function detectLang(file: string): CommentLang;
@@ -62,4 +70,3 @@ export declare const HEURISTIC: {
62
70
  MIN_CHARS: number;
63
71
  MIN_JSDOC_WORDS: number;
64
72
  };
65
- export declare function _existsForTest(p: string): boolean;