@isaacriehm/cairn-core 0.3.7 → 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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/attention/bulk-accept.d.ts +18 -0
- package/dist/attention/bulk-accept.js +46 -0
- package/dist/attention/bulk-accept.js.map +1 -1
- package/dist/attention/dedup.d.ts +68 -0
- package/dist/attention/dedup.js +239 -0
- package/dist/attention/dedup.js.map +1 -0
- package/dist/attention/index.d.ts +3 -0
- package/dist/attention/index.js +3 -0
- package/dist/attention/index.js.map +1 -1
- package/dist/attention/restore.d.ts +43 -0
- package/dist/attention/restore.js +127 -0
- package/dist/attention/restore.js.map +1 -0
- package/dist/attention/source-strip.d.ts +49 -0
- package/dist/attention/source-strip.js +340 -0
- package/dist/attention/source-strip.js.map +1 -0
- package/dist/claude/cache.d.ts +31 -0
- package/dist/claude/cache.js +0 -0
- package/dist/claude/cache.js.map +1 -0
- package/dist/claude/error.d.ts +1 -1
- package/dist/claude/error.js +5 -0
- package/dist/claude/error.js.map +1 -1
- package/dist/claude/runner.js +60 -3
- package/dist/claude/runner.js.map +1 -1
- package/dist/claude/types.d.ts +25 -0
- package/dist/hooks/runners/session-start.js +24 -2
- package/dist/hooks/runners/session-start.js.map +1 -1
- package/dist/init/baseline-audit.d.ts +8 -0
- package/dist/init/baseline-audit.js +1 -1
- package/dist/init/baseline-audit.js.map +1 -1
- package/dist/init/brand-derive.js +53 -34
- package/dist/init/brand-derive.js.map +1 -1
- package/dist/init/index.d.ts +4 -2
- package/dist/init/index.js +3 -1
- package/dist/init/index.js.map +1 -1
- package/dist/init/ingest-docs.d.ts +7 -0
- package/dist/init/ingest-docs.js +4 -1
- package/dist/init/ingest-docs.js.map +1 -1
- package/dist/init/mapper-merge.js +1 -0
- package/dist/init/mapper-merge.js.map +1 -1
- package/dist/init/phases/3-mapper.js +18 -0
- package/dist/init/phases/3-mapper.js.map +1 -1
- package/dist/init/phases/5-brand.js +3 -0
- package/dist/init/phases/5-brand.js.map +1 -1
- package/dist/init/phases/6-docs-ingest.js +14 -0
- package/dist/init/phases/6-docs-ingest.js.map +1 -1
- package/dist/init/phases/7b-source-comments.d.ts +9 -0
- package/dist/init/phases/7b-source-comments.js +41 -1
- package/dist/init/phases/7b-source-comments.js.map +1 -1
- package/dist/init/phases/7c-rules-merge.js +10 -0
- package/dist/init/phases/7c-rules-merge.js.map +1 -1
- package/dist/init/phases/index.d.ts +2 -0
- package/dist/init/phases/index.js +2 -0
- package/dist/init/phases/index.js.map +1 -1
- package/dist/init/phases/parallel-678.d.ts +31 -0
- package/dist/init/phases/parallel-678.js +205 -0
- package/dist/init/phases/parallel-678.js.map +1 -0
- package/dist/init/phases/source-comments-output-io.d.ts +78 -0
- package/dist/init/phases/source-comments-output-io.js +84 -0
- package/dist/init/phases/source-comments-output-io.js.map +1 -0
- package/dist/init/progress.d.ts +35 -0
- package/dist/init/progress.js +71 -0
- package/dist/init/progress.js.map +1 -0
- package/dist/init/rules-merge/ingest.d.ts +14 -0
- package/dist/init/rules-merge/ingest.js +8 -2
- package/dist/init/rules-merge/ingest.js.map +1 -1
- package/dist/init/source-comments/classify.d.ts +6 -0
- package/dist/init/source-comments/classify.js +60 -3
- package/dist/init/source-comments/classify.js.map +1 -1
- package/dist/init/source-comments/ingest.d.ts +21 -0
- package/dist/init/source-comments/ingest.js +28 -3
- package/dist/init/source-comments/ingest.js.map +1 -1
- package/dist/mcp/tools/attention-dedup.d.ts +21 -0
- package/dist/mcp/tools/attention-dedup.js +34 -0
- package/dist/mcp/tools/attention-dedup.js.map +1 -0
- package/dist/mcp/tools/attention-restore.d.ts +14 -0
- package/dist/mcp/tools/attention-restore.js +22 -0
- package/dist/mcp/tools/attention-restore.js.map +1 -0
- package/dist/mcp/tools/index.js +6 -1
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/init-phases.d.ts +1 -0
- package/dist/mcp/tools/init-phases.js +88 -1
- package/dist/mcp/tools/init-phases.js.map +1 -1
- package/dist/mcp/tools/resolve-attention.js +44 -141
- package/dist/mcp/tools/resolve-attention.js.map +1 -1
- package/dist/status-line/format.d.ts +5 -2
- package/dist/status-line/format.js +31 -5
- package/dist/status-line/format.js.map +1 -1
- package/dist/status-line/reader.js +25 -1
- package/dist/status-line/reader.js.map +1 -1
- package/package.json +1 -1
- 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"}
|
package/dist/mcp/tools/index.js
CHANGED
|
@@ -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,
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,
|
|
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,
|
|
23
|
+
import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync, } from "node:fs";
|
|
24
24
|
import { dirname, join } from "node:path";
|
|
25
|
-
import {
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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,
|