@isaacriehm/cairn-core 0.25.0 → 0.31.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 (97) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/gc/config-drift.d.ts +60 -0
  3. package/dist/gc/config-drift.js +262 -0
  4. package/dist/gc/config-drift.js.map +1 -0
  5. package/dist/gc/index.d.ts +2 -0
  6. package/dist/gc/index.js +1 -0
  7. package/dist/gc/index.js.map +1 -1
  8. package/dist/gc/sweep.js +11 -0
  9. package/dist/gc/sweep.js.map +1 -1
  10. package/dist/gc/types.d.ts +2 -2
  11. package/dist/hooks/post-tool-use/sot-align.d.ts +4 -0
  12. package/dist/hooks/post-tool-use/sot-align.js +26 -3
  13. package/dist/hooks/post-tool-use/sot-align.js.map +1 -1
  14. package/dist/hooks/sot-align-common.d.ts +10 -0
  15. package/dist/hooks/sot-align-common.js +32 -0
  16. package/dist/hooks/sot-align-common.js.map +1 -1
  17. package/dist/index.d.ts +1 -0
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/init/brand-setup.js +8 -3
  21. package/dist/init/brand-setup.js.map +1 -1
  22. package/dist/init/curator/emit.d.ts +10 -0
  23. package/dist/init/curator/emit.js +29 -17
  24. package/dist/init/curator/emit.js.map +1 -1
  25. package/dist/init/curator/index.d.ts +2 -0
  26. package/dist/init/curator/index.js +2 -0
  27. package/dist/init/curator/index.js.map +1 -1
  28. package/dist/init/curator/walker.d.ts +7 -0
  29. package/dist/init/curator/walker.js +17 -4
  30. package/dist/init/curator/walker.js.map +1 -1
  31. package/dist/init/index.d.ts +1 -1
  32. package/dist/init/index.js +1 -1
  33. package/dist/init/index.js.map +1 -1
  34. package/dist/init/phases/4-seed.js +7 -2
  35. package/dist/init/phases/4-seed.js.map +1 -1
  36. package/dist/init/seed.d.ts +7 -0
  37. package/dist/init/seed.js +24 -16
  38. package/dist/init/seed.js.map +1 -1
  39. package/dist/init/topic-index/index.d.ts +8 -0
  40. package/dist/init/topic-index/index.js +17 -8
  41. package/dist/init/topic-index/index.js.map +1 -1
  42. package/dist/invariants/prune.d.ts +6 -4
  43. package/dist/invariants/prune.js +40 -7
  44. package/dist/invariants/prune.js.map +1 -1
  45. package/dist/mcp/schemas.d.ts +26 -0
  46. package/dist/mcp/schemas.js +23 -0
  47. package/dist/mcp/schemas.js.map +1 -1
  48. package/dist/mcp/tools/in-scope.js +7 -1
  49. package/dist/mcp/tools/in-scope.js.map +1 -1
  50. package/dist/mcp/tools/index.js +3 -0
  51. package/dist/mcp/tools/index.js.map +1 -1
  52. package/dist/mcp/tools/invariant-get.js +37 -28
  53. package/dist/mcp/tools/invariant-get.js.map +1 -1
  54. package/dist/mcp/tools/resolve-attention.d.ts +1 -1
  55. package/dist/mcp/tools/resolve-attention.js +92 -0
  56. package/dist/mcp/tools/resolve-attention.js.map +1 -1
  57. package/dist/mcp/tools/resync.d.ts +19 -0
  58. package/dist/mcp/tools/resync.js +109 -0
  59. package/dist/mcp/tools/resync.js.map +1 -0
  60. package/dist/migrate/config-io.d.ts +10 -0
  61. package/dist/migrate/config-io.js +16 -0
  62. package/dist/migrate/config-io.js.map +1 -1
  63. package/dist/migrate/migrations/0005-demote-autofilled-brand.d.ts +34 -0
  64. package/dist/migrate/migrations/0005-demote-autofilled-brand.js +199 -0
  65. package/dist/migrate/migrations/0005-demote-autofilled-brand.js.map +1 -0
  66. package/dist/migrate/migrations/0006-prune-sot-align-invariants.d.ts +27 -0
  67. package/dist/migrate/migrations/0006-prune-sot-align-invariants.js +55 -0
  68. package/dist/migrate/migrations/0006-prune-sot-align-invariants.js.map +1 -0
  69. package/dist/migrate/migrations/0007-collapse-component-dirs.d.ts +24 -0
  70. package/dist/migrate/migrations/0007-collapse-component-dirs.js +131 -0
  71. package/dist/migrate/migrations/0007-collapse-component-dirs.js.map +1 -0
  72. package/dist/migrate/migrations/0008-clean-adoption-scaffolding.d.ts +39 -0
  73. package/dist/migrate/migrations/0008-clean-adoption-scaffolding.js +206 -0
  74. package/dist/migrate/migrations/0008-clean-adoption-scaffolding.js.map +1 -0
  75. package/dist/migrate/registry.js +8 -0
  76. package/dist/migrate/registry.js.map +1 -1
  77. package/dist/resync/archive.d.ts +12 -0
  78. package/dist/resync/archive.js +29 -0
  79. package/dist/resync/archive.js.map +1 -0
  80. package/dist/resync/index.d.ts +73 -0
  81. package/dist/resync/index.js +389 -0
  82. package/dist/resync/index.js.map +1 -0
  83. package/dist/resync/recluster.d.ts +59 -0
  84. package/dist/resync/recluster.js +66 -0
  85. package/dist/resync/recluster.js.map +1 -0
  86. package/dist/session-start/build.js +47 -30
  87. package/dist/session-start/build.js.map +1 -1
  88. package/dist/session-start/templates.js +4 -4
  89. package/dist/session-start/templates.js.map +1 -1
  90. package/package.json +2 -2
  91. package/templates/.cairn/config/sensors.yaml +1 -1
  92. package/templates/.cairn/config/workflow.md +5 -12
  93. package/templates/.cairn/git-hooks/commit-msg +0 -2
  94. package/templates/.cairn/git-hooks/post-commit +0 -2
  95. package/templates/.cairn/ground/brand/overview.md +2 -2
  96. package/templates/.cairn/ground/brand/voice.md +2 -2
  97. package/templates/.cairn/ground/product/positioning.md +2 -2
@@ -174,13 +174,15 @@ export async function runCuratorWalker(args) {
174
174
  });
175
175
  }
176
176
  }
177
- // ── 4. Persist corpus + per-shard slices + shard plan ─────────────
178
- const corpus = writeCorpus(repoRoot, records);
179
- const plan = packShards(records);
177
+ // ── 4. Scope to the requested area (incremental re-curation) ──────
178
+ const scoped = scopeRecordsToArea(records, args.area);
179
+ // ── 5. Persist corpus + per-shard slices + shard plan ─────────────
180
+ const corpus = writeCorpus(repoRoot, scoped);
181
+ const plan = packShards(scoped);
180
182
  // Write ready-to-read per-shard corpus slices BEFORE the plan so each
181
183
  // shard's `shard_file` basename lands in shards.json. The cairn-adopt
182
184
  // skill reads these directly instead of slicing the corpus in Bash.
183
- writeShardCorpora(repoRoot, records, plan);
185
+ writeShardCorpora(repoRoot, scoped, plan);
184
186
  const shardsPath = writeShards(repoRoot, plan);
185
187
  return {
186
188
  corpus_path: corpus.corpus_path,
@@ -195,6 +197,17 @@ export async function runCuratorWalker(args) {
195
197
  /* -------------------------------------------------------------------------- */
196
198
  /* Helpers — module / docs / rules / off-limits */
197
199
  /* -------------------------------------------------------------------------- */
200
+ /**
201
+ * Keep only records whose source file is at/under `area` (repo-relative).
202
+ * A trailing slash on `area` is tolerated; an undefined/empty area is a
203
+ * no-op (full corpus). Exact-file match also counts (a single-file area).
204
+ */
205
+ function scopeRecordsToArea(records, area) {
206
+ if (area === undefined || area.length === 0)
207
+ return records;
208
+ const norm = area.endsWith("/") ? area.slice(0, -1) : area;
209
+ return records.filter((r) => r.file === norm || r.file.startsWith(`${norm}/`));
210
+ }
198
211
  function moduleSlugForFile(file) {
199
212
  // Top-level dir wins; if path has no dir, use "(root)".
200
213
  const idx = file.indexOf("/");
@@ -1 +1 @@
1
- {"version":3,"file":"walker.js","sourceRoot":"","sources":["../../../src/init/curator/walker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walker.js","sourceRoot":"","sources":["../../../src/init/curator/walker.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,6 @@ export { updateWorkflowSlugBlock } from "./workflow-block.js";
42
42
  export type { UpdateResult as WorkflowSlugUpdateResult, WorkflowSlugBlockUpdate, } from "./workflow-block.js";
43
43
  export { PHASE_IDS, INIT_STATE_PATH, phaseStateAbsPath, readPhaseState, writePhaseState, clearPhaseState, freshPhaseState, resumePhases, nextPhaseAfter, advancePhase, MAPPER_OUTPUT_PATH, mapperOutputAbsPath, readMapperOutputFile, writeMapperOutputFile, toMapperResultPersisted, runPhase1Detect, runPhase2Walker, runPhase3Mapper, runPhase4Seed, runPhase5Preflight, runPhase6Brand, runPhase7TopicIndex, runPhase8DocsIngest, runPhase9aWalker, runPhase9bCurate, runPhase9cEmit, CURATOR_FINAL_PATH, runPhase9dCompWalk, COMP_MISSING_PATH, runPhase9eCompAnnotate, runPhase9fCompEmit, runPhase10RulesMerge, runPhase11Baseline, runPhase13Multidev, } from "./phases/index.js";
44
44
  export type { PhaseId, PhaseState, PhaseOutputs, PhaseResult, PhaseQuestion, PhaseOption, PhaseError, ResumeReport, MapperResultPersisted, WalkerOutput, CurateOutput, EmitOutput, CompWalkOutput, CompAnnotateOutput, ComponentsPhaseOutput, NoopPhaseOutput, TopicIndexPhaseOutput, } from "./phases/index.js";
45
- export { validateEntry, filterExistingEvidence, stripLineRange, type FinalEntry, type ValidationResult, } from "./curator/index.js";
45
+ export { validateEntry, filterExistingEvidence, stripLineRange, type FinalEntry, type ValidationResult, runCuratorEmit, type RunCuratorEmitArgs, type RunCuratorEmitResult, runCuratorWalker, type RunCuratorWalkerArgs, type RunCuratorWalkerResult, } from "./curator/index.js";
46
46
  export { buildTopicIndex, walkProseBlocks, resolveTopics, makeHaikuJudge, } from "./topic-index/index.js";
47
47
  export type { BuildTopicIndexArgs, BuildTopicIndexResult, ProseBlock, ProseBlockKind, ResolveOptions, ResolveResult, SemanticJudge, SemanticVerdict, JudgeOptions, } from "./topic-index/index.js";
@@ -22,6 +22,6 @@ export { editYaml, freeTextWithDefault, squareIntoSquareHole, yesNo, } from "./p
22
22
  export { buildRepoSummary } from "./walker.js";
23
23
  export { updateWorkflowSlugBlock } from "./workflow-block.js";
24
24
  export { PHASE_IDS, INIT_STATE_PATH, phaseStateAbsPath, readPhaseState, writePhaseState, clearPhaseState, freshPhaseState, resumePhases, nextPhaseAfter, advancePhase, MAPPER_OUTPUT_PATH, mapperOutputAbsPath, readMapperOutputFile, writeMapperOutputFile, toMapperResultPersisted, runPhase1Detect, runPhase2Walker, runPhase3Mapper, runPhase4Seed, runPhase5Preflight, runPhase6Brand, runPhase7TopicIndex, runPhase8DocsIngest, runPhase9aWalker, runPhase9bCurate, runPhase9cEmit, CURATOR_FINAL_PATH, runPhase9dCompWalk, COMP_MISSING_PATH, runPhase9eCompAnnotate, runPhase9fCompEmit, runPhase10RulesMerge, runPhase11Baseline, runPhase13Multidev, } from "./phases/index.js";
25
- export { validateEntry, filterExistingEvidence, stripLineRange, } from "./curator/index.js";
25
+ export { validateEntry, filterExistingEvidence, stripLineRange, runCuratorEmit, runCuratorWalker, } from "./curator/index.js";
26
26
  export { buildTopicIndex, walkProseBlocks, resolveTopics, makeHaikuJudge, } from "./topic-index/index.js";
27
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"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"}
@@ -43,8 +43,13 @@ export async function runPhase4Seed(state) {
43
43
  // mapper payload); reload it lazily for the seed step.
44
44
  const mapperFull = readMapperOutputFile(state.repoRoot);
45
45
  try {
46
- // Step 1 — seed templates into .cairn/.
47
- const seed = seedCairnLayout({ repoRoot: state.repoRoot, projectSlug });
46
+ // Step 1 — seed templates into .cairn/. Stamp the real adoption time
47
+ // into every `<seed_timestamp>` token (one clock read for the pass).
48
+ const seed = seedCairnLayout({
49
+ repoRoot: state.repoRoot,
50
+ projectSlug,
51
+ nowIso: new Date().toISOString(),
52
+ });
48
53
  // Step 2 — patch <slug>: workflow.md block when workflow.md was
49
54
  // freshly seeded (existing workflow stays untouched on re-run).
50
55
  const wfRel = ".cairn/config/workflow.md";
@@ -1 +1 @@
1
- {"version":3,"file":"4-seed.js","sourceRoot":"","sources":["../../../src/init/phases/4-seed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,QAAQ,EACf,cAAc,EACd,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAiB;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE,OAAO;YACf,KAAK,EAAE;gBACL,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,0CAA0C;aACpD;YACD,KAAK;SACN,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC;IAC3C,MAAM,YAAY,GAAG,YAAY,EAAE,MAAM,CAAC;IAC1C,qEAAqE;IACrE,uDAAuD;IACvD,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAExD,IAAI,CAAC;QACH,wCAAwC;QACxC,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QAExE,gEAAgE;QAChE,gEAAgE;QAChE,MAAM,KAAK,GAAG,2BAA2B,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,IAAI,kBAAkB,GAAkB,IAAI,CAAC;QAC7C,IAAI,YAAY,KAAK,SAAS,IAAI,WAAW,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,uBAAuB,CAAC;oBACtB,qEAAqE;oBACrE,sEAAsE;oBACtE,0DAA0D;oBAC1D,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC;oBACjE,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE;wBACN,iBAAiB,EAAE,YAAY,CAAC,gBAAgB;qBACjD;iBACF,CAAC,CAAC;gBACH,mBAAmB,GAAG,IAAI,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,2DAA2D;gBAC3D,wDAAwD;gBACxD,8CAA8C;gBAC9C,kBAAkB;oBAChB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC3D,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,mBAAmB,CAAC;gBACjC,SAAS;gBACT,WAAW,EAAE,WAAW;gBACxB,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC,CAAC;YACH,mEAAmE;YACnE,8DAA8D;YAC9D,mEAAmE;YACnE,uEAAuE;YACvE,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,UAAU,KAAK,IAAI;gBAAE,MAAM,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;YAC3D,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;QAED,6DAA6D;QAC7D,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAoC,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;YAChE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAoB;oBAC7B,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC;gBACF,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI;oBAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC/C,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC1B,CAAC;YACD,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;QACL,CAAC;QAED,+CAA+C;QAC/C,8DAA8D;QAC9D,wDAAwD;QACxD,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEzD,MAAM,GAAG,GAAoB;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,oBAAoB;YACjC,gBAAgB,EAAE,gCAAgC;YAClD,qBAAqB,EAAE,mBAAmB;YAC1C,oBAAoB,EAAE,kBAAkB;YACxC,eAAe,EAAE,YAAY,CAAC,KAAK,IAAI,CAAC;YACxC,oBAAoB,EAAE,YAAY,CAAC,MAAM;SAC1C,CAAC;QACF,MAAM,IAAI,GAAe;YACvB,GAAG,KAAK;YACR,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE;SAC7C,CAAC;QACF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;SAC1B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,OAAO;YACf,KAAK,EAAE;gBACL,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,iCAAiC;gBAC1C,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACtE;YACD,KAAK;SACN,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"4-seed.js","sourceRoot":"","sources":["../../../src/init/phases/4-seed.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,13 @@ export interface SeedOptions {
11
11
  projectSlug: string;
12
12
  /** Allow overwriting existing files. Default false (collide-fail). */
13
13
  force?: boolean;
14
+ /**
15
+ * ISO timestamp stamped into the templates' `<seed_timestamp>` token
16
+ * (`generated`/`verified-at` frontmatter). The REAL adoption time — so
17
+ * `verified-at` is meaningful and the freshness system can trust it.
18
+ * Defaults to now; the phase passes a single stamp for the whole pass.
19
+ */
20
+ nowIso?: string;
14
21
  }
15
22
  export interface SeedResult {
16
23
  written_files: string[];
package/dist/init/seed.js CHANGED
@@ -89,6 +89,7 @@ function addGitInfoExclude(repoRoot) {
89
89
  export function seedCairnLayout(opts) {
90
90
  const written = [];
91
91
  const collisions = [];
92
+ const nowIso = opts.nowIso ?? new Date().toISOString();
92
93
  const ghost = isGhost(opts.repoRoot);
93
94
  const allowlist = ghost ? GHOST_SEED_ALLOWLIST : SEED_TOP_LEVEL_ALLOWLIST;
94
95
  walkFs({
@@ -110,7 +111,12 @@ export function seedCairnLayout(opts) {
110
111
  }
111
112
  mkdirSync(dirname(absDst), { recursive: true });
112
113
  const raw = readFileSync(absSrc, "utf8");
113
- const out = applyPlaceholders({ content: raw, projectSlug: opts.projectSlug, relPath: rel });
114
+ const out = applyPlaceholders({
115
+ content: raw,
116
+ projectSlug: opts.projectSlug,
117
+ relPath: rel,
118
+ nowIso,
119
+ });
114
120
  writeFileSync(absDst, out, "utf8");
115
121
  if (isExecutableTemplate(rel)) {
116
122
  try {
@@ -130,30 +136,32 @@ export function seedCairnLayout(opts) {
130
136
  return { written_files: written, collisions };
131
137
  }
132
138
  /**
133
- * Substitute the `<project_name>` placeholder in shipped templates.
134
- * Only `.cairn/config/workflow.md` and `.cairn/config/sensors.yaml`
135
- * carry it today; the function is broad enough to safely no-op on other
136
- * files.
139
+ * Substitute the shipped templates' adoption-time placeholders.
137
140
  *
138
- * Two replacement targets:
139
- * 1. `<project_name>:` YAML key `<slug>:` (the per-project extension block)
140
- * 2. Inline mentions in comments, e.g. ``<project_name>:` extension block``
141
+ * - `<seed_timestamp>` the real adoption ISO (every template carrying a
142
+ * `generated`/`verified-at` stamp). Applied to ALL files so no template
143
+ * ships a synthetic/template-author timestamp into an adopter's repo
144
+ * a fake `verified-at` is one the freshness system can't trust.
145
+ * - `<project_name>` → the project slug. Only `.cairn/config/workflow.md`
146
+ * and `.cairn/config/sensors.yaml` carry it today; scoped to those.
141
147
  *
142
148
  * The Liquid-style `{{project_name}}` placeholders inside the agent
143
149
  * prompt body are NOT touched here — those resolve at run time when the
144
150
  * orchestrator renders the prompt.
145
151
  */
146
152
  function applyPlaceholders(args) {
147
- // Only mutate workflow.md / sensors.yaml; other files pass through.
148
153
  const norm = args.relPath.split("\\").join("/");
149
- if (norm !== ".cairn/config/workflow.md" &&
150
- norm !== ".cairn/config/sensors.yaml") {
151
- return args.content;
154
+ // Seed timestamp: stamp every template's `<seed_timestamp>` token.
155
+ let out = args.content.split("<seed_timestamp>").join(args.nowIso);
156
+ // Project slug: only workflow.md / sensors.yaml carry it.
157
+ if (norm === ".cairn/config/workflow.md" ||
158
+ norm === ".cairn/config/sensors.yaml") {
159
+ out = out
160
+ .replace(/<project_name>:/g, `${args.projectSlug}:`)
161
+ .replace(/`<project_name>`/g, `\`${args.projectSlug}\``)
162
+ .replace(/<project_name>/g, args.projectSlug);
152
163
  }
153
- return args.content
154
- .replace(/<project_name>:/g, `${args.projectSlug}:`)
155
- .replace(/`<project_name>`/g, `\`${args.projectSlug}\``)
156
- .replace(/<project_name>/g, args.projectSlug);
164
+ return out;
157
165
  }
158
166
  /** Exposed for the smoke test — locate the templates root from runtime. */
159
167
  export function templatesRoot() {
@@ -1 +1 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/init/seed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/init/seed.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,14 @@ export interface BuildTopicIndexArgs {
29
29
  * statusline can render `phase 7-topic-index X/Y pairs`. Smokes opt out.
30
30
  */
31
31
  emitProgress?: boolean;
32
+ /**
33
+ * When true (default), the freshly-resolved index + anchor-map +
34
+ * file-candidates-map are written to disk and `_rejected.yaml` is
35
+ * GC'd. When false the resolve runs (the Haiku judge still fires — it
36
+ * IS the discovery), but no map is mutated: `cairn resync --recluster`
37
+ * uses this to preview a re-cluster without overwriting the live maps.
38
+ */
39
+ write?: boolean;
32
40
  }
33
41
  export interface BuildTopicIndexResult extends ResolveResult {
34
42
  blockCount: number;
@@ -10,7 +10,7 @@
10
10
  * judge to avoid Haiku.
11
11
  */
12
12
  import { logger } from "../../logger.js";
13
- import { gcRejectedYaml, readRejectedYaml, writeAnchorMap, writeFileCandidatesMap, writeRejectedYaml, writeTopicIndex, } from "@isaacriehm/cairn-state";
13
+ import { anchorMapPath, fileCandidatesMapPath, gcRejectedYaml, readRejectedYaml, topicIndexPath, writeAnchorMap, writeFileCandidatesMap, writeRejectedYaml, writeTopicIndex, } from "@isaacriehm/cairn-state";
14
14
  import { clearProgress, writeProgress } from "../progress.js";
15
15
  import { makeHaikuJudge } from "./judge.js";
16
16
  import { resolveTopics } from "./resolve.js";
@@ -42,11 +42,10 @@ export async function buildTopicIndex(args) {
42
42
  resolveOpts.judgeConcurrency = args.judgeConcurrency;
43
43
  if (onProgress !== undefined)
44
44
  resolveOpts.onProgress = onProgress;
45
+ const write = args.write !== false;
45
46
  try {
46
47
  const result = await resolveTopics(blocks, resolveOpts);
47
- const topicIndexPath = writeTopicIndex(args.repoRoot, result.topicIndex);
48
- const anchorMapPath = writeAnchorMap(args.repoRoot, result.anchorMap);
49
- // Phase 7 extension:
48
+ // Phase 7 extension (write mode):
50
49
  // - Write `file-candidates-map.yaml` so the read-enrich hook can
51
50
  // do O(1) per-file candidate-count lookups instead of scanning
52
51
  // the whole topic-index per Read.
@@ -54,16 +53,26 @@ export async function buildTopicIndex(args) {
54
53
  // dropping rejection records whose source has been deleted /
55
54
  // renamed since the last build. Centralizing GC here keeps
56
55
  // index maintenance owned by the index-builder.
57
- const fileCandidatesMapAbs = writeFileCandidatesMap(args.repoRoot, result.topicIndex);
56
+ // Preview mode (write:false) resolves identically but mutates no map
57
+ // — the resync re-cluster previews before overwriting the live index.
58
+ const topicIndexAbs = write
59
+ ? writeTopicIndex(args.repoRoot, result.topicIndex)
60
+ : topicIndexPath(args.repoRoot);
61
+ const anchorMapAbs = write
62
+ ? writeAnchorMap(args.repoRoot, result.anchorMap)
63
+ : anchorMapPath(args.repoRoot);
64
+ const fileCandidatesMapAbs = write
65
+ ? writeFileCandidatesMap(args.repoRoot, result.topicIndex)
66
+ : fileCandidatesMapPath(args.repoRoot);
58
67
  const fileCandidates = perFileCandidateCounts(result.topicIndex);
59
- const rejectedGcDropped = runRejectedGc(args.repoRoot, result.topicIndex);
68
+ const rejectedGcDropped = write ? runRejectedGc(args.repoRoot, result.topicIndex) : [];
60
69
  if (emitProgress)
61
70
  clearProgress(args.repoRoot);
62
71
  return finishResult({
63
72
  result,
64
73
  blocks,
65
- topicIndexPath,
66
- anchorMapPath,
74
+ topicIndexPath: topicIndexAbs,
75
+ anchorMapPath: anchorMapAbs,
67
76
  fileCandidatesMapPath: fileCandidatesMapAbs,
68
77
  fileCandidates,
69
78
  rejectedGcDropped,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/init/topic-index/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/init/topic-index/index.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,12 @@
11
11
  * `capture_source: layer-a-sot-align` are eligible. Curated invariants
12
12
  * (init, curator, manual `record`/`propose`) are never touched.
13
13
  *
14
- * surgical (default) — archive a sot-align invariant whose statement
15
- * carries no constraint shape (no modal/marker).
16
- * This mirrors the new creation gate: anything that
17
- * couldn't be minted today gets retired.
14
+ * surgical (default) — archive a sot-align invariant that couldn't be
15
+ * minted today: captured from a test/fixture file,
16
+ * titled with a box-drawing separator, or carrying
17
+ * no constraint shape in its STATEMENT (title + lead
18
+ * lines — a modal buried deeper in incidental prose
19
+ * no longer rescues a description).
18
20
  * all — archive every sot-align invariant (full reset).
19
21
  *
20
22
  * Retirement reuses `archiveEntity` (move to `.cairn/ground/.archive/`,
@@ -11,10 +11,12 @@
11
11
  * `capture_source: layer-a-sot-align` are eligible. Curated invariants
12
12
  * (init, curator, manual `record`/`propose`) are never touched.
13
13
  *
14
- * surgical (default) — archive a sot-align invariant whose statement
15
- * carries no constraint shape (no modal/marker).
16
- * This mirrors the new creation gate: anything that
17
- * couldn't be minted today gets retired.
14
+ * surgical (default) — archive a sot-align invariant that couldn't be
15
+ * minted today: captured from a test/fixture file,
16
+ * titled with a box-drawing separator, or carrying
17
+ * no constraint shape in its STATEMENT (title + lead
18
+ * lines — a modal buried deeper in incidental prose
19
+ * no longer rescues a description).
18
20
  * all — archive every sot-align invariant (full reset).
19
21
  *
20
22
  * Retirement reuses `archiveEntity` (move to `.cairn/ground/.archive/`,
@@ -24,9 +26,24 @@
24
26
  import { existsSync, readdirSync, readFileSync } from "node:fs";
25
27
  import { join } from "node:path";
26
28
  import { archiveEntity, deleteSotCacheEntry, invariantsDir, parseFrontmatterRecord, readSotCache, writeInvariantsLedger, writeSotCache, } from "@isaacriehm/cairn-state";
27
- import { hasConstraintShape } from "../hooks/sot-align-common.js";
29
+ import { hasConstraintShape, isNonLexicalLine, isTestPath, } from "../hooks/sot-align-common.js";
28
30
  /** The runtime hook's stamp — the only capture_source this sweep retires. */
29
31
  const SOT_ALIGN_SOURCE = "layer-a-sot-align";
32
+ /**
33
+ * The invariant's STATEMENT — its title plus the first two non-blank body
34
+ * lines. A real invariant carries its rule here; the surgical gate looks
35
+ * for constraint shape in this window, not in the whole captured block, so
36
+ * a modal buried in incidental prose deeper down can't keep a description
37
+ * alive as an "invariant".
38
+ */
39
+ function statementOf(title, body) {
40
+ const lead = body
41
+ .split("\n")
42
+ .map((l) => l.trim())
43
+ .filter((l) => l.length > 0)
44
+ .slice(0, 2);
45
+ return [title, ...lead].join("\n");
46
+ }
30
47
  export function pruneInvariants(opts) {
31
48
  const mode = opts.mode ?? "surgical";
32
49
  const dryRun = opts.dryRun ?? false;
@@ -58,15 +75,31 @@ export function pruneInvariants(opts) {
58
75
  continue; // never touch curated invariants
59
76
  result.sotAlignTotal += 1;
60
77
  const title = typeof fm["title"] === "string" ? fm["title"] : "";
78
+ const sourceFile = typeof fm["source_file"] === "string" ? fm["source_file"] : "";
61
79
  let prune = false;
62
80
  let reason = "";
63
81
  if (mode === "all") {
64
82
  prune = true;
65
83
  reason = "full reset of sot-align invariants";
66
84
  }
67
- else if (!hasConstraintShape(`${title}\n${body}`)) {
85
+ else if (isTestPath(sourceFile)) {
86
+ // Test/fixture/harness comment lifted as an "invariant" — a buried
87
+ // modal ("must roll back") reads like a rule but describes test setup.
88
+ prune = true;
89
+ reason = "captured from a test/fixture file — not a product invariant";
90
+ }
91
+ else if (isNonLexicalLine(title)) {
92
+ // Title is a box-drawing separator / pure punctuation — a capture
93
+ // artifact, never a rule statement.
94
+ prune = true;
95
+ reason = "separator/non-lexical title — not a rule statement";
96
+ }
97
+ else if (!hasConstraintShape(statementOf(title, body))) {
98
+ // The constraint shape must sit in the STATEMENT (title + lead lines),
99
+ // not anywhere in the multi-line captured block. A description whose
100
+ // only modal is incidental prose three lines down is not an invariant.
68
101
  prune = true;
69
- reason = "no constraint shape — not a real invariant under the creation gate";
102
+ reason = "no constraint shape in statement — not a real invariant under the creation gate";
70
103
  }
71
104
  if (!prune) {
72
105
  result.kept += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../src/invariants/prune.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../src/invariants/prune.ts"],"names":[],"mappings":"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"}
@@ -177,6 +177,31 @@ export declare const migrateInput: {
177
177
  /** Preview the pending review migrations without writing anything. */
178
178
  dry_run: z.ZodOptional<z.ZodBoolean>;
179
179
  };
180
+ export declare const resyncInput: {
181
+ /** Apply the proposed config edits. Default false — preview only (safe). */
182
+ apply: z.ZodOptional<z.ZodBoolean>;
183
+ /** Limit to config-drift findings at/under this repo-relative dir. */
184
+ area: z.ZodOptional<z.ZodString>;
185
+ /**
186
+ * Run the LLM re-cluster pass (re-walk prose, Haiku-judge new semantic
187
+ * collisions, rebuild topic-index + anchor-map) instead of the deterministic
188
+ * config pass. Spends Haiku (only on genuinely-new prose — unchanged pairs
189
+ * hit the cache); opt-in. `apply` then overwrites the maps (archived first).
190
+ */
191
+ recluster: z.ZodOptional<z.ZodBoolean>;
192
+ /**
193
+ * Re-curation phase, driven by the cairn-resync skill (curator-map/reduce
194
+ * subagents do the middle):
195
+ * - "walk" — build the curator corpus + shards over `area` (incremental),
196
+ * returning the shard plan for the skill to dispatch subagents over.
197
+ * - "emit" — read the skill-written `final.jsonl` and emit each entry as a
198
+ * reviewable DEC/INV draft to `_inbox/` (never auto-graduates).
199
+ */
200
+ recurate: z.ZodOptional<z.ZodEnum<{
201
+ emit: "emit";
202
+ walk: "walk";
203
+ }>>;
204
+ };
180
205
  export declare const resolveAttentionInput: {
181
206
  /**
182
207
  * Item id from the attention skill — DEC-<hash> for a draft, the
@@ -237,6 +262,7 @@ export declare const resolveAttentionInput: {
237
262
  bypass: "bypass";
238
263
  review: "review";
239
264
  decision_draft: "decision_draft";
265
+ invariant_draft: "invariant_draft";
240
266
  baseline_finding: "baseline_finding";
241
267
  invalidation_event: "invalidation_event";
242
268
  drift: "drift";
@@ -237,6 +237,28 @@ export const migrateInput = {
237
237
  /** Preview the pending review migrations without writing anything. */
238
238
  dry_run: z.boolean().optional(),
239
239
  };
240
+ export const resyncInput = {
241
+ /** Apply the proposed config edits. Default false — preview only (safe). */
242
+ apply: z.boolean().optional(),
243
+ /** Limit to config-drift findings at/under this repo-relative dir. */
244
+ area: z.string().optional(),
245
+ /**
246
+ * Run the LLM re-cluster pass (re-walk prose, Haiku-judge new semantic
247
+ * collisions, rebuild topic-index + anchor-map) instead of the deterministic
248
+ * config pass. Spends Haiku (only on genuinely-new prose — unchanged pairs
249
+ * hit the cache); opt-in. `apply` then overwrites the maps (archived first).
250
+ */
251
+ recluster: z.boolean().optional(),
252
+ /**
253
+ * Re-curation phase, driven by the cairn-resync skill (curator-map/reduce
254
+ * subagents do the middle):
255
+ * - "walk" — build the curator corpus + shards over `area` (incremental),
256
+ * returning the shard plan for the skill to dispatch subagents over.
257
+ * - "emit" — read the skill-written `final.jsonl` and emit each entry as a
258
+ * reviewable DEC/INV draft to `_inbox/` (never auto-graduates).
259
+ */
260
+ recurate: z.enum(["walk", "emit"]).optional(),
261
+ };
240
262
  export const resolveAttentionInput = {
241
263
  /**
242
264
  * Item id from the attention skill — DEC-<hash> for a draft, the
@@ -290,6 +312,7 @@ export const resolveAttentionInput = {
290
312
  */
291
313
  kind: z.enum([
292
314
  "decision_draft",
315
+ "invariant_draft",
293
316
  "baseline_finding",
294
317
  "invalidation_event",
295
318
  "drift",