@isaacriehm/cairn-core 0.3.8 → 0.4.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 (92) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/attention/bulk-accept.d.ts +18 -0
  3. package/dist/attention/bulk-accept.js +46 -0
  4. package/dist/attention/bulk-accept.js.map +1 -1
  5. package/dist/attention/dedup.d.ts +68 -0
  6. package/dist/attention/dedup.js +239 -0
  7. package/dist/attention/dedup.js.map +1 -0
  8. package/dist/attention/index.d.ts +3 -0
  9. package/dist/attention/index.js +3 -0
  10. package/dist/attention/index.js.map +1 -1
  11. package/dist/attention/restore.d.ts +43 -0
  12. package/dist/attention/restore.js +127 -0
  13. package/dist/attention/restore.js.map +1 -0
  14. package/dist/attention/source-strip.d.ts +49 -0
  15. package/dist/attention/source-strip.js +340 -0
  16. package/dist/attention/source-strip.js.map +1 -0
  17. package/dist/claude/cache.d.ts +31 -0
  18. package/dist/claude/cache.js +0 -0
  19. package/dist/claude/cache.js.map +1 -0
  20. package/dist/claude/error.d.ts +1 -1
  21. package/dist/claude/error.js +5 -0
  22. package/dist/claude/error.js.map +1 -1
  23. package/dist/claude/runner.js +60 -3
  24. package/dist/claude/runner.js.map +1 -1
  25. package/dist/claude/types.d.ts +25 -0
  26. package/dist/hooks/runners/session-start.js +24 -2
  27. package/dist/hooks/runners/session-start.js.map +1 -1
  28. package/dist/init/baseline-audit.d.ts +8 -0
  29. package/dist/init/baseline-audit.js +1 -1
  30. package/dist/init/baseline-audit.js.map +1 -1
  31. package/dist/init/brand-derive.js +53 -34
  32. package/dist/init/brand-derive.js.map +1 -1
  33. package/dist/init/index.d.ts +4 -2
  34. package/dist/init/index.js +3 -1
  35. package/dist/init/index.js.map +1 -1
  36. package/dist/init/ingest-docs.d.ts +7 -0
  37. package/dist/init/ingest-docs.js +4 -1
  38. package/dist/init/ingest-docs.js.map +1 -1
  39. package/dist/init/mapper-merge.js +1 -0
  40. package/dist/init/mapper-merge.js.map +1 -1
  41. package/dist/init/phases/3-mapper.js +18 -0
  42. package/dist/init/phases/3-mapper.js.map +1 -1
  43. package/dist/init/phases/5-brand.js +3 -0
  44. package/dist/init/phases/5-brand.js.map +1 -1
  45. package/dist/init/phases/6-docs-ingest.js +14 -0
  46. package/dist/init/phases/6-docs-ingest.js.map +1 -1
  47. package/dist/init/phases/7b-source-comments.d.ts +9 -0
  48. package/dist/init/phases/7b-source-comments.js +41 -1
  49. package/dist/init/phases/7b-source-comments.js.map +1 -1
  50. package/dist/init/phases/7c-rules-merge.js +10 -0
  51. package/dist/init/phases/7c-rules-merge.js.map +1 -1
  52. package/dist/init/phases/index.d.ts +2 -0
  53. package/dist/init/phases/index.js +2 -0
  54. package/dist/init/phases/index.js.map +1 -1
  55. package/dist/init/phases/parallel-678.d.ts +31 -0
  56. package/dist/init/phases/parallel-678.js +205 -0
  57. package/dist/init/phases/parallel-678.js.map +1 -0
  58. package/dist/init/phases/source-comments-output-io.d.ts +78 -0
  59. package/dist/init/phases/source-comments-output-io.js +84 -0
  60. package/dist/init/phases/source-comments-output-io.js.map +1 -0
  61. package/dist/init/progress.d.ts +35 -0
  62. package/dist/init/progress.js +71 -0
  63. package/dist/init/progress.js.map +1 -0
  64. package/dist/init/rules-merge/ingest.d.ts +14 -0
  65. package/dist/init/rules-merge/ingest.js +8 -2
  66. package/dist/init/rules-merge/ingest.js.map +1 -1
  67. package/dist/init/source-comments/classify.d.ts +6 -0
  68. package/dist/init/source-comments/classify.js +60 -3
  69. package/dist/init/source-comments/classify.js.map +1 -1
  70. package/dist/init/source-comments/ingest.d.ts +21 -0
  71. package/dist/init/source-comments/ingest.js +28 -3
  72. package/dist/init/source-comments/ingest.js.map +1 -1
  73. package/dist/mcp/tools/attention-dedup.d.ts +21 -0
  74. package/dist/mcp/tools/attention-dedup.js +34 -0
  75. package/dist/mcp/tools/attention-dedup.js.map +1 -0
  76. package/dist/mcp/tools/attention-restore.d.ts +14 -0
  77. package/dist/mcp/tools/attention-restore.js +22 -0
  78. package/dist/mcp/tools/attention-restore.js.map +1 -0
  79. package/dist/mcp/tools/index.js +6 -1
  80. package/dist/mcp/tools/index.js.map +1 -1
  81. package/dist/mcp/tools/init-phases.d.ts +1 -0
  82. package/dist/mcp/tools/init-phases.js +88 -1
  83. package/dist/mcp/tools/init-phases.js.map +1 -1
  84. package/dist/mcp/tools/resolve-attention.js +44 -141
  85. package/dist/mcp/tools/resolve-attention.js.map +1 -1
  86. package/dist/status-line/format.d.ts +4 -1
  87. package/dist/status-line/format.js +26 -3
  88. package/dist/status-line/format.js.map +1 -1
  89. package/dist/status-line/reader.js +25 -1
  90. package/dist/status-line/reader.js.map +1 -1
  91. package/package.json +1 -1
  92. package/templates/.claude/rules/cairn.md +47 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../src/init/source-comments/ingest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../src/init/source-comments/ingest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * `cairn_attention_dedup` MCP tool.
3
+ *
4
+ * Wraps `findDuplicateClusters` so the cairn-attention skill can render
5
+ * a `## Potential duplicates` section before per-draft triage prompts.
6
+ * Pure-deterministic (no LLM, no quota burn) — token-Jaccard over the
7
+ * frontmatter title + the first 500 chars of body, two-tier thresholds:
8
+ * - `>= 0.5` definite duplicates → skill offers merge-by-default
9
+ * - `0.4..0.5` potential duplicates → flagged for review
10
+ *
11
+ * Skill renders the cluster summary, then drives the operator through
12
+ * triage with `cairn_resolve_attention(choice='b', kind='decision_draft')`
13
+ * to reject the duplicates and keep the survivor.
14
+ */
15
+ import type { ToolDef } from "./types.js";
16
+ interface DedupInput {
17
+ thresholdFloor?: number;
18
+ thresholdDefinite?: number;
19
+ }
20
+ export declare const attentionDedupTool: ToolDef<DedupInput>;
21
+ export {};
@@ -0,0 +1,34 @@
1
+ /**
2
+ * `cairn_attention_dedup` MCP tool.
3
+ *
4
+ * Wraps `findDuplicateClusters` so the cairn-attention skill can render
5
+ * a `## Potential duplicates` section before per-draft triage prompts.
6
+ * Pure-deterministic (no LLM, no quota burn) — token-Jaccard over the
7
+ * frontmatter title + the first 500 chars of body, two-tier thresholds:
8
+ * - `>= 0.5` definite duplicates → skill offers merge-by-default
9
+ * - `0.4..0.5` potential duplicates → flagged for review
10
+ *
11
+ * Skill renders the cluster summary, then drives the operator through
12
+ * triage with `cairn_resolve_attention(choice='b', kind='decision_draft')`
13
+ * to reject the duplicates and keep the survivor.
14
+ */
15
+ import { z } from "zod";
16
+ import { DEFAULT_THRESHOLD_DEFINITE, DEFAULT_THRESHOLD_FLOOR, findDuplicateClusters, } from "../../attention/index.js";
17
+ const inputShape = {
18
+ thresholdFloor: z.number().min(0).max(1).optional(),
19
+ thresholdDefinite: z.number().min(0).max(1).optional(),
20
+ };
21
+ export const attentionDedupTool = {
22
+ name: "cairn_attention_dedup",
23
+ description: "Cluster pending DEC drafts in `_inbox/` by token-Jaccard similarity. Returns clusters of likely-duplicate drafts the cairn-attention skill renders before per-item triage. Two tiers: definite (Jaccard >= 0.5) and potential (0.4..0.5). Pure-deterministic, no Haiku, no quota burn — same input gives the same clusters every time. Defaults: floor 0.4, definite 0.5.",
24
+ inputSchema: inputShape,
25
+ handler: async (ctx, input) => {
26
+ const result = findDuplicateClusters({
27
+ repoRoot: ctx.repoRoot,
28
+ thresholdFloor: input.thresholdFloor ?? DEFAULT_THRESHOLD_FLOOR,
29
+ thresholdDefinite: input.thresholdDefinite ?? DEFAULT_THRESHOLD_DEFINITE,
30
+ });
31
+ return result;
32
+ },
33
+ };
34
+ //# sourceMappingURL=attention-dedup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention-dedup.js","sourceRoot":"","sources":["../../../src/mcp/tools/attention-dedup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAIlC,MAAM,UAAU,GAAG;IACjB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACvD,CAAC;AAOF,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,2WAA2W;IAC7W,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,KAAK,EAAE,GAAe,EAAE,KAAiB,EAAE,EAAE;QACpD,MAAM,MAAM,GAAG,qBAAqB,CAAC;YACnC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,uBAAuB;YAC/D,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,0BAA0B;SACzE,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `cairn_attention_restore` MCP tool.
3
+ *
4
+ * Move a previously rejected or accepted DEC back into `_inbox/` as a
5
+ * draft so the operator can re-evaluate via the normal
6
+ * `cairn_resolve_attention` flow. See `attention/restore.ts` for the
7
+ * exact semantics around source-cite preservation.
8
+ */
9
+ import type { ToolDef } from "./types.js";
10
+ interface RestoreInput {
11
+ decId: string;
12
+ }
13
+ export declare const attentionRestoreTool: ToolDef<RestoreInput>;
14
+ export {};
@@ -0,0 +1,22 @@
1
+ /**
2
+ * `cairn_attention_restore` MCP tool.
3
+ *
4
+ * Move a previously rejected or accepted DEC back into `_inbox/` as a
5
+ * draft so the operator can re-evaluate via the normal
6
+ * `cairn_resolve_attention` flow. See `attention/restore.ts` for the
7
+ * exact semantics around source-cite preservation.
8
+ */
9
+ import { z } from "zod";
10
+ import { restoreDec } from "../../attention/index.js";
11
+ const inputShape = {
12
+ decId: z.string().regex(/^DEC-\d{4,}$/),
13
+ };
14
+ export const attentionRestoreTool = {
15
+ name: "cairn_attention_restore",
16
+ description: "Move a previously rejected or accepted DEC back to draft state in `_inbox/<id>.draft.md` so the operator can re-evaluate via cairn_resolve_attention. Rejected DECs round-trip cleanly. Accepted DECs lose their canonical entry + ledger row but the inline `// §DEC-NNNN` source cite stays — re-accepting is idempotent (handled by the already-stripped check). Returns the prior state (`rejected` | `accepted` | `draft` | `not-found`) and the new draft path.",
17
+ inputSchema: inputShape,
18
+ handler: async (ctx, input) => {
19
+ return await restoreDec({ repoRoot: ctx.repoRoot, decId: input.decId });
20
+ },
21
+ };
22
+ //# sourceMappingURL=attention-restore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention-restore.js","sourceRoot":"","sources":["../../../src/mcp/tools/attention-restore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAItD,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC;CACxC,CAAC;AAMF,MAAM,CAAC,MAAM,oBAAoB,GAA0B;IACzD,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,ucAAuc;IACzc,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,KAAK,EAAE,GAAe,EAAE,KAAmB,EAAE,EAAE;QACtD,OAAO,MAAM,UAAU,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;CACF,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { archiveTool } from "./archive.js";
2
+ import { attentionDedupTool } from "./attention-dedup.js";
3
+ import { attentionRestoreTool } from "./attention-restore.js";
2
4
  import { bulkAcceptAttentionTool } from "./bulk-accept-attention.js";
3
5
  import { canonicalForTopicTool } from "./canonical-for-topic.js";
4
6
  import { decisionGetTool } from "./decision-get.js";
@@ -6,7 +8,7 @@ import { decisionsForSymbolTool } from "./decisions-for-symbol.js";
6
8
  import { decisionsInScopeTool } from "./decisions-in-scope.js";
7
9
  import { getFullTool } from "./get-full.js";
8
10
  import { groundGetTool } from "./ground-get.js";
9
- import { initPhaseTools, initResumeTool } from "./init-phases.js";
11
+ import { initParallel678Tool, initPhaseTools, initResumeTool, } from "./init-phases.js";
10
12
  import { invariantGetTool } from "./invariant-get.js";
11
13
  import { invariantsInScopeTool } from "./invariants-in-scope.js";
12
14
  import { queryHistoryTool } from "./query-history.js";
@@ -39,8 +41,11 @@ export const allTools = [
39
41
  // Write — plugin-era
40
42
  resolveAttentionTool,
41
43
  bulkAcceptAttentionTool,
44
+ attentionDedupTool,
45
+ attentionRestoreTool,
42
46
  // Write — init pipeline (v0.2.0 MCP-native init)
43
47
  initResumeTool,
48
+ initParallel678Tool,
44
49
  ...initPhaseTools,
45
50
  ];
46
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,yBAAyB;IACzB,eAAmC;IACnC,oBAAwC;IACxC,sBAA0C;IAC1C,qBAAyC;IACzC,aAAiC;IACjC,mBAAuC;IACvC,gBAAoC;IACpC,qBAAyC;IACzC,6BAA6B;IAC7B,UAA8B;IAC9B,YAAgC;IAChC,WAA+B;IAC/B,4BAA4B;IAC5B,gBAAoC;IACpC,QAAQ;IACR,kBAAsC;IACtC,cAAkC;IAClC,WAA+B;IAC/B,qBAAqB;IACrB,oBAAwC;IACxC,uBAA2C;IAC3C,iDAAiD;IACjD,cAAkC;IAClC,GAAI,cAAqC;CAC1C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,yBAAyB;IACzB,eAAmC;IACnC,oBAAwC;IACxC,sBAA0C;IAC1C,qBAAyC;IACzC,aAAiC;IACjC,mBAAuC;IACvC,gBAAoC;IACpC,qBAAyC;IACzC,6BAA6B;IAC7B,UAA8B;IAC9B,YAAgC;IAChC,WAA+B;IAC/B,4BAA4B;IAC5B,gBAAoC;IACpC,QAAQ;IACR,kBAAsC;IACtC,cAAkC;IAClC,WAA+B;IAC/B,qBAAqB;IACrB,oBAAwC;IACxC,uBAA2C;IAC3C,kBAAsC;IACtC,oBAAwC;IACxC,iDAAiD;IACjD,cAAkC;IAClC,mBAAuC;IACvC,GAAI,cAAqC;CAC1C,CAAC"}
@@ -34,5 +34,6 @@ interface PhaseToolInput {
34
34
  interface ResumeToolInput {
35
35
  }
36
36
  export declare const initPhaseTools: ToolDef<PhaseToolInput>[];
37
+ export declare const initParallel678Tool: ToolDef<PhaseToolInput>;
37
38
  export declare const initResumeTool: ToolDef<ResumeToolInput>;
38
39
  export {};
@@ -26,7 +26,7 @@
26
26
  * phase outputs — a single bad call could nuke a 90KB mapper run.
27
27
  */
28
28
  import { z } from "zod";
29
- import { PHASE_IDS, freshPhaseState, readPhaseState, resumePhases, runPhase10Strip, runPhase12Multidev, runPhase1Detect, runPhase2Walker, runPhase3Mapper, runPhase3bSeed, runPhase4Pilot, runPhase5Brand, runPhase6DocsIngest, runPhase7bSourceComments, runPhase7cRulesMerge, runPhase8Baseline, writePhaseState, } from "../../init/index.js";
29
+ import { PHASE_IDS, clearProgress, freshPhaseState, readPhaseState, resumePhases, runPhase10Strip, runPhase12Multidev, runPhase1Detect, runPhase2Walker, runPhase3Mapper, runPhase3bSeed, runPhase4Pilot, runPhase5Brand, runPhase6DocsIngest, runPhase7bSourceComments, runPhase7cRulesMerge, runPhase8Baseline, runPhases678Parallel, writePhaseState, writeProgress, } from "../../init/index.js";
30
30
  import { mcpError } from "../errors.js";
31
31
  const phaseIdEnum = z.enum(PHASE_IDS);
32
32
  const phaseStateSchema = z.object({
@@ -103,7 +103,43 @@ function makePhaseTool(id) {
103
103
  ? { ...state, answer: input.answer }
104
104
  : state;
105
105
  const runner = RUNNERS[id];
106
+ // Coarse-grained statusline coverage: every phase gets at least
107
+ // one heartbeat write (batch=1, total=1) at entry so the operator
108
+ // sees the current phase id mid-init even for fast phases. The
109
+ // long phases (3-mapper, 6-docs-ingest, 7b-source-comments,
110
+ // 7c-rules-merge) overwrite with finer-grained per-batch progress
111
+ // from inside the runner. clearProgress at the end of every
112
+ // phase ensures stale heartbeats don't survive into the next.
113
+ const isLongPhase = id === "3-mapper" ||
114
+ id === "6-docs-ingest" ||
115
+ id === "7b-source-comments" ||
116
+ id === "7c-rules-merge";
117
+ if (!isLongPhase) {
118
+ writeProgress(state.repoRoot, {
119
+ phase: id,
120
+ batch: 1,
121
+ total: 1,
122
+ startedAt: Date.now(),
123
+ });
124
+ }
125
+ const t0 = performance.now();
106
126
  const result = await runner(stateForRun);
127
+ const durationMs = Math.round(performance.now() - t0);
128
+ clearProgress(state.repoRoot);
129
+ // Stamp `duration_ms` on the phase's output entry so init-state.json
130
+ // carries an ETA-auditable record for every phase, not just the ones
131
+ // that bother to track time internally (3-mapper). The result.state
132
+ // returned by the runner is freshly constructed; mutating its
133
+ // current-phase entry is safe and doesn't ripple to prior phases.
134
+ if (result.status !== "error") {
135
+ const phaseOut = result.state.outputs[id];
136
+ if (typeof phaseOut === "object" && phaseOut !== null) {
137
+ const obj = phaseOut;
138
+ if (obj["duration_ms"] === undefined) {
139
+ obj["duration_ms"] = durationMs;
140
+ }
141
+ }
142
+ }
107
143
  // Persist state ONLY on non-error results. An error path returns
108
144
  // the input state echo unchanged; persisting it would clobber
109
145
  // the on-disk state file with whatever shape the caller sent in
@@ -177,6 +213,57 @@ function phaseDescription(id) {
177
213
  return "Phase 12-multidev — detect per-host package manager(s) and emit JOIN.md hints for new contributors. No filesystem mutations. Idempotent.";
178
214
  }
179
215
  }
216
+ /**
217
+ * Combined parallel runner for the post-pilot ingestion window. Runs
218
+ * phases 6-docs-ingest, 7b-source-comments, and 7c-rules-merge in
219
+ * parallel inside a single MCP call. The cairn-adopt skill prefers
220
+ * this tool when state.currentPhase=6-docs-ingest; the per-phase
221
+ * sequential tools remain registered for fallback / debug paths.
222
+ */
223
+ function makeParallel678Tool() {
224
+ return {
225
+ name: "cairn_init_phases_678_parallel",
226
+ description: "Run phases 6-docs-ingest, 7b-source-comments, and 7c-rules-merge concurrently. Pre-scans existing DEC + INV ids and threads shared Sets through all three so id allocations don't collide. Returns the combined slim response with nextPhase=8-baseline. Skill prefers this when state.currentPhase=6-docs-ingest; the per-phase sequential tools stay available for fallback. Wall-clock saves the smaller-two phases' time on real-world adoptions.",
227
+ inputSchema: initPhaseInput,
228
+ handler: async (ctx, input) => {
229
+ let state = input.state ?? null;
230
+ if (state === null) {
231
+ state = readPhaseState(ctx.repoRoot);
232
+ }
233
+ if (state === null) {
234
+ return mcpError("VALIDATION_FAILED", "cairn_init_phases_678_parallel found no init state at .cairn/init-state.json. Call cairn_init_resume to start a fresh pipeline.");
235
+ }
236
+ if (state.currentPhase !== "6-docs-ingest") {
237
+ return mcpError("VALIDATION_FAILED", `cairn_init_phases_678_parallel requires state.currentPhase=6-docs-ingest, got ${state.currentPhase}`);
238
+ }
239
+ if (state.repoRoot !== ctx.repoRoot) {
240
+ return mcpError("VALIDATION_FAILED", `state.repoRoot ${state.repoRoot} does not match MCP context ${ctx.repoRoot}`);
241
+ }
242
+ const t0 = performance.now();
243
+ const result = await runPhases678Parallel(state);
244
+ const durationMs = Math.round(performance.now() - t0);
245
+ if (result.status !== "error") {
246
+ for (const id of ["6-docs-ingest", "7b-source-comments", "7c-rules-merge"]) {
247
+ const phaseOut = result.state.outputs[id];
248
+ if (typeof phaseOut === "object" && phaseOut !== null) {
249
+ const obj = phaseOut;
250
+ if (obj["duration_ms"] === undefined) {
251
+ obj["duration_ms"] = durationMs;
252
+ }
253
+ }
254
+ }
255
+ try {
256
+ writePhaseState(result.state);
257
+ }
258
+ catch (err) {
259
+ return mcpError("INTERNAL_ERROR", `failed to persist init state: ${err instanceof Error ? err.message : String(err)}`);
260
+ }
261
+ }
262
+ return toSlim(result);
263
+ },
264
+ };
265
+ }
180
266
  export const initPhaseTools = PHASE_IDS.map((id) => makePhaseTool(id));
267
+ export const initParallel678Tool = makeParallel678Tool();
181
268
  export const initResumeTool = makeResumeTool();
182
269
  //# sourceMappingURL=init-phases.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-phases.js","sourceRoot":"","sources":["../../../src/mcp/tools/init-phases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-phases.js","sourceRoot":"","sources":["../../../src/mcp/tools/init-phases.ts"],"names":[],"mappings":"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"}
@@ -20,14 +20,13 @@
20
20
  * | invalidation_event | c | abort — caller archives task (no-op here) |
21
21
  * | drift | a/b/c | acknowledged (drift surface not yet active) |
22
22
  */
23
- import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, writeFileSync, } from "node:fs";
23
+ import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync, } from "node:fs";
24
24
  import { dirname, join } from "node:path";
25
- import { parse as parseYaml } from "yaml";
25
+ import { parseDraftMeta, restoreDec, runDecSourceStrip, } from "../../attention/index.js";
26
26
  import { writeInvalidationEvent } from "../../events/index.js";
27
27
  import { decisionsDir } from "../../ground/index.js";
28
28
  import { writeDecisionsLedger } from "../../ground/ledgers.js";
29
29
  import { clearDeferState, writeDeferState, } from "../../hooks/defer.js";
30
- import { applyStripReplace, formatBareCitation, } from "../../init/source-comments/strip-replace.js";
31
30
  import { withWriteLock } from "../../lock.js";
32
31
  import { logger } from "../../logger.js";
33
32
  import { requireBootstrap } from "../bootstrap-guard.js";
@@ -111,33 +110,61 @@ function resolveStopSignal(ctx, input, kind) {
111
110
  };
112
111
  });
113
112
  }
114
- function resolveDecisionDraft(ctx, input) {
113
+ async function resolveDecisionDraft(ctx, input) {
115
114
  if (!/^DEC-\d{4,}$/.test(input.item_id)) {
116
115
  return Promise.resolve(mcpError("VALIDATION_FAILED", `decision_draft item_id must match DEC-NNNN, got ${input.item_id}`));
117
116
  }
118
117
  const decDir = decisionsDir(ctx.repoRoot);
119
118
  const inboxPath = join(decDir, "_inbox", `${input.item_id}.draft.md`);
119
+ const rejectedPath = join(decDir, "_inbox", `${input.item_id}.rejected.md`);
120
+ const acceptedPath = join(decDir, `${input.item_id}.md`);
121
+ // Auto-restore: when the draft is missing but the same id sits as a
122
+ // rejected or already-accepted entry, transparently roll it back to
123
+ // a draft so the operator's choice (a/b/c) lands in one MCP call
124
+ // instead of needing an explicit `cairn_attention_restore` first.
125
+ // Idempotent re-accept on a still-canonical accepted DEC is the same
126
+ // shape as accepting a fresh draft — rebuild ledger, no double-strip
127
+ // (already-stripped check inside runDecSourceStrip).
128
+ let autoRestoredFrom = null;
120
129
  if (!existsSync(inboxPath)) {
121
- return Promise.resolve(mcpError("FILE_NOT_FOUND", `no draft at ${inboxPath}`));
130
+ if (existsSync(rejectedPath) || existsSync(acceptedPath)) {
131
+ const restored = await restoreDec({
132
+ repoRoot: ctx.repoRoot,
133
+ decId: input.item_id,
134
+ });
135
+ if (!restored.ok) {
136
+ return mcpError("FILE_NOT_FOUND", `no draft at ${inboxPath}; auto-restore from ${restored.priorState} failed: ${restored.reason ?? "unknown"}`);
137
+ }
138
+ autoRestoredFrom =
139
+ restored.priorState === "rejected" || restored.priorState === "accepted"
140
+ ? restored.priorState
141
+ : null;
142
+ }
143
+ else {
144
+ return mcpError("FILE_NOT_FOUND", `no draft at ${inboxPath}`);
145
+ }
122
146
  }
123
147
  if (input.choice === "c") {
124
148
  // Edit-pending: return the draft body so the skill can hand it to
125
149
  // the operator's editor flow. No state change.
126
150
  const body = readFileSync(inboxPath, "utf8");
127
- return Promise.resolve({
151
+ const editBase = {
128
152
  ok: true,
129
153
  resolved_kind: "decision_edit_pending",
130
154
  item_id: input.item_id,
131
155
  draft_path: `.cairn/ground/decisions/_inbox/${input.item_id}.draft.md`,
132
156
  body,
133
- });
157
+ };
158
+ return autoRestoredFrom === null
159
+ ? editBase
160
+ : { ...editBase, auto_restored_from: autoRestoredFrom };
134
161
  }
135
162
  return withWriteLock(ctx.repoRoot, () => {
136
163
  if (input.choice === "a") {
137
164
  const acceptedPath = join(decDir, `${input.item_id}.md`);
138
165
  mkdirSync(dirname(acceptedPath), { recursive: true });
139
166
  const draft = readFileSync(inboxPath, "utf8");
140
- const draftMeta = parseDraftFrontmatter(draft);
167
+ const draftMeta = parseDraftMeta(draft);
141
168
  const promoted = promoteDraftStatus(draft);
142
169
  writeFileSync(acceptedPath, promoted, "utf8");
143
170
  // Remove the draft after promoting so the inbox stays clean.
@@ -167,7 +194,11 @@ function resolveDecisionDraft(ctx, input) {
167
194
  }
168
195
  let stripOutcome = null;
169
196
  if (draftMeta?.captureSource === "init-source-comments" && draftMeta.blockId !== null) {
170
- stripOutcome = runSourceStrip(ctx.repoRoot, input.item_id, draftMeta);
197
+ stripOutcome = runDecSourceStrip({
198
+ repoRoot: ctx.repoRoot,
199
+ decId: input.item_id,
200
+ meta: draftMeta,
201
+ });
171
202
  }
172
203
  const base = {
173
204
  ok: true,
@@ -175,11 +206,13 @@ function resolveDecisionDraft(ctx, input) {
175
206
  item_id: input.item_id,
176
207
  accepted_path: `.cairn/ground/decisions/${input.item_id}.md`,
177
208
  };
178
- return stripOutcome === null ? base : { ...base, source_strip: stripOutcome };
209
+ const withStrip = stripOutcome === null ? base : { ...base, source_strip: stripOutcome };
210
+ return autoRestoredFrom === null
211
+ ? withStrip
212
+ : { ...withStrip, auto_restored_from: autoRestoredFrom };
179
213
  }
180
214
  // choice === "b" — reject. Rename to .rejected.md so scanExistingDecisionIds
181
215
  // keeps the id in the high-water mark and it is never recycled.
182
- const rejectedPath = join(decDir, "_inbox", `${input.item_id}.rejected.md`);
183
216
  renameSync(inboxPath, rejectedPath);
184
217
  const rejectedRel = `.cairn/ground/decisions/_inbox/${input.item_id}.rejected.md`;
185
218
  try {
@@ -273,136 +306,6 @@ function promoteDraftStatus(body) {
273
306
  // - `draft-from-rules-merge` (phase 7c)
274
307
  return body.replace(/^status:\s*draft(?:-from-[a-z-]+)?\b/m, "status: accepted");
275
308
  }
276
- function parseDraftFrontmatter(body) {
277
- const match = /^---\n([\s\S]*?)\n---/.exec(body);
278
- if (match === null)
279
- return null;
280
- let parsed;
281
- try {
282
- parsed = parseYaml(match[1] ?? "");
283
- }
284
- catch {
285
- return null;
286
- }
287
- if (parsed === null || typeof parsed !== "object")
288
- return null;
289
- const obj = parsed;
290
- return {
291
- blockId: typeof obj["blockId"] === "string" ? obj["blockId"] : null,
292
- sourceFile: typeof obj["sourceFile"] === "string" ? obj["sourceFile"] : null,
293
- captureSource: typeof obj["capture_source"] === "string" ? obj["capture_source"] : null,
294
- title: typeof obj["title"] === "string" ? obj["title"] : null,
295
- };
296
- }
297
- function runSourceStrip(repoRoot, decId, meta) {
298
- const blockId = meta.blockId;
299
- if (blockId === null) {
300
- return { attempted: false, files_modified: 0, items_applied: 0, audit_path: null, reason: "no-block-id" };
301
- }
302
- const auditPath = findLatestAudit(repoRoot);
303
- if (auditPath === null) {
304
- return { attempted: false, files_modified: 0, items_applied: 0, audit_path: null, reason: "no-audit-found" };
305
- }
306
- let auditBody;
307
- try {
308
- auditBody = parseYaml(readFileSync(auditPath, "utf8"));
309
- }
310
- catch (err) {
311
- log.warn({ err: err instanceof Error ? err.message : String(err), auditPath }, "audit parse failed");
312
- return { attempted: false, files_modified: 0, items_applied: 0, audit_path: auditPath, reason: "audit-parse-failed" };
313
- }
314
- const blocks = extractAuditBlocks(auditBody);
315
- const block = blocks.find((b) => b.block_id === blockId);
316
- if (block === undefined) {
317
- return { attempted: false, files_modified: 0, items_applied: 0, audit_path: auditPath, reason: "block-not-found" };
318
- }
319
- const replacement = formatBareCitation(block.lang, decId);
320
- const item = {
321
- blockId,
322
- file: block.file,
323
- startOffset: block.start_offset,
324
- endOffset: block.end_offset,
325
- replacement,
326
- ...(block.raw !== undefined ? { expectedRaw: block.raw } : {}),
327
- };
328
- let result;
329
- try {
330
- result = applyStripReplace({ repoRoot, items: [item] });
331
- }
332
- catch (err) {
333
- log.warn({ err: err instanceof Error ? err.message : String(err), decId, blockId }, "strip-replace failed");
334
- return { attempted: true, files_modified: 0, items_applied: 0, audit_path: auditPath, reason: "strip-failed" };
335
- }
336
- return {
337
- attempted: true,
338
- files_modified: result.filesModified,
339
- items_applied: result.itemsApplied,
340
- audit_path: auditPath,
341
- };
342
- }
343
- function findLatestAudit(repoRoot) {
344
- const dir = join(repoRoot, ".cairn", "baseline");
345
- if (!existsSync(dir))
346
- return null;
347
- let entries;
348
- try {
349
- entries = readdirSync(dir);
350
- }
351
- catch {
352
- return null;
353
- }
354
- const candidates = entries
355
- .filter((n) => n.startsWith("source-comments-") && n.endsWith(".yaml"))
356
- .map((name) => {
357
- const abs = join(dir, name);
358
- let mtime = 0;
359
- try {
360
- mtime = statSync(abs).mtimeMs;
361
- }
362
- catch {
363
- // ignore
364
- }
365
- return { abs, mtime };
366
- })
367
- .sort((a, b) => b.mtime - a.mtime);
368
- return candidates[0]?.abs ?? null;
369
- }
370
- function extractAuditBlocks(body) {
371
- if (body === null || typeof body !== "object")
372
- return [];
373
- const obj = body;
374
- const raw = obj["blocks"];
375
- if (!Array.isArray(raw))
376
- return [];
377
- const out = [];
378
- for (const entry of raw) {
379
- if (entry === null || typeof entry !== "object")
380
- continue;
381
- const e = entry;
382
- const block_id = e["block_id"];
383
- const file = e["file"];
384
- const lang = e["lang"];
385
- const start_offset = e["start_offset"];
386
- const end_offset = e["end_offset"];
387
- const rawText = e["raw"];
388
- if (typeof block_id !== "string" ||
389
- typeof file !== "string" ||
390
- typeof lang !== "string" ||
391
- typeof start_offset !== "number" ||
392
- typeof end_offset !== "number") {
393
- continue;
394
- }
395
- out.push({
396
- block_id,
397
- file,
398
- lang,
399
- start_offset,
400
- end_offset,
401
- ...(typeof rawText === "string" ? { raw: rawText } : {}),
402
- });
403
- }
404
- return out;
405
- }
406
309
  function emitEvent(ctx, kind, decId, path) {
407
310
  writeInvalidationEvent(ctx.repoRoot, {
408
311
  kind,