@isaacriehm/cairn-core 0.21.0 → 0.22.1

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 (252) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/align-undo/log.js +3 -2
  3. package/dist/align-undo/log.js.map +1 -1
  4. package/dist/attention/source-strip.js +2 -1
  5. package/dist/attention/source-strip.js.map +1 -1
  6. package/dist/components/emit.js +33 -6
  7. package/dist/components/emit.js.map +1 -1
  8. package/dist/components/freshness.d.ts +51 -0
  9. package/dist/components/freshness.js +121 -0
  10. package/dist/components/freshness.js.map +1 -0
  11. package/dist/components/index.d.ts +4 -0
  12. package/dist/components/index.js +2 -0
  13. package/dist/components/index.js.map +1 -1
  14. package/dist/components/reconfirm.d.ts +64 -0
  15. package/dist/components/reconfirm.js +204 -0
  16. package/dist/components/reconfirm.js.map +1 -0
  17. package/dist/context/handoff-builder.js +3 -3
  18. package/dist/context/handoff-builder.js.map +1 -1
  19. package/dist/context/task-summary.js +2 -2
  20. package/dist/context/task-summary.js.map +1 -1
  21. package/dist/doctor/index.js +7 -7
  22. package/dist/doctor/index.js.map +1 -1
  23. package/dist/events/paths.js +2 -2
  24. package/dist/events/paths.js.map +1 -1
  25. package/dist/fix-align/sentinel.js +2 -3
  26. package/dist/fix-align/sentinel.js.map +1 -1
  27. package/dist/gc/attested-commits.js +2 -2
  28. package/dist/gc/attested-commits.js.map +1 -1
  29. package/dist/gc/canary.js +2 -3
  30. package/dist/gc/canary.js.map +1 -1
  31. package/dist/gc/citation-integrity.d.ts +2 -3
  32. package/dist/gc/citation-integrity.js +2 -26
  33. package/dist/gc/citation-integrity.js.map +1 -1
  34. package/dist/gc/completion-integrity.js +4 -3
  35. package/dist/gc/completion-integrity.js.map +1 -1
  36. package/dist/gc/entity-orphan.js +60 -8
  37. package/dist/gc/entity-orphan.js.map +1 -1
  38. package/dist/gc/ghost-anchor.d.ts +57 -0
  39. package/dist/gc/ghost-anchor.js +171 -0
  40. package/dist/gc/ghost-anchor.js.map +1 -0
  41. package/dist/gc/index.d.ts +2 -0
  42. package/dist/gc/index.js +1 -0
  43. package/dist/gc/index.js.map +1 -1
  44. package/dist/gc/runtime-prune.d.ts +59 -0
  45. package/dist/gc/runtime-prune.js +232 -0
  46. package/dist/gc/runtime-prune.js.map +1 -0
  47. package/dist/gc/sweep.js +18 -0
  48. package/dist/gc/sweep.js.map +1 -1
  49. package/dist/gc/types.d.ts +1 -1
  50. package/dist/hooks/bypass-detection.js +3 -2
  51. package/dist/hooks/bypass-detection.js.map +1 -1
  52. package/dist/hooks/defer.js +3 -2
  53. package/dist/hooks/defer.js.map +1 -1
  54. package/dist/hooks/ghost-backup.d.ts +37 -0
  55. package/dist/hooks/ghost-backup.js +82 -0
  56. package/dist/hooks/ghost-backup.js.map +1 -0
  57. package/dist/hooks/post-tool-use/allowlist-reader.js +2 -2
  58. package/dist/hooks/post-tool-use/allowlist-reader.js.map +1 -1
  59. package/dist/hooks/post-tool-use/ask-user-blocked.js +2 -2
  60. package/dist/hooks/post-tool-use/ask-user-blocked.js.map +1 -1
  61. package/dist/hooks/post-tool-use/citation-scanner.d.ts +8 -6
  62. package/dist/hooks/post-tool-use/citation-scanner.js +9 -14
  63. package/dist/hooks/post-tool-use/citation-scanner.js.map +1 -1
  64. package/dist/hooks/post-tool-use/legend-builder.d.ts +2 -2
  65. package/dist/hooks/post-tool-use/legend-builder.js +1 -19
  66. package/dist/hooks/post-tool-use/legend-builder.js.map +1 -1
  67. package/dist/hooks/post-tool-use/post-write.js +18 -1
  68. package/dist/hooks/post-tool-use/post-write.js.map +1 -1
  69. package/dist/hooks/post-tool-use/read-enricher.d.ts +2 -2
  70. package/dist/hooks/post-tool-use/read-enricher.js +4 -6
  71. package/dist/hooks/post-tool-use/read-enricher.js.map +1 -1
  72. package/dist/hooks/post-tool-use/sot-align.js +29 -3
  73. package/dist/hooks/post-tool-use/sot-align.js.map +1 -1
  74. package/dist/hooks/post-tool-use/write-guardian.js +4 -4
  75. package/dist/hooks/post-tool-use/write-guardian.js.map +1 -1
  76. package/dist/hooks/runners/context-threshold.js +3 -3
  77. package/dist/hooks/runners/context-threshold.js.map +1 -1
  78. package/dist/hooks/runners/payload.js +2 -1
  79. package/dist/hooks/runners/payload.js.map +1 -1
  80. package/dist/hooks/runners/phase-ready-surface.js +3 -2
  81. package/dist/hooks/runners/phase-ready-surface.js.map +1 -1
  82. package/dist/hooks/runners/session-start.js +124 -5
  83. package/dist/hooks/runners/session-start.js.map +1 -1
  84. package/dist/hooks/runners/stop.js +26 -12
  85. package/dist/hooks/runners/stop.js.map +1 -1
  86. package/dist/hooks/runners/user-prompt-submit.d.ts +2 -2
  87. package/dist/hooks/runners/user-prompt-submit.js +4 -9
  88. package/dist/hooks/runners/user-prompt-submit.js.map +1 -1
  89. package/dist/hooks/seed-attested.js +3 -2
  90. package/dist/hooks/seed-attested.js.map +1 -1
  91. package/dist/index.d.ts +3 -0
  92. package/dist/index.js +2 -0
  93. package/dist/index.js.map +1 -1
  94. package/dist/init/baseline-audit.js +3 -3
  95. package/dist/init/baseline-audit.js.map +1 -1
  96. package/dist/init/claude-rule.js +13 -1
  97. package/dist/init/claude-rule.js.map +1 -1
  98. package/dist/init/curator/corpus.d.ts +1 -0
  99. package/dist/init/curator/corpus.js +6 -2
  100. package/dist/init/curator/corpus.js.map +1 -1
  101. package/dist/init/curator/emit.js +2 -3
  102. package/dist/init/curator/emit.js.map +1 -1
  103. package/dist/init/detect-components.js +2 -2
  104. package/dist/init/detect-components.js.map +1 -1
  105. package/dist/init/eta-calibration.js +2 -2
  106. package/dist/init/eta-calibration.js.map +1 -1
  107. package/dist/init/index.d.ts +1 -1
  108. package/dist/init/index.js +1 -1
  109. package/dist/init/index.js.map +1 -1
  110. package/dist/init/init.d.ts +8 -0
  111. package/dist/init/init.js +16 -6
  112. package/dist/init/init.js.map +1 -1
  113. package/dist/init/mapper.js +2 -2
  114. package/dist/init/mapper.js.map +1 -1
  115. package/dist/init/multi-dev/install.js +24 -0
  116. package/dist/init/multi-dev/install.js.map +1 -1
  117. package/dist/init/phases/11-baseline.js +1 -1
  118. package/dist/init/phases/11-baseline.js.map +1 -1
  119. package/dist/init/phases/4-seed.js +7 -5
  120. package/dist/init/phases/4-seed.js.map +1 -1
  121. package/dist/init/phases/9a-walker.js +4 -0
  122. package/dist/init/phases/9a-walker.js.map +1 -1
  123. package/dist/init/phases/9b-curate.d.ts +1 -0
  124. package/dist/init/phases/9b-curate.js +6 -2
  125. package/dist/init/phases/9b-curate.js.map +1 -1
  126. package/dist/init/phases/9d-comp-walk.js +2 -2
  127. package/dist/init/phases/9d-comp-walk.js.map +1 -1
  128. package/dist/init/phases/9e-comp-annotate.js +63 -3
  129. package/dist/init/phases/9e-comp-annotate.js.map +1 -1
  130. package/dist/init/phases/index.d.ts +0 -1
  131. package/dist/init/phases/index.js +0 -1
  132. package/dist/init/phases/index.js.map +1 -1
  133. package/dist/init/phases/mapper-output-io.d.ts +1 -1
  134. package/dist/init/phases/mapper-output-io.js +3 -2
  135. package/dist/init/phases/mapper-output-io.js.map +1 -1
  136. package/dist/init/phases/state-io.d.ts +1 -1
  137. package/dist/init/phases/state-io.js +3 -2
  138. package/dist/init/phases/state-io.js.map +1 -1
  139. package/dist/init/phases/types.d.ts +20 -8
  140. package/dist/init/phases/types.js +0 -1
  141. package/dist/init/phases/types.js.map +1 -1
  142. package/dist/init/progress.d.ts +1 -0
  143. package/dist/init/progress.js +3 -1
  144. package/dist/init/progress.js.map +1 -1
  145. package/dist/init/rules-merge/ingest.js +3 -3
  146. package/dist/init/rules-merge/ingest.js.map +1 -1
  147. package/dist/init/seed.js +54 -5
  148. package/dist/init/seed.js.map +1 -1
  149. package/dist/init/source-comments/strip-replace.d.ts +0 -1
  150. package/dist/init/source-comments/strip-replace.js +17 -1
  151. package/dist/init/source-comments/strip-replace.js.map +1 -1
  152. package/dist/join/index.d.ts +9 -0
  153. package/dist/join/index.js +82 -25
  154. package/dist/join/index.js.map +1 -1
  155. package/dist/lock.js +4 -3
  156. package/dist/lock.js.map +1 -1
  157. package/dist/mcp/bootstrap-guard.js +10 -1
  158. package/dist/mcp/bootstrap-guard.js.map +1 -1
  159. package/dist/mcp/schemas.d.ts +26 -0
  160. package/dist/mcp/schemas.js +26 -0
  161. package/dist/mcp/schemas.js.map +1 -1
  162. package/dist/mcp/server.js +3 -3
  163. package/dist/mcp/server.js.map +1 -1
  164. package/dist/mcp/telemetry.js +4 -3
  165. package/dist/mcp/telemetry.js.map +1 -1
  166. package/dist/mcp/tools/component-reconfirm.d.ts +7 -0
  167. package/dist/mcp/tools/component-reconfirm.js +39 -0
  168. package/dist/mcp/tools/component-reconfirm.js.map +1 -0
  169. package/dist/mcp/tools/component-register.d.ts +15 -0
  170. package/dist/mcp/tools/component-register.js +65 -0
  171. package/dist/mcp/tools/component-register.js.map +1 -0
  172. package/dist/mcp/tools/index.js +8 -0
  173. package/dist/mcp/tools/index.js.map +1 -1
  174. package/dist/mcp/tools/init-phases.d.ts +2 -0
  175. package/dist/mcp/tools/init-phases.js +21 -5
  176. package/dist/mcp/tools/init-phases.js.map +1 -1
  177. package/dist/mcp/tools/migrate.d.ts +21 -0
  178. package/dist/mcp/tools/migrate.js +49 -0
  179. package/dist/mcp/tools/migrate.js.map +1 -0
  180. package/dist/mcp/tools/mission-advance.js +5 -5
  181. package/dist/mcp/tools/mission-advance.js.map +1 -1
  182. package/dist/mcp/tools/mission-resume.js +3 -3
  183. package/dist/mcp/tools/mission-resume.js.map +1 -1
  184. package/dist/mcp/tools/record-decision.js +11 -4
  185. package/dist/mcp/tools/record-decision.js.map +1 -1
  186. package/dist/mcp/tools/resolve-attention.js +20 -4
  187. package/dist/mcp/tools/resolve-attention.js.map +1 -1
  188. package/dist/mcp/tools/resume.js +3 -2
  189. package/dist/mcp/tools/resume.js.map +1 -1
  190. package/dist/mcp/tools/search.js +2 -2
  191. package/dist/mcp/tools/search.js.map +1 -1
  192. package/dist/mcp/tools/task-complete.js +2 -3
  193. package/dist/mcp/tools/task-complete.js.map +1 -1
  194. package/dist/mcp/tools/task-create.js +2 -2
  195. package/dist/mcp/tools/task-create.js.map +1 -1
  196. package/dist/migrate/config-io.d.ts +10 -2
  197. package/dist/migrate/config-io.js +21 -19
  198. package/dist/migrate/config-io.js.map +1 -1
  199. package/dist/migrate/gitignore.d.ts +28 -0
  200. package/dist/migrate/gitignore.js +82 -0
  201. package/dist/migrate/gitignore.js.map +1 -0
  202. package/dist/migrate/index.d.ts +1 -0
  203. package/dist/migrate/index.js +1 -0
  204. package/dist/migrate/index.js.map +1 -1
  205. package/dist/migrate/migrations/0001-drop-dead-config-fields.js +2 -2
  206. package/dist/migrate/migrations/0001-drop-dead-config-fields.js.map +1 -1
  207. package/dist/migrate/migrations/0002-backfill-gitignore.d.ts +14 -0
  208. package/dist/migrate/migrations/0002-backfill-gitignore.js +40 -0
  209. package/dist/migrate/migrations/0002-backfill-gitignore.js.map +1 -0
  210. package/dist/migrate/migrations/0003-prune-scaffolding.d.ts +19 -0
  211. package/dist/migrate/migrations/0003-prune-scaffolding.js +54 -0
  212. package/dist/migrate/migrations/0003-prune-scaffolding.js.map +1 -0
  213. package/dist/migrate/registry.js +7 -1
  214. package/dist/migrate/registry.js.map +1 -1
  215. package/dist/migrate/runner.js +17 -10
  216. package/dist/migrate/runner.js.map +1 -1
  217. package/dist/migrate/types.d.ts +10 -2
  218. package/dist/missions/task-link.js +4 -5
  219. package/dist/missions/task-link.js.map +1 -1
  220. package/dist/paths/index.d.ts +12 -1
  221. package/dist/paths/index.js +17 -3
  222. package/dist/paths/index.js.map +1 -1
  223. package/dist/sensors/catalog.js +3 -3
  224. package/dist/sensors/catalog.js.map +1 -1
  225. package/dist/session-start/build.js +31 -16
  226. package/dist/session-start/build.js.map +1 -1
  227. package/dist/status-line/event-queue.js +2 -1
  228. package/dist/status-line/event-queue.js.map +1 -1
  229. package/dist/status-line/reader.js +5 -5
  230. package/dist/status-line/reader.js.map +1 -1
  231. package/dist/status-line/writer.js +2 -1
  232. package/dist/status-line/writer.js.map +1 -1
  233. package/dist/tasks/lifecycle.js +10 -9
  234. package/dist/tasks/lifecycle.js.map +1 -1
  235. package/dist/trace/index.js +2 -2
  236. package/dist/trace/index.js.map +1 -1
  237. package/dist/update-check.d.ts +28 -0
  238. package/dist/update-check.js +137 -0
  239. package/dist/update-check.js.map +1 -0
  240. package/package.json +2 -2
  241. package/templates/.cairn/git-hooks/commit-msg +33 -5
  242. package/templates/.cairn/git-hooks/post-commit +13 -3
  243. package/templates/.cairn/git-hooks/pre-commit +48 -25
  244. package/dist/hooks/read-enrich.d.ts +0 -6
  245. package/dist/hooks/read-enrich.js +0 -11
  246. package/dist/hooks/read-enrich.js.map +0 -1
  247. package/dist/hooks/write-guard.d.ts +0 -6
  248. package/dist/hooks/write-guard.js +0 -11
  249. package/dist/hooks/write-guard.js.map +0 -1
  250. package/dist/init/phases/12-strip.d.ts +0 -10
  251. package/dist/init/phases/12-strip.js +0 -88
  252. package/dist/init/phases/12-strip.js.map +0 -1
@@ -1,88 +0,0 @@
1
- /**
2
- * Phase 12-strip — per-module strip-replace consent.
3
- *
4
- * Surfaces each ingestion-flagged module as an A/B/C choice (strip /
5
- * keep / skip). Tracks remaining modules in
6
- * `outputs["12-strip"].pending` and emits one question at a time
7
- * until the queue is empty.
8
- */
9
- import { advancePhase, isSelfAdoptState } from "./orchestrator.js";
10
- export async function runPhase12Strip(state) {
11
- if (isSelfAdoptState(state)) {
12
- const skipped = { pending: [], decisions: {} };
13
- const next = {
14
- ...state,
15
- outputs: { ...state.outputs, "12-strip": skipped },
16
- answer: undefined,
17
- };
18
- return {
19
- status: "complete",
20
- nextPhase: "13-multidev",
21
- state: advancePhase(next),
22
- };
23
- }
24
- const existing = state.outputs["12-strip"];
25
- const modules = computeFlaggedModules(state);
26
- // Initialize on first entry.
27
- let s = existing ?? { pending: [...modules], decisions: {} };
28
- // Operator just answered → record + dequeue.
29
- if (state.answer !== undefined && state.answer.length > 0 && s.pending.length > 0) {
30
- const head = s.pending[0];
31
- const choice = normalizeChoice(state.answer);
32
- s = {
33
- pending: s.pending.slice(1),
34
- decisions: { ...s.decisions, [head]: choice },
35
- };
36
- }
37
- if (s.pending.length === 0) {
38
- const next = {
39
- ...state,
40
- outputs: { ...state.outputs, "12-strip": s },
41
- answer: undefined,
42
- };
43
- return {
44
- status: "complete",
45
- nextPhase: "13-multidev",
46
- state: advancePhase(next),
47
- };
48
- }
49
- const head = s.pending[0];
50
- const question = {
51
- id: `12-strip:${head}`,
52
- prompt: `Strip the source-comment essay in ${head}?`,
53
- options: [
54
- {
55
- id: "strip",
56
- label: "strip — DEC is the source of truth",
57
- },
58
- {
59
- id: "keep",
60
- label: "keep — leave comment alongside DEC",
61
- },
62
- {
63
- id: "skip",
64
- label: "skip — decide later",
65
- },
66
- ],
67
- default: "skip",
68
- };
69
- return {
70
- status: "needs_input",
71
- question,
72
- state: { ...state, outputs: { ...state.outputs, "12-strip": s }, answer: undefined },
73
- };
74
- }
75
- function normalizeChoice(answer) {
76
- switch (answer) {
77
- case "strip":
78
- case "keep":
79
- case "skip":
80
- return answer;
81
- default:
82
- return "skip";
83
- }
84
- }
85
- function computeFlaggedModules(_state) {
86
- return [];
87
- }
88
- //# sourceMappingURL=12-strip.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"12-strip.js","sourceRoot":"","sources":["../../../src/init/phases/12-strip.ts"],"names":[],"mappings":"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"}