@isaacriehm/cairn-core 0.21.0 → 0.22.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 (243) 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/sweep.js +12 -0
  45. package/dist/gc/sweep.js.map +1 -1
  46. package/dist/gc/types.d.ts +1 -1
  47. package/dist/hooks/bypass-detection.js +3 -2
  48. package/dist/hooks/bypass-detection.js.map +1 -1
  49. package/dist/hooks/defer.js +3 -2
  50. package/dist/hooks/defer.js.map +1 -1
  51. package/dist/hooks/ghost-backup.d.ts +37 -0
  52. package/dist/hooks/ghost-backup.js +82 -0
  53. package/dist/hooks/ghost-backup.js.map +1 -0
  54. package/dist/hooks/post-tool-use/allowlist-reader.js +2 -2
  55. package/dist/hooks/post-tool-use/allowlist-reader.js.map +1 -1
  56. package/dist/hooks/post-tool-use/ask-user-blocked.js +2 -2
  57. package/dist/hooks/post-tool-use/ask-user-blocked.js.map +1 -1
  58. package/dist/hooks/post-tool-use/citation-scanner.d.ts +8 -6
  59. package/dist/hooks/post-tool-use/citation-scanner.js +9 -14
  60. package/dist/hooks/post-tool-use/citation-scanner.js.map +1 -1
  61. package/dist/hooks/post-tool-use/legend-builder.d.ts +2 -2
  62. package/dist/hooks/post-tool-use/legend-builder.js +1 -19
  63. package/dist/hooks/post-tool-use/legend-builder.js.map +1 -1
  64. package/dist/hooks/post-tool-use/post-write.js +18 -1
  65. package/dist/hooks/post-tool-use/post-write.js.map +1 -1
  66. package/dist/hooks/post-tool-use/read-enricher.d.ts +2 -2
  67. package/dist/hooks/post-tool-use/read-enricher.js +4 -6
  68. package/dist/hooks/post-tool-use/read-enricher.js.map +1 -1
  69. package/dist/hooks/post-tool-use/sot-align.js +29 -3
  70. package/dist/hooks/post-tool-use/sot-align.js.map +1 -1
  71. package/dist/hooks/post-tool-use/write-guardian.js +4 -4
  72. package/dist/hooks/post-tool-use/write-guardian.js.map +1 -1
  73. package/dist/hooks/runners/context-threshold.js +3 -3
  74. package/dist/hooks/runners/context-threshold.js.map +1 -1
  75. package/dist/hooks/runners/payload.js +2 -1
  76. package/dist/hooks/runners/payload.js.map +1 -1
  77. package/dist/hooks/runners/phase-ready-surface.js +3 -2
  78. package/dist/hooks/runners/phase-ready-surface.js.map +1 -1
  79. package/dist/hooks/runners/session-start.js +42 -3
  80. package/dist/hooks/runners/session-start.js.map +1 -1
  81. package/dist/hooks/runners/stop.js +26 -12
  82. package/dist/hooks/runners/stop.js.map +1 -1
  83. package/dist/hooks/runners/user-prompt-submit.d.ts +2 -2
  84. package/dist/hooks/runners/user-prompt-submit.js +4 -9
  85. package/dist/hooks/runners/user-prompt-submit.js.map +1 -1
  86. package/dist/hooks/seed-attested.js +3 -2
  87. package/dist/hooks/seed-attested.js.map +1 -1
  88. package/dist/index.d.ts +3 -0
  89. package/dist/index.js +2 -0
  90. package/dist/index.js.map +1 -1
  91. package/dist/init/baseline-audit.js +3 -3
  92. package/dist/init/baseline-audit.js.map +1 -1
  93. package/dist/init/claude-rule.js +13 -1
  94. package/dist/init/claude-rule.js.map +1 -1
  95. package/dist/init/curator/corpus.d.ts +1 -0
  96. package/dist/init/curator/corpus.js +6 -2
  97. package/dist/init/curator/corpus.js.map +1 -1
  98. package/dist/init/curator/emit.js +2 -3
  99. package/dist/init/curator/emit.js.map +1 -1
  100. package/dist/init/detect-components.js +2 -2
  101. package/dist/init/detect-components.js.map +1 -1
  102. package/dist/init/eta-calibration.js +2 -2
  103. package/dist/init/eta-calibration.js.map +1 -1
  104. package/dist/init/index.d.ts +1 -1
  105. package/dist/init/index.js +1 -1
  106. package/dist/init/index.js.map +1 -1
  107. package/dist/init/init.d.ts +8 -0
  108. package/dist/init/init.js +16 -6
  109. package/dist/init/init.js.map +1 -1
  110. package/dist/init/mapper.js +2 -2
  111. package/dist/init/mapper.js.map +1 -1
  112. package/dist/init/multi-dev/install.js +24 -0
  113. package/dist/init/multi-dev/install.js.map +1 -1
  114. package/dist/init/phases/11-baseline.js +1 -1
  115. package/dist/init/phases/11-baseline.js.map +1 -1
  116. package/dist/init/phases/4-seed.js +7 -5
  117. package/dist/init/phases/4-seed.js.map +1 -1
  118. package/dist/init/phases/9a-walker.js +4 -0
  119. package/dist/init/phases/9a-walker.js.map +1 -1
  120. package/dist/init/phases/9b-curate.d.ts +1 -0
  121. package/dist/init/phases/9b-curate.js +6 -2
  122. package/dist/init/phases/9b-curate.js.map +1 -1
  123. package/dist/init/phases/9d-comp-walk.js +2 -2
  124. package/dist/init/phases/9d-comp-walk.js.map +1 -1
  125. package/dist/init/phases/9e-comp-annotate.js +63 -3
  126. package/dist/init/phases/9e-comp-annotate.js.map +1 -1
  127. package/dist/init/phases/index.d.ts +0 -1
  128. package/dist/init/phases/index.js +0 -1
  129. package/dist/init/phases/index.js.map +1 -1
  130. package/dist/init/phases/mapper-output-io.d.ts +1 -1
  131. package/dist/init/phases/mapper-output-io.js +3 -2
  132. package/dist/init/phases/mapper-output-io.js.map +1 -1
  133. package/dist/init/phases/state-io.d.ts +1 -1
  134. package/dist/init/phases/state-io.js +3 -2
  135. package/dist/init/phases/state-io.js.map +1 -1
  136. package/dist/init/phases/types.d.ts +20 -8
  137. package/dist/init/phases/types.js +0 -1
  138. package/dist/init/phases/types.js.map +1 -1
  139. package/dist/init/progress.d.ts +1 -0
  140. package/dist/init/progress.js +3 -1
  141. package/dist/init/progress.js.map +1 -1
  142. package/dist/init/rules-merge/ingest.js +3 -3
  143. package/dist/init/rules-merge/ingest.js.map +1 -1
  144. package/dist/init/seed.js +54 -5
  145. package/dist/init/seed.js.map +1 -1
  146. package/dist/init/source-comments/strip-replace.d.ts +0 -1
  147. package/dist/init/source-comments/strip-replace.js +17 -1
  148. package/dist/init/source-comments/strip-replace.js.map +1 -1
  149. package/dist/join/index.d.ts +9 -0
  150. package/dist/join/index.js +82 -25
  151. package/dist/join/index.js.map +1 -1
  152. package/dist/lock.js +4 -3
  153. package/dist/lock.js.map +1 -1
  154. package/dist/mcp/bootstrap-guard.js +10 -1
  155. package/dist/mcp/bootstrap-guard.js.map +1 -1
  156. package/dist/mcp/schemas.d.ts +22 -0
  157. package/dist/mcp/schemas.js +22 -0
  158. package/dist/mcp/schemas.js.map +1 -1
  159. package/dist/mcp/server.js +3 -3
  160. package/dist/mcp/server.js.map +1 -1
  161. package/dist/mcp/telemetry.js +4 -3
  162. package/dist/mcp/telemetry.js.map +1 -1
  163. package/dist/mcp/tools/component-reconfirm.d.ts +7 -0
  164. package/dist/mcp/tools/component-reconfirm.js +39 -0
  165. package/dist/mcp/tools/component-reconfirm.js.map +1 -0
  166. package/dist/mcp/tools/component-register.d.ts +15 -0
  167. package/dist/mcp/tools/component-register.js +65 -0
  168. package/dist/mcp/tools/component-register.js.map +1 -0
  169. package/dist/mcp/tools/index.js +5 -0
  170. package/dist/mcp/tools/index.js.map +1 -1
  171. package/dist/mcp/tools/init-phases.d.ts +2 -0
  172. package/dist/mcp/tools/init-phases.js +21 -5
  173. package/dist/mcp/tools/init-phases.js.map +1 -1
  174. package/dist/mcp/tools/mission-advance.js +5 -5
  175. package/dist/mcp/tools/mission-advance.js.map +1 -1
  176. package/dist/mcp/tools/mission-resume.js +3 -3
  177. package/dist/mcp/tools/mission-resume.js.map +1 -1
  178. package/dist/mcp/tools/record-decision.js +11 -4
  179. package/dist/mcp/tools/record-decision.js.map +1 -1
  180. package/dist/mcp/tools/resolve-attention.js +20 -4
  181. package/dist/mcp/tools/resolve-attention.js.map +1 -1
  182. package/dist/mcp/tools/resume.js +3 -2
  183. package/dist/mcp/tools/resume.js.map +1 -1
  184. package/dist/mcp/tools/search.js +2 -2
  185. package/dist/mcp/tools/search.js.map +1 -1
  186. package/dist/mcp/tools/task-complete.js +2 -3
  187. package/dist/mcp/tools/task-complete.js.map +1 -1
  188. package/dist/mcp/tools/task-create.js +2 -2
  189. package/dist/mcp/tools/task-create.js.map +1 -1
  190. package/dist/migrate/config-io.d.ts +10 -2
  191. package/dist/migrate/config-io.js +21 -19
  192. package/dist/migrate/config-io.js.map +1 -1
  193. package/dist/migrate/gitignore.d.ts +28 -0
  194. package/dist/migrate/gitignore.js +82 -0
  195. package/dist/migrate/gitignore.js.map +1 -0
  196. package/dist/migrate/index.d.ts +1 -0
  197. package/dist/migrate/index.js +1 -0
  198. package/dist/migrate/index.js.map +1 -1
  199. package/dist/migrate/migrations/0001-drop-dead-config-fields.js +2 -2
  200. package/dist/migrate/migrations/0001-drop-dead-config-fields.js.map +1 -1
  201. package/dist/migrate/migrations/0002-backfill-gitignore.d.ts +14 -0
  202. package/dist/migrate/migrations/0002-backfill-gitignore.js +40 -0
  203. package/dist/migrate/migrations/0002-backfill-gitignore.js.map +1 -0
  204. package/dist/migrate/registry.js +2 -1
  205. package/dist/migrate/registry.js.map +1 -1
  206. package/dist/migrate/runner.js +17 -10
  207. package/dist/migrate/runner.js.map +1 -1
  208. package/dist/migrate/types.d.ts +10 -2
  209. package/dist/missions/task-link.js +4 -5
  210. package/dist/missions/task-link.js.map +1 -1
  211. package/dist/paths/index.d.ts +12 -1
  212. package/dist/paths/index.js +17 -3
  213. package/dist/paths/index.js.map +1 -1
  214. package/dist/sensors/catalog.js +3 -3
  215. package/dist/sensors/catalog.js.map +1 -1
  216. package/dist/session-start/build.js +31 -16
  217. package/dist/session-start/build.js.map +1 -1
  218. package/dist/status-line/event-queue.js +2 -1
  219. package/dist/status-line/event-queue.js.map +1 -1
  220. package/dist/status-line/reader.js +5 -5
  221. package/dist/status-line/reader.js.map +1 -1
  222. package/dist/status-line/writer.js +2 -1
  223. package/dist/status-line/writer.js.map +1 -1
  224. package/dist/tasks/lifecycle.js +10 -9
  225. package/dist/tasks/lifecycle.js.map +1 -1
  226. package/dist/trace/index.js +2 -2
  227. package/dist/trace/index.js.map +1 -1
  228. package/dist/update-check.d.ts +28 -0
  229. package/dist/update-check.js +137 -0
  230. package/dist/update-check.js.map +1 -0
  231. package/package.json +2 -2
  232. package/templates/.cairn/git-hooks/commit-msg +33 -5
  233. package/templates/.cairn/git-hooks/post-commit +13 -3
  234. package/templates/.cairn/git-hooks/pre-commit +48 -25
  235. package/dist/hooks/read-enrich.d.ts +0 -6
  236. package/dist/hooks/read-enrich.js +0 -11
  237. package/dist/hooks/read-enrich.js.map +0 -1
  238. package/dist/hooks/write-guard.d.ts +0 -6
  239. package/dist/hooks/write-guard.js +0 -11
  240. package/dist/hooks/write-guard.js.map +0 -1
  241. package/dist/init/phases/12-strip.d.ts +0 -10
  242. package/dist/init/phases/12-strip.js +0 -88
  243. package/dist/init/phases/12-strip.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"task-create.js","sourceRoot":"","sources":["../../../src/mcp/tools/task-create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-create.js","sourceRoot":"","sources":["../../../src/mcp/tools/task-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,QAAQ,EACf,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAkB9D,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,CAAS,EAAE,QAAgB;IAC/C,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAChE,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;IACpC,MAAM,YAAY,GAAG,MAAM,OAAO,mBAAmB,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,SAAS,GAAG,QAAQ,GAAG,EAAE;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7D,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC9B,MAAM,CAAC,GAAG,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC;SACxC,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,OAAO,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAU;IACnC,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA2B,EAAE,QAAgB;IACrE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,QAAQ,IAAI,CAAC;IACxE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAe,EAAE,KAAY;IAClD,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAEjC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;IAEhC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CACb,iBAAiB,EACjB,GAAG,OAAO,0DAA0D,CACrE,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExC,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE7C,mEAAmE;IACnE,mEAAmE;IACnE,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,KAAK,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;QAC5B,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;SAAM,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACvE,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;QAC7B,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACzD,MAAM,WAAW,GAAG,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;YACvD,IAAI,WAAW,KAAK,IAAI,IAAI,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC;gBAC1F,SAAS,GAAG,aAAa,CAAC;gBAC1B,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,WAAW,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IACD,kEAAkE;IAClE,uEAAuE;IACvE,qEAAqE;IACrE,sEAAsE;IACtE,kEAAkE;IAClE,uEAAuE;IACvE,wCAAwC;IACxC,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IACE,SAAS,KAAK,IAAI;QAClB,OAAO,KAAK,IAAI;QAChB,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,EAC7D,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;YAClF,OAAO,QAAQ,CACb,mBAAmB,EACnB,YAAY,OAAO,8BAA8B,SAAS,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QAC3E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;gBACxD,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;oBACtD,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;wBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7E,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC5B,YAAY;oBACV,wCAAwC,OAAO,wEAAwE;wBACvH,oJAAoJ;wBACpJ,iBAAiB,QAAQ,CAAC,KAAK,IAAI,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;YAClF,OAAO,QAAQ,CACb,mBAAmB,EACnB,YAAY,OAAO,8BAA8B,SAAS,EAAE,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG;QACtB,EAAE,EAAE,MAAM;QACV,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,WAAW;QACtB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,EAAE;QAChD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,EAAE;QAClD,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,IAAI,EAAE;KACrD,CAAC;IAEF,MAAM,QAAQ,GAAG;QACf,KAAK,KAAK,EAAE;QACZ,EAAE;QACF,SAAS;QACT,EAAE;QACF,KAAK,CAAC,IAAI;QACV,EAAE;QACF,gBAAgB;QAChB,EAAE;QACF,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,+CAA+C,CAAC;QACpF,iBAAiB;QACjB,EAAE;QACF,gBAAgB,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC;QAC9C,eAAe;QACf,EAAE;QACF,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,mDAAmD,CAAC;KACxF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,WAAW,GAAG,QAAQ,aAAa,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,UAAU,QAAQ,EAAE,CAAC;IACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACpD,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAE7C,MAAM,WAAW,GAA4B;QAC3C,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;QAC1E,KAAK;QACL,UAAU,EAAE,WAAW;KACxB,CAAC;IACF,qEAAqE;IACrE,iEAAiE;IACjE,iEAAiE;IACjE,oEAAoE;IACpE,+DAA+D;IAC/D,yCAAyC;IACzC,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1D,WAAW,CAAC,oBAAoB,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC;QAClD,WAAW,CAAC,sBAAsB,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC;IACtD,CAAC;IACD,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3C,WAAW,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;QACtC,WAAW,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;IACpC,CAAC;IACD,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAChD,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAEjD,wEAAwE;IACxE,qEAAqE;IACrE,2EAA2E;IAC3E,qEAAqE;IACrE,kEAAkE;IAClE,uCAAuC;IACvC,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3C,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,uBAAuB,MAAM,oBAAoB;QAC5D,WAAW,EAAE,uBAAuB,MAAM,cAAc;QACxD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,EAAE;QAClD,mBAAmB,EAAE,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC7E,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO;QACjB,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,gHAAgH;QAChH,yPAAyP;QACzP,0SAA0S;QAC1S,sFAAsF;QACtF,kKAAkK;QAClK,mEAAmE;IACrE,WAAW,EAAE,eAAe;IAC5B,OAAO;CACR,CAAC"}
@@ -6,11 +6,19 @@
6
6
  * rewrites of the single config.yaml — callers serialize via the migrate
7
7
  * lock.
8
8
  */
9
+ import { type Document } from "yaml";
10
+ /**
11
+ * Parse `config.yaml` once. Returns null when absent / unreadable. Pass the
12
+ * result to `readConfigPin` / `configHasKeys` to share a single parse across
13
+ * the runner's read-only selection phase (the apply phase re-reads fresh, since
14
+ * each migration may mutate the file).
15
+ */
16
+ export declare function loadConfigDoc(repoRoot: string): Document | null;
9
17
  /** Read the `cairn_version` pin, or null when absent / unreadable. */
10
- export declare function readConfigPin(repoRoot: string): string | null;
18
+ export declare function readConfigPin(repoRoot: string, doc?: Document | null): string | null;
11
19
  /** Set the `cairn_version` pin. No-op (returns false) when already equal. */
12
20
  export declare function writeConfigPin(repoRoot: string, version: string): boolean;
13
21
  /** Which of `keys` are present as top-level config keys. */
14
- export declare function configHasKeys(repoRoot: string, keys: readonly string[]): string[];
22
+ export declare function configHasKeys(repoRoot: string, keys: readonly string[], doc?: Document | null): string[];
15
23
  /** Delete top-level `keys`; returns the keys actually removed. */
16
24
  export declare function deleteConfigKeys(repoRoot: string, keys: readonly string[]): string[];
@@ -7,25 +7,33 @@
7
7
  * lock.
8
8
  */
9
9
  import { existsSync, readFileSync, writeFileSync } from "node:fs";
10
- import { join } from "node:path";
11
10
  import { parseDocument } from "yaml";
12
- function configPath(repoRoot) {
13
- return join(repoRoot, ".cairn", "config.yaml");
14
- }
15
- /** Read the `cairn_version` pin, or null when absent / unreadable. */
16
- export function readConfigPin(repoRoot) {
11
+ import { configPath } from "@isaacriehm/cairn-state";
12
+ /**
13
+ * Parse `config.yaml` once. Returns null when absent / unreadable. Pass the
14
+ * result to `readConfigPin` / `configHasKeys` to share a single parse across
15
+ * the runner's read-only selection phase (the apply phase re-reads fresh, since
16
+ * each migration may mutate the file).
17
+ */
18
+ export function loadConfigDoc(repoRoot) {
17
19
  const p = configPath(repoRoot);
18
20
  if (!existsSync(p))
19
21
  return null;
20
22
  try {
21
- const doc = parseDocument(readFileSync(p, "utf8"));
22
- const v = doc.get("cairn_version");
23
- return typeof v === "string" && v.length > 0 ? v : null;
23
+ return parseDocument(readFileSync(p, "utf8"));
24
24
  }
25
25
  catch {
26
26
  return null;
27
27
  }
28
28
  }
29
+ /** Read the `cairn_version` pin, or null when absent / unreadable. */
30
+ export function readConfigPin(repoRoot, doc) {
31
+ const d = doc !== undefined ? doc : loadConfigDoc(repoRoot);
32
+ if (d === null)
33
+ return null;
34
+ const v = d.get("cairn_version");
35
+ return typeof v === "string" && v.length > 0 ? v : null;
36
+ }
29
37
  /** Set the `cairn_version` pin. No-op (returns false) when already equal. */
30
38
  export function writeConfigPin(repoRoot, version) {
31
39
  const p = configPath(repoRoot);
@@ -39,17 +47,11 @@ export function writeConfigPin(repoRoot, version) {
39
47
  return true;
40
48
  }
41
49
  /** Which of `keys` are present as top-level config keys. */
42
- export function configHasKeys(repoRoot, keys) {
43
- const p = configPath(repoRoot);
44
- if (!existsSync(p))
50
+ export function configHasKeys(repoRoot, keys, doc) {
51
+ const d = doc !== undefined ? doc : loadConfigDoc(repoRoot);
52
+ if (d === null)
45
53
  return [];
46
- try {
47
- const doc = parseDocument(readFileSync(p, "utf8"));
48
- return keys.filter((k) => doc.has(k));
49
- }
50
- catch {
51
- return [];
52
- }
54
+ return keys.filter((k) => d.has(k));
53
55
  }
54
56
  /** Delete top-level `keys`; returns the keys actually removed. */
55
57
  export function deleteConfigKeys(repoRoot, keys) {
@@ -1 +1 @@
1
- {"version":3,"file":"config-io.js","sourceRoot":"","sources":["../../src/migrate/config-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-io.js","sourceRoot":"","sources":["../../src/migrate/config-io.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Shared `.cairn/.gitignore` remediation — used by `cairn fix gitignore` AND
3
+ * the `0002-backfill-gitignore` migration.
4
+ *
5
+ * Cairn added gitignored derived/per-clone state across several releases
6
+ * (v0.11.3 tasks/missions, v0.15.0 derived ground indexes, v0.18.0 component
7
+ * index). A repo adopted before an entry landed both (a) lacks the ignore line
8
+ * and (b) may have COMMITTED the derived state, which then churns on every
9
+ * clone. Remediation = bring `.cairn/.gitignore` current (merge — never clobber
10
+ * operator lines) and `git rm --cached` any now-ignored, already-tracked paths.
11
+ * Idempotent: a second run adds nothing and untracks nothing.
12
+ */
13
+ export interface GitignoreRemediation {
14
+ /** True when there is anything to backfill (missing lines or tracked state). */
15
+ changed: boolean;
16
+ /** Template ignore lines absent from the current file. */
17
+ addedEntries: string[];
18
+ /** Repo-relative paths that are (or would be) `git rm --cached`'d. */
19
+ untracked: string[];
20
+ }
21
+ /**
22
+ * Bring `.cairn/.gitignore` current with the bundled template and (apply mode)
23
+ * untrack any now-ignored committed state. `apply: false` is a pure read used
24
+ * by the migration's `detect()`.
25
+ */
26
+ export declare function remediateGitignore(repoRoot: string, opts: {
27
+ apply: boolean;
28
+ }): GitignoreRemediation;
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Shared `.cairn/.gitignore` remediation — used by `cairn fix gitignore` AND
3
+ * the `0002-backfill-gitignore` migration.
4
+ *
5
+ * Cairn added gitignored derived/per-clone state across several releases
6
+ * (v0.11.3 tasks/missions, v0.15.0 derived ground indexes, v0.18.0 component
7
+ * index). A repo adopted before an entry landed both (a) lacks the ignore line
8
+ * and (b) may have COMMITTED the derived state, which then churns on every
9
+ * clone. Remediation = bring `.cairn/.gitignore` current (merge — never clobber
10
+ * operator lines) and `git rm --cached` any now-ignored, already-tracked paths.
11
+ * Idempotent: a second run adds nothing and untracks nothing.
12
+ */
13
+ import { execFileSync } from "node:child_process";
14
+ import { existsSync, readFileSync } from "node:fs";
15
+ import { join } from "node:path";
16
+ import { cairnDir, writeFileSafe } from "@isaacriehm/cairn-state";
17
+ import { templatesRoot } from "../init/seed.js";
18
+ /** Non-comment, non-blank trimmed lines. */
19
+ function entryLines(text) {
20
+ return text
21
+ .split("\n")
22
+ .map((l) => l.trim())
23
+ .filter((l) => l.length > 0 && !l.startsWith("#"));
24
+ }
25
+ /** Of the template entries, the tracked-in-git file paths under them. */
26
+ function trackedUnder(repoRoot, entries) {
27
+ if (entries.length === 0)
28
+ return [];
29
+ const targets = entries.map((e) => join(".cairn", e));
30
+ try {
31
+ const out = execFileSync("git", ["ls-files", "-z", "--", ...targets], {
32
+ cwd: repoRoot,
33
+ encoding: "utf8",
34
+ stdio: ["ignore", "pipe", "ignore"],
35
+ });
36
+ return out.split("\0").filter((p) => p.length > 0);
37
+ }
38
+ catch {
39
+ return [];
40
+ }
41
+ }
42
+ /**
43
+ * Bring `.cairn/.gitignore` current with the bundled template and (apply mode)
44
+ * untrack any now-ignored committed state. `apply: false` is a pure read used
45
+ * by the migration's `detect()`.
46
+ */
47
+ export function remediateGitignore(repoRoot, opts) {
48
+ const result = { changed: false, addedEntries: [], untracked: [] };
49
+ const templatePath = join(templatesRoot(), ".cairn", ".gitignore");
50
+ const gitignorePath = cairnDir(repoRoot, ".gitignore");
51
+ if (!existsSync(templatePath) || !existsSync(gitignorePath))
52
+ return result;
53
+ const template = readFileSync(templatePath, "utf8");
54
+ const current = readFileSync(gitignorePath, "utf8");
55
+ const have = new Set(entryLines(current));
56
+ const templateEntries = entryLines(template);
57
+ result.addedEntries = templateEntries.filter((e) => !have.has(e));
58
+ result.untracked = trackedUnder(repoRoot, templateEntries);
59
+ result.changed = result.addedEntries.length > 0 || result.untracked.length > 0;
60
+ if (!opts.apply || !result.changed)
61
+ return result;
62
+ if (result.addedEntries.length > 0) {
63
+ const sep = current.endsWith("\n") ? "" : "\n";
64
+ const block = `${sep}\n# --- backfilled by cairn migrate (0002-backfill-gitignore) ---\n` +
65
+ `${result.addedEntries.join("\n")}\n`;
66
+ writeFileSafe(gitignorePath, current + block);
67
+ }
68
+ if (result.untracked.length > 0) {
69
+ // Untrack so the committed derived state drops out of the index. The
70
+ // working-tree copy stays (rebuildDerived rewrites it); only the tracking
71
+ // is removed. Best-effort — a git failure leaves the file ignored anyway.
72
+ const targets = result.untracked.slice();
73
+ try {
74
+ execFileSync("git", ["rm", "--cached", "-r", "--ignore-unmatch", "--", ...targets], { cwd: repoRoot, encoding: "utf8", stdio: ["ignore", "ignore", "ignore"] });
75
+ }
76
+ catch {
77
+ /* best-effort */
78
+ }
79
+ }
80
+ return result;
81
+ }
82
+ //# sourceMappingURL=gitignore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/migrate/gitignore.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export type { Migration, MigrationClass, MigrationResult } from "./types.js";
2
2
  export { MIGRATIONS } from "./registry.js";
3
3
  export { runMigrations, type RunMigrationsArgs, type RunMigrationsResult, type MigrationOutcome, type MigrationStatus, } from "./runner.js";
4
4
  export { readConfigPin } from "./config-io.js";
5
+ export { remediateGitignore, type GitignoreRemediation } from "./gitignore.js";
5
6
  export { semverCmp, semverGt, semverLte } from "./semver.js";
@@ -1,5 +1,6 @@
1
1
  export { MIGRATIONS } from "./registry.js";
2
2
  export { runMigrations, } from "./runner.js";
3
3
  export { readConfigPin } from "./config-io.js";
4
+ export { remediateGitignore } from "./gitignore.js";
4
5
  export { semverCmp, semverGt, semverLte } from "./semver.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrate/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,aAAa,GAKd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrate/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,aAAa,GAKd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAA6B,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -23,8 +23,8 @@ export const dropDeadConfigFields = {
23
23
  introducedIn: "0.21.0",
24
24
  describe: "Remove unconsumed config.yaml keys (detected_sensor_commands, mapper_proposed_sensors, mapper_notes, key_modules, stack_signatures, hook_capability, start_command, origin_url)",
25
25
  class: "safe",
26
- detect(repoRoot) {
27
- return configHasKeys(repoRoot, DEAD_CONFIG_KEYS).length > 0;
26
+ detect(repoRoot, doc) {
27
+ return configHasKeys(repoRoot, DEAD_CONFIG_KEYS, doc).length > 0;
28
28
  },
29
29
  apply(repoRoot) {
30
30
  const removed = deleteConfigKeys(repoRoot, DEAD_CONFIG_KEYS);
@@ -1 +1 @@
1
- {"version":3,"file":"0001-drop-dead-config-fields.js","sourceRoot":"","sources":["../../../src/migrate/migrations/0001-drop-dead-config-fields.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAElE,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,0BAA0B;IAC1B,yBAAyB;IACzB,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,YAAY;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAc;IAC7C,EAAE,EAAE,8BAA8B;IAClC,YAAY,EAAE,QAAQ;IACtB,QAAQ,EAAE,iLAAiL;IAC3L,KAAK,EAAE,MAAM;IACb,MAAM,CAAC,QAAgB;QACrB,OAAO,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,CAAC,QAAgB;QACpB,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC7D,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;YAC3B,MAAM,EACJ,OAAO,CAAC,MAAM,GAAG,CAAC;gBAChB,CAAC,CAAC,WAAW,OAAO,CAAC,MAAM,wBAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACvE,CAAC,CAAC,6BAA6B;SACpC,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"0001-drop-dead-config-fields.js","sourceRoot":"","sources":["../../../src/migrate/migrations/0001-drop-dead-config-fields.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAElE,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,0BAA0B;IAC1B,yBAAyB;IACzB,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,YAAY;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAc;IAC7C,EAAE,EAAE,8BAA8B;IAClC,YAAY,EAAE,QAAQ;IACtB,QAAQ,EAAE,iLAAiL;IAC3L,KAAK,EAAE,MAAM;IACb,MAAM,CAAC,QAAgB,EAAE,GAAsB;QAC7C,OAAO,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,CAAC,QAAgB;QACpB,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC7D,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;YAC3B,MAAM,EACJ,OAAO,CAAC,MAAM,GAAG,CAAC;gBAChB,CAAC,CAAC,WAAW,OAAO,CAAC,MAAM,wBAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACvE,CAAC,CAAC,6BAA6B;SACpC,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 0002 — backfill `.cairn/.gitignore` + untrack committed derived state.
3
+ *
4
+ * Repos adopted before the relevant releases (tasks/missions v0.11.3, derived
5
+ * ground indexes v0.15.0, component index v0.18.0) lack the ignore lines and
6
+ * may have COMMITTED per-clone derived state that then churns across clones.
7
+ *
8
+ * `review` (not `safe`): apply runs `git rm --cached`, mutating the git index —
9
+ * a VCS change the operator confirms via `cairn migrate --all`, never silently
10
+ * at SessionStart. Detect/apply share `remediateGitignore` with the
11
+ * `cairn fix gitignore` CLI, and both are idempotent.
12
+ */
13
+ import type { Migration } from "../types.js";
14
+ export declare const backfillGitignore: Migration;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * 0002 — backfill `.cairn/.gitignore` + untrack committed derived state.
3
+ *
4
+ * Repos adopted before the relevant releases (tasks/missions v0.11.3, derived
5
+ * ground indexes v0.15.0, component index v0.18.0) lack the ignore lines and
6
+ * may have COMMITTED per-clone derived state that then churns across clones.
7
+ *
8
+ * `review` (not `safe`): apply runs `git rm --cached`, mutating the git index —
9
+ * a VCS change the operator confirms via `cairn migrate --all`, never silently
10
+ * at SessionStart. Detect/apply share `remediateGitignore` with the
11
+ * `cairn fix gitignore` CLI, and both are idempotent.
12
+ */
13
+ import { remediateGitignore } from "../gitignore.js";
14
+ export const backfillGitignore = {
15
+ id: "0002-backfill-gitignore",
16
+ // Ships in 0.22.0 → runs for every pin < 0.22.0 (catches 0.21 adopters who
17
+ // upgraded from <0.15 and got 0001 but never a gitignore backfill). Bump in
18
+ // lockstep with the release that lands this.
19
+ introducedIn: "0.22.0",
20
+ describe: "Backfill .cairn/.gitignore (derived ground indexes, component index, per-clone state) and untrack derived state committed before it was gitignored — repos adopted before v0.15.0/v0.18.0",
21
+ class: "review",
22
+ detect(repoRoot) {
23
+ return remediateGitignore(repoRoot, { apply: false }).changed;
24
+ },
25
+ apply(repoRoot) {
26
+ const r = remediateGitignore(repoRoot, { apply: true });
27
+ const parts = [];
28
+ if (r.addedEntries.length > 0) {
29
+ parts.push(`added ${r.addedEntries.length} ignore entr${r.addedEntries.length === 1 ? "y" : "ies"}`);
30
+ }
31
+ if (r.untracked.length > 0) {
32
+ parts.push(`untracked ${r.untracked.length} committed derived file(s)`);
33
+ }
34
+ return {
35
+ changed: r.changed,
36
+ detail: r.changed ? parts.join("; ") : "nothing to backfill",
37
+ };
38
+ },
39
+ };
40
+ //# sourceMappingURL=0002-backfill-gitignore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0002-backfill-gitignore.js","sourceRoot":"","sources":["../../../src/migrate/migrations/0002-backfill-gitignore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,iBAAiB,GAAc;IAC1C,EAAE,EAAE,yBAAyB;IAC7B,2EAA2E;IAC3E,4EAA4E;IAC5E,6CAA6C;IAC7C,YAAY,EAAE,QAAQ;IACtB,QAAQ,EACN,2LAA2L;IAC7L,KAAK,EAAE,QAAQ;IACf,MAAM,CAAC,QAAgB;QACrB,OAAO,kBAAkB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC;IAChE,CAAC;IACD,KAAK,CAAC,QAAgB;QACpB,MAAM,CAAC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CACR,SAAS,CAAC,CAAC,YAAY,CAAC,MAAM,eAAe,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CACzF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,MAAM,4BAA4B,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO;YACL,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB;SAC7D,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -6,5 +6,6 @@
6
6
  * migration here and link it from CHANGELOG.
7
7
  */
8
8
  import { dropDeadConfigFields } from "./migrations/0001-drop-dead-config-fields.js";
9
- export const MIGRATIONS = [dropDeadConfigFields];
9
+ import { backfillGitignore } from "./migrations/0002-backfill-gitignore.js";
10
+ export const MIGRATIONS = [dropDeadConfigFields, backfillGitignore];
10
11
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/migrate/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEpF,MAAM,CAAC,MAAM,UAAU,GAAyB,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/migrate/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E,MAAM,CAAC,MAAM,UAAU,GAAyB,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC"}
@@ -15,27 +15,30 @@
15
15
  * cleanly (`ran: false`) rather than racing.
16
16
  */
17
17
  import { existsSync } from "node:fs";
18
- import { join } from "node:path";
19
18
  import { VERSION } from "../index.js";
20
19
  import { logger } from "../logger.js";
21
20
  import { acquireOperationLock, OperationLockHeldError } from "../lock.js";
22
- import { readConfigPin, writeConfigPin } from "./config-io.js";
21
+ import { loadConfigDoc, readConfigPin, writeConfigPin } from "./config-io.js";
23
22
  import { MIGRATIONS } from "./registry.js";
24
23
  import { semverCmp, semverGt, semverLte } from "./semver.js";
24
+ import { cairnDir } from "@isaacriehm/cairn-state";
25
25
  const log = logger("migrate.runner");
26
- function needs(m, repoRoot) {
26
+ function needs(m, repoRoot, doc) {
27
27
  try {
28
- return m.detect(repoRoot);
28
+ return m.detect(repoRoot, doc);
29
29
  }
30
30
  catch (err) {
31
31
  log.warn({ migration: m.id, err: err instanceof Error ? err.message : String(err) }, "migration detect() threw — skipping");
32
32
  return false;
33
33
  }
34
34
  }
35
- /** Migrations introduced in `(pin, current]` that still report needed. */
36
- function selectCandidates(repoRoot, pin, current) {
35
+ /**
36
+ * Migrations introduced in `(pin, current]` that still report needed. `doc` is
37
+ * the once-parsed `config.yaml` shared across this read-only selection pass.
38
+ */
39
+ function selectCandidates(repoRoot, pin, current, doc) {
37
40
  return MIGRATIONS.filter((m) => semverGt(m.introducedIn, pin) && semverLte(m.introducedIn, current))
38
- .filter((m) => needs(m, repoRoot))
41
+ .filter((m) => needs(m, repoRoot, doc))
39
42
  .slice()
40
43
  .sort((a, b) => semverCmp(a.introducedIn, b.introducedIn) || a.id.localeCompare(b.id));
41
44
  }
@@ -46,11 +49,15 @@ export async function runMigrations(args) {
46
49
  const includeReview = args.includeReview === true;
47
50
  // Never act on an unadopted repo — guards against any caller (notably the
48
51
  // defensive MCP-boot run) creating `.cairn/` via the lock's mkdir.
49
- if (!existsSync(join(repoRoot, ".cairn", "config.yaml"))) {
52
+ if (!existsSync(cairnDir(repoRoot, "config.yaml"))) {
50
53
  return { ran: true, pin: "0.0.0", current, newPin: null, outcomes: [], pendingReview: [] };
51
54
  }
52
- const pin = readConfigPin(repoRoot) ?? "0.0.0";
53
- const candidates = selectCandidates(repoRoot, pin, current);
55
+ // Parse config.yaml once for the whole read-only selection phase (pin read +
56
+ // each candidate's detect). The apply phase re-reads fresh, since a migration
57
+ // may mutate the file mid-run.
58
+ const doc = loadConfigDoc(repoRoot);
59
+ const pin = readConfigPin(repoRoot, doc) ?? "0.0.0";
60
+ const candidates = selectCandidates(repoRoot, pin, current, doc);
54
61
  // Nothing pending: make the pin live if it's merely stale, else no-op.
55
62
  if (candidates.length === 0) {
56
63
  if (semverCmp(pin, current) >= 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/migrate/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/migrate/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAuCrC,SAAS,KAAK,CAAC,CAAY,EAAE,QAAgB,EAAE,GAAsB;IACnE,IAAI,CAAC;QACH,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC1E,qCAAqC,CACtC,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,QAAgB,EAChB,GAAW,EACX,OAAe,EACf,GAAsB;IAEtB,OAAO,UAAU,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAC3E;SACE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;SACtC,KAAK,EAAE;SACP,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CACxE,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAuB;IAEvB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC;IAElD,0EAA0E;IAC1E,mEAAmE;IACnE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAC7F,CAAC;IAED,6EAA6E;IAC7E,8EAA8E;IAC9E,+BAA+B;IAC/B,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC;IAEpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAEjE,uEAAuE;IACvE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QACpF,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QACvF,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,CACvE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAClC,CAAC;YACF,OAAO;gBACL,GAAG,EAAE,IAAI;gBACT,GAAG;gBACH,OAAO;gBACP,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBAC9B,QAAQ,EAAE,EAAE;gBACZ,aAAa,EAAE,EAAE;aAClB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,sBAAsB,EAAE,CAAC;gBAC1C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;YACrF,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAuB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1D,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EACJ,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa;YACxE,MAAM,EAAE,CAAC,CAAC,QAAQ;SACnB,CAAC,CAAC,CAAC;QACJ,MAAM,aAAa,GAAG,UAAU;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC;aACrD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,CAChE,eAAe,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CACvE,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,sBAAsB,EAAE,CAAC;YAC1C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QACrF,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAMxB;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACnE,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,6DAA6D;QAC7D,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACzF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClF,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,eAAe,KAAK,CAAC,CAAC;gBAAE,eAAe,GAAG,CAAC,CAAC;YAChD,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;gBACtC,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACzD,CAAC,CAAC;YACH,IAAI,eAAe,KAAK,CAAC,CAAC;gBAAE,eAAe,GAAG,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC;gBAAE,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC;QACnF,CAAC;IACH,CAAC;IAED,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC;YAAE,MAAM,GAAG,MAAM,CAAC;IACxD,CAAC;IAED,GAAG,CAAC,IAAI,CACN;QACE,GAAG;QACH,OAAO;QACP,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM;QAC9D,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;KAC7D,EACD,gBAAgB,CACjB,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AACtE,CAAC"}
@@ -32,8 +32,16 @@ export interface Migration {
32
32
  /** One-line description, surfaced to the operator + linkable from CHANGELOG. */
33
33
  describe: string;
34
34
  class: MigrationClass;
35
- /** Idempotent: true when this repo still needs the migration. */
36
- detect(repoRoot: string): boolean;
35
+ /**
36
+ * Idempotent: true when this repo still needs the migration. The runner may
37
+ * pass `doc` — `config.yaml` parsed once for the whole selection phase — so a
38
+ * config-shape detect can skip re-parsing. Migrations that read other state
39
+ * ignore it. Never passed during the post-apply re-check (the file may have
40
+ * changed), so a detect handed no `doc` must read fresh.
41
+ */
42
+ detect(repoRoot: string, doc?: ConfigDoc | null): boolean;
37
43
  /** Apply. Must be idempotent and atomic per migration. */
38
44
  apply(repoRoot: string): MigrationResult;
39
45
  }
46
+ /** Opaque parsed-`config.yaml` handle threaded through `detect` (yaml Document). */
47
+ export type ConfigDoc = import("yaml").Document;
@@ -13,7 +13,6 @@
13
13
  * - exit_gate=manual → no-op; operator runs `cairn mission advance`.
14
14
  */
15
15
  import { existsSync, readFileSync, statSync } from "node:fs";
16
- import { join } from "node:path";
17
16
  import { parse as parseYaml } from "yaml";
18
17
  /**
19
18
  * `tasks/done/<id>/` exists → the task graduated to a terminal phase
@@ -23,7 +22,7 @@ import { parse as parseYaml } from "yaml";
23
22
  * means a sibling already graduated successfully.
24
23
  */
25
24
  function taskIsCompletedOnDisk(repoRoot, taskId) {
26
- const dir = join(repoRoot, ".cairn", "tasks", "done", taskId);
25
+ const dir = cairnDir(repoRoot, "tasks", "done", taskId);
27
26
  if (!existsSync(dir))
28
27
  return false;
29
28
  try {
@@ -77,14 +76,14 @@ function graduatedIdsCoverPrSlug(taskIds, prSlug) {
77
76
  }
78
77
  return false;
79
78
  }
80
- import { appendMissionJournal, effectivePhaseExitGate, readMissionState, readRoadmap, writeMissionState, } from "@isaacriehm/cairn-state";
79
+ import { cairnDir, appendMissionJournal, effectivePhaseExitGate, readMissionState, readRoadmap, writeMissionState, } from "@isaacriehm/cairn-state";
81
80
  import { writeInvalidationEvent } from "../events/index.js";
82
81
  import { advancePhase, allPhaseTasksDone } from "./cursor.js";
83
82
  /** Read the mission anchor stamped on a task's status.yaml. */
84
83
  export function readTaskMissionAnchor(repoRoot, taskId) {
85
84
  const candidates = [
86
- join(repoRoot, ".cairn", "tasks", "active", taskId, "status.yaml"),
87
- join(repoRoot, ".cairn", "tasks", "done", taskId, "status.yaml"),
85
+ cairnDir(repoRoot, "tasks", "active", taskId, "status.yaml"),
86
+ cairnDir(repoRoot, "tasks", "done", taskId, "status.yaml"),
88
87
  ];
89
88
  for (const path of candidates) {
90
89
  if (!existsSync(path))
@@ -1 +1 @@
1
- {"version":3,"file":"task-link.js","sourceRoot":"","sources":["../../src/missions/task-link.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-link.js","sourceRoot":"","sources":["../../src/missions/task-link.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,17 @@
1
1
  export type ProjectName = string;
2
- export declare function cairnHome(): string;
2
+ /**
3
+ * The operator's global Cairn root — `~/.cairn`. Distinct from cairn-state's
4
+ * per-repo `cairnHome(repoRoot)`: this is the machine-wide home that holds the
5
+ * model cache and the ghost registry, not a repo's state directory.
6
+ */
7
+ export declare function userCairnRoot(): string;
3
8
  export declare function modelsRoot(): string;
9
+ /**
10
+ * `~/.cairn/update-check.json` — machine-global once/day throttle + last-known
11
+ * published version for the SessionStart "newer Cairn available" notice. Global
12
+ * (not per-repo) so a dev with many repos hits the registry once/day total.
13
+ */
14
+ export declare function updateCheckCachePath(): string;
4
15
  /** `.cairn/sessions/` — per-session state root inside an adopted project. */
5
16
  export declare function sessionsDir(repoRoot: string): string;
6
17
  /** `.cairn/sessions/<id>/` — directory owned by one session for the duration of that session. */
@@ -1,15 +1,29 @@
1
1
  import { homedir } from "node:os";
2
2
  import { join, resolve } from "node:path";
3
+ import { cairnDir } from "@isaacriehm/cairn-state";
3
4
  const CAIRN_HOME_ROOT = ".cairn";
4
- export function cairnHome() {
5
+ /**
6
+ * The operator's global Cairn root — `~/.cairn`. Distinct from cairn-state's
7
+ * per-repo `cairnHome(repoRoot)`: this is the machine-wide home that holds the
8
+ * model cache and the ghost registry, not a repo's state directory.
9
+ */
10
+ export function userCairnRoot() {
5
11
  return resolve(homedir(), CAIRN_HOME_ROOT);
6
12
  }
7
13
  export function modelsRoot() {
8
- return join(cairnHome(), "models");
14
+ return join(userCairnRoot(), "models");
15
+ }
16
+ /**
17
+ * `~/.cairn/update-check.json` — machine-global once/day throttle + last-known
18
+ * published version for the SessionStart "newer Cairn available" notice. Global
19
+ * (not per-repo) so a dev with many repos hits the registry once/day total.
20
+ */
21
+ export function updateCheckCachePath() {
22
+ return join(userCairnRoot(), "update-check.json");
9
23
  }
10
24
  /** `.cairn/sessions/` — per-session state root inside an adopted project. */
11
25
  export function sessionsDir(repoRoot) {
12
- return join(repoRoot, ".cairn", "sessions");
26
+ return cairnDir(repoRoot, "sessions");
13
27
  }
14
28
  /** `.cairn/sessions/<id>/` — directory owned by one session for the duration of that session. */
15
29
  export function sessionStateDir(repoRoot, sessionId) {