@isaacriehm/cairn-core 0.18.1 → 0.19.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 (34) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/attention/dedup.d.ts +24 -0
  3. package/dist/attention/dedup.js +42 -1
  4. package/dist/attention/dedup.js.map +1 -1
  5. package/dist/components/emit.d.ts +36 -0
  6. package/dist/components/emit.js +160 -0
  7. package/dist/components/emit.js.map +1 -0
  8. package/dist/components/index.d.ts +2 -0
  9. package/dist/components/index.js +1 -0
  10. package/dist/components/index.js.map +1 -1
  11. package/dist/hooks/runners/context-threshold.d.ts +1 -1
  12. package/dist/hooks/runners/context-threshold.js +2 -2
  13. package/dist/hooks/runners/context-threshold.js.map +1 -1
  14. package/dist/hooks/runners/session-start.js +2 -2
  15. package/dist/hooks/runners/session-start.js.map +1 -1
  16. package/dist/init/detect-components.d.ts +56 -18
  17. package/dist/init/detect-components.js +258 -117
  18. package/dist/init/detect-components.js.map +1 -1
  19. package/dist/init/index.d.ts +2 -1
  20. package/dist/init/index.js +1 -1
  21. package/dist/init/index.js.map +1 -1
  22. package/dist/init/phases/4-seed.js +5 -5
  23. package/dist/init/phases/4-seed.js.map +1 -1
  24. package/dist/init/phases/9f-comp-emit.js +10 -126
  25. package/dist/init/phases/9f-comp-emit.js.map +1 -1
  26. package/dist/mcp/tools/record-decision.js +43 -5
  27. package/dist/mcp/tools/record-decision.js.map +1 -1
  28. package/dist/mcp/tools/resume.d.ts +1 -1
  29. package/dist/mcp/tools/resume.js +2 -2
  30. package/dist/mcp/tools/resume.js.map +1 -1
  31. package/dist/mcp/tools/task-journal-append.d.ts +1 -1
  32. package/dist/mcp/tools/task-journal-append.js +2 -2
  33. package/dist/mcp/tools/task-journal-append.js.map +1 -1
  34. package/package.json +2 -2
@@ -20,15 +20,9 @@
20
20
  * blocks. The audit + missing headers are surfaced for triage; the
21
21
  * daily-flow check is the gate.
22
22
  */
23
- import { mkdirSync, writeFileSync } from "node:fs";
24
- import { join } from "node:path";
25
- import { stringify as stringifyYaml } from "yaml";
26
- import { bodyContentHash, collectComponents, deriveInvId, hasComponentConfig, invariantsDir, loadComponentsConfig, writeInvariantsLedger, } from "@isaacriehm/cairn-state";
27
- import { buildComponentIndex } from "../../components/index-build.js";
28
- import { runComponentAudit } from "../../components/audit.js";
23
+ import { emitComponentStore } from "../../components/emit.js";
29
24
  import { advancePhase, isSelfAdoptState } from "./orchestrator.js";
30
25
  const NEXT_PHASE = "10-rules-merge";
31
- const CAPTURE_SOURCE = "cairn-init-components";
32
26
  function complete(state, out) {
33
27
  const next = {
34
28
  ...state,
@@ -40,48 +34,19 @@ export async function runPhase9fCompEmit(state) {
40
34
  if (isSelfAdoptState(state)) {
41
35
  return complete(state, { skipped: "self-adopt" });
42
36
  }
43
- const config = loadComponentsConfig(state.repoRoot);
44
- if (!hasComponentConfig(config)) {
45
- return complete(state, { skipped: "no-components" });
46
- }
47
37
  try {
48
- // 1. Build the derived index (writes .cairn/ground/components/).
49
- const build = buildComponentIndex(state.repoRoot);
50
- // 2. Singleton headers → §INV ledger entries (status: active, scoped to
51
- // the workspace's component dirs). Written directly rather than via
52
- // sot-emit's emitInv, whose renderer stamps status "accepted" — the
53
- // invariants ledger only carries "active" entries, so an "accepted"
54
- // invariant would never surface in the ledger / Lens / scope.
55
- const collected = collectComponents(state.repoRoot, config);
56
- const wsDirs = new Map(config.workspaces.map((w) => [w.name, w.componentDirs]));
57
- let singletons = 0;
58
- for (const c of collected.components) {
59
- if (!c.tags.singleton)
60
- continue;
61
- const name = c.tags.cairn;
62
- if (name === undefined || name.length === 0)
63
- continue;
64
- writeSingletonInvariant(state.repoRoot, {
65
- name,
66
- workspace: c.workspace,
67
- sourceFile: c.file,
68
- scopeGlobs: (wsDirs.get(c.workspace) ?? []).map((d) => `${d}/**`),
69
- });
70
- singletons += 1;
38
+ const r = emitComponentStore(state.repoRoot);
39
+ if (r.skipped) {
40
+ return complete(state, { skipped: "no-components" });
71
41
  }
72
- if (singletons > 0)
73
- writeInvariantsLedger({ repoRoot: state.repoRoot });
74
- // 3. Advisory audit + still-missing-header debt → attention baseline.
75
- const audit = runComponentAudit(state.repoRoot);
76
- const baselineRel = writeComponentBaseline(state.repoRoot, audit, collected.missing);
77
42
  const out = {
78
- indexed: build.total,
79
- missing: build.missing,
80
- singletons_drafted: singletons,
81
- audit_findings: audit.findings.length,
43
+ indexed: r.indexed,
44
+ missing: r.missing,
45
+ singletons_drafted: r.singletonsDrafted,
46
+ audit_findings: r.auditFindings,
82
47
  };
83
- if (baselineRel !== null)
84
- out.baseline_path = baselineRel;
48
+ if (r.baselinePath !== null)
49
+ out.baseline_path = r.baselinePath;
85
50
  return complete(state, out);
86
51
  }
87
52
  catch (err) {
@@ -96,85 +61,4 @@ export async function runPhase9fCompEmit(state) {
96
61
  };
97
62
  }
98
63
  }
99
- /**
100
- * Write a singleton component's §INV ledger entity. Mirrors the curator
101
- * emit shape (`status: active`, `sot_kind: ledger`, content-addressed id)
102
- * so the invariants ledger, Lens, and scope-index pick it up. Enforcement
103
- * of "exists exactly once" is the component check's duplicate-name gate —
104
- * no generic decision-assertion is attached.
105
- */
106
- function writeSingletonInvariant(repoRoot, args) {
107
- const where = args.workspace.length > 0 ? `workspace ${args.workspace}` : "the application";
108
- const title = `${args.name} exists exactly once in ${where}`;
109
- const body = [
110
- `${args.name} is a singleton component — it exists exactly once in ${where}.`,
111
- "Extend it in place; never fork, copy, or rebuild it. Enforced by the",
112
- "component check's duplicate-name gate.",
113
- "",
114
- `Source: ${args.sourceFile}`,
115
- ].join("\n");
116
- const id = deriveInvId({
117
- sot_path: "ledger",
118
- title,
119
- capture_source: CAPTURE_SOURCE,
120
- });
121
- const now = new Date().toISOString();
122
- const fm = {
123
- id,
124
- title,
125
- type: "invariant",
126
- status: "active",
127
- audience: "dual",
128
- generated: now,
129
- "verified-at": now,
130
- capture_source: CAPTURE_SOURCE,
131
- sot_kind: "ledger",
132
- sot_path: "ledger",
133
- sot_content_hash: bodyContentHash(body),
134
- scope_globs: args.scopeGlobs,
135
- source_file: args.sourceFile,
136
- };
137
- const md = ["---", stringifyYaml(fm).trimEnd(), "---", "", body, ""].join("\n");
138
- const dir = invariantsDir(repoRoot);
139
- mkdirSync(dir, { recursive: true });
140
- writeFileSync(join(dir, `${id}.md`), md, "utf8");
141
- }
142
- /**
143
- * Write advisory audit findings + missing-header debt to
144
- * `.cairn/baseline/components-<ISO>.yaml` in the same payload shape the
145
- * baseline sensor sweep uses, so the cairn-attention skill parses it
146
- * with the existing `baseline_finding` path. Returns the repo-relative
147
- * path, or `null` when there is nothing to triage (no empty files).
148
- */
149
- function writeComponentBaseline(repoRoot, audit, missing) {
150
- const auditFindings = audit.findings.map((f) => ({
151
- path: f.file,
152
- line: f.line ?? 0,
153
- severity: "soft",
154
- message: `${f.message} — ${f.recommendation}`,
155
- }));
156
- const missingFindings = missing.map((p) => ({
157
- path: p,
158
- line: 0,
159
- severity: "hard",
160
- message: "missing @cairn header — annotate this component so it joins the registry (the daily-flow check blocks on this)",
161
- }));
162
- const total = auditFindings.length + missingFindings.length;
163
- if (total === 0)
164
- return null;
165
- const dir = join(repoRoot, ".cairn", "baseline");
166
- mkdirSync(dir, { recursive: true });
167
- const nowIso = new Date().toISOString();
168
- const filename = `components-${nowIso.replace(/[:.]/g, "-")}.yaml`;
169
- const payload = {
170
- run_at: nowIso,
171
- total_findings: total,
172
- sensors: [
173
- { sensor_id: "component-audit", findings: auditFindings },
174
- { sensor_id: "component-missing-header", findings: missingFindings },
175
- ],
176
- };
177
- writeFileSync(join(dir, filename), stringifyYaml(payload), "utf8");
178
- return join(".cairn", "baseline", filename);
179
- }
180
64
  //# sourceMappingURL=9f-comp-emit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"9f-comp-emit.js","sourceRoot":"","sources":["../../../src/init/phases/9f-comp-emit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"9f-comp-emit.js","sourceRoot":"","sources":["../../../src/init/phases/9f-comp-emit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAOnE,MAAM,UAAU,GAAG,gBAAyB,CAAC;AAE7C,SAAS,QAAQ,CAAC,KAAiB,EAAE,GAA0B;IAC7D,MAAM,IAAI,GAAe;QACvB,GAAG,KAAK;QACR,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE;KACnD,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAiB;IAEjB,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,GAAG,GAA0B;YACjC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,kBAAkB,EAAE,CAAC,CAAC,iBAAiB;YACvC,cAAc,EAAE,CAAC,CAAC,aAAa;SAChC,CAAC;QACF,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI;YAAE,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC;QAChE,OAAO,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,OAAO;YACf,KAAK,EAAE;gBACL,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,8BAA8B;gBACvC,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"}
@@ -3,7 +3,8 @@ import { join } from "node:path";
3
3
  import { stringify as stringifyYaml } from "yaml";
4
4
  import { computeDecisionId, scanExistingDecisionIds, } from "../../decision-capture/index.js";
5
5
  import { writeInvalidationEvent } from "../../events/index.js";
6
- import { bodyContentHash, decisionsDir, deriveDecId, readAnchorMap, readRejectedYaml, readTopicIndex, setTopic, writeDecisionsLedger, writeFileCandidatesMap, writeTopicIndex, } from "@isaacriehm/cairn-state";
6
+ import { isDuplicateOfAccepted } from "../../attention/dedup.js";
7
+ import { bodyContentHash, decisionsAutoAccept, decisionsDir, deriveDecId, readAnchorMap, readRejectedYaml, readTopicIndex, setTopic, writeDecisionsLedger, writeFileCandidatesMap, writeTopicIndex, } from "@isaacriehm/cairn-state";
7
8
  import { DecisionAssertion } from "@isaacriehm/cairn-state";
8
9
  import { withWriteLock } from "../../lock.js";
9
10
  import { requireBootstrap } from "../bootstrap-guard.js";
@@ -49,8 +50,9 @@ async function handler(ctx, input) {
49
50
  }
50
51
  return withWriteLock(ctx.repoRoot, async () => {
51
52
  const existingIds = scanExistingDecisionIds(ctx.repoRoot);
52
- const target = input.target ?? "inbox";
53
- const outDir = target === "accepted" ? dir : inboxDir;
53
+ // `target` may be promoted from "inbox" to "accepted" by the
54
+ // auto-accept gate below (after the body/title are resolved).
55
+ let target = input.target ?? "inbox";
54
56
  let id;
55
57
  let body;
56
58
  let title;
@@ -122,6 +124,34 @@ async function handler(ctx, input) {
122
124
  if (input.supersedes !== undefined && !existingIds.has(input.supersedes)) {
123
125
  return mcpError("SUPERSEDES_NOT_FOUND", `supersedes target "${input.supersedes}" not found`);
124
126
  }
127
+ // ── Auto-accept gate ──────────────────────────────────────────────
128
+ // When auto-accept is on (the default) and the caller did NOT pin a
129
+ // target, an AI-proposed decision lands straight in the ledger instead
130
+ // of the triage inbox — the human review checkpoint shifts to the
131
+ // committed-ground-state PR diff. Verify-then-accept: assertions
132
+ // already passed schema validation above; here we dedup against the
133
+ // accepted ledger so a restatement of an existing decision still queues
134
+ // as a draft for human eyes rather than silently re-landing.
135
+ //
136
+ // An explicit `target` is always honored: `"accepted"` forces direct
137
+ // accept (skips the dedup gate); `"inbox"` forces a triage draft even
138
+ // when auto-accept is globally on (the per-call escape hatch).
139
+ let autoAccepted = false;
140
+ let dedupNote;
141
+ if (input.target === undefined && decisionsAutoAccept(ctx.repoRoot)) {
142
+ const dup = isDuplicateOfAccepted({ repoRoot: ctx.repoRoot, title });
143
+ if (dup.dup) {
144
+ dedupNote =
145
+ `near-duplicate of accepted ${dup.matchId} ("${dup.matchTitle}", ` +
146
+ `sim ${dup.similarity}) — queued as a draft for triage instead of ` +
147
+ `auto-accepting`;
148
+ }
149
+ else {
150
+ target = "accepted";
151
+ autoAccepted = true;
152
+ }
153
+ }
154
+ const outDir = target === "accepted" ? dir : inboxDir;
125
155
  mkdirSync(outDir, { recursive: true });
126
156
  const frontmatter = {
127
157
  id,
@@ -138,6 +168,7 @@ async function handler(ctx, input) {
138
168
  sot_path: sotPath,
139
169
  sot_content_hash: bodyContentHash(body),
140
170
  source_file: sourceFile,
171
+ ...(autoAccepted ? { auto_accepted: true } : {}),
141
172
  ...(input.supersedes !== undefined ? { supersedes: input.supersedes } : {}),
142
173
  ...(input.assertions !== undefined ? { assertions: input.assertions } : {}),
143
174
  ...(input.human_review_hint !== undefined ? { human_review_hint: input.human_review_hint } : {}),
@@ -174,7 +205,14 @@ async function handler(ctx, input) {
174
205
  catch {
175
206
  /* ignore */
176
207
  }
177
- return { ok: true, id, target, path: relPath };
208
+ return {
209
+ ok: true,
210
+ id,
211
+ target,
212
+ path: relPath,
213
+ auto_accepted: autoAccepted,
214
+ ...(dedupNote !== undefined ? { note: dedupNote } : {}),
215
+ };
178
216
  });
179
217
  }
180
218
  function relativePath(id, target) {
@@ -213,7 +251,7 @@ function allocateUniqueDecId(input, existingIds) {
213
251
  }
214
252
  export const recordDecisionTool = {
215
253
  name: "cairn_record_decision",
216
- description: "Record a decision in the ledger or inbox. Use `slug` to promote a candidate from the topic index, or provide `title` and `summary` for a manual entry. Use `target='accepted'` (operator only) to bypass the inbox.\n\n" +
254
+ description: "Record a decision. Use `slug` to promote a candidate from the topic index, or provide `title` and `summary` for a manual entry. By default decisions AUTO-ACCEPT straight into the ledger (the human review checkpoint is the committed-ground-state PR diff); a near-duplicate of an already-accepted decision falls back to an `_inbox/` draft instead. The response reports `auto_accepted` and, on dedup fallback, a `note`. Set `decisions.auto_accept: false` in `.cairn/config.yaml` to restore per-draft triage. `target='accepted'` forces direct accept (skips the dedup gate).\n\n" +
217
255
  "**`assertions` schema** (only emit one of these `kind` values — anything else returns INVALID_ASSERTION_KIND):\n" +
218
256
  "- `text_must_match` / `text_must_not_match`: `{id, kind, pattern, in_globs[]}` — regex over files in globs.\n" +
219
257
  "- `ast_pattern`: `{id, kind, language, pattern, in_globs[]}` — AST grep in named lang over globs.\n" +
@@ -1 +1 @@
1
- {"version":3,"file":"record-decision.js","sourceRoot":"","sources":["../../../src/mcp/tools/record-decision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EACL,eAAe,EACf,YAAY,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAgBrD,KAAK,UAAU,OAAO,CAAC,GAAe,EAAE,KAAY;IAClD,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAErC,sEAAsE;IACtE,uEAAuE;IACvE,4DAA4D;IAC5D,MAAM,WAAW,GAAG;QAClB,qBAAqB;QACrB,iBAAiB;QACjB,qBAAqB;QACrB,kBAAkB;QAClB,aAAa;QACb,2BAA2B;QAC3B,sBAAsB;QACtB,uBAAuB;QACvB,iBAAiB;QACjB,0BAA0B;QAC1B,mBAAmB;KACpB,CAAC;IACF,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,aAAa,GACjB,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,IAAK,CAAY;oBAC5D,CAAC,CAAE,CAA6B,CAAC,MAAM,CAAC;oBACxC,CAAC,CAAC,SAAS,CAAC;gBAChB,OAAO,QAAQ,CACb,wBAAwB,EACxB,iCAAiC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,8DAA8D,EACrK;oBACE,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,WAAW;oBACxB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;iBAC5B,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEtD,IAAI,EAAU,CAAC;QACf,IAAI,IAAY,CAAC;QACjB,IAAI,KAAa,CAAC;QAClB,IAAI,UAAU,GAAa,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;QACnD,IAAI,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACpE,IAAI,OAAO,GAAsB,QAAQ,CAAC;QAC1C,IAAI,OAAO,GAAG,QAAQ,CAAC;QACvB,IAAI,UAA8B,CAAC;QAEnC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,8BAA8B;YAC9B,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,QAAQ,CAAC,mBAAmB,EAAE,SAAS,KAAK,CAAC,IAAI,sBAAsB,CAAC,CAAC;YAClF,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,EAAE,EAAE,KAAK,CAAC,MAAM;oBAChB,MAAM;oBACN,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;oBACxC,OAAO,EAAE,+BAA+B,KAAK,CAAC,IAAI,EAAE;iBACrD,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO,QAAQ,CAAC,mBAAmB,EAAE,SAAS,KAAK,CAAC,IAAI,2BAA2B,CAAC,CAAC;YACvF,CAAC;YAED,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC5D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;YACjE,CAAC;YAED,cAAc;YACd,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;gBACxF,OAAO,QAAQ,CAAC,mBAAmB,EAAE,wCAAwC,CAAC,CAAC;YACjF,CAAC;YAED,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,GAAG,OAAO,CAAC;YACf,OAAO,GAAG,MAAM,CAAC;YACjB,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAChC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAC9B,SAAS,GAAG,YAAY,CAAC;YAEzB,EAAE,GAAG,mBAAmB,CACtB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,EAC3D,WAAW,CACZ,CAAC;YAEF,qBAAqB;YACrB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE;gBACzD,GAAG,KAAK;gBACR,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;YACH,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YACjD,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,cAAc;YACd,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,OAAO,QAAQ,CAAC,mBAAmB,EAAE,8CAA8C,CAAC,CAAC;YACvF,CAAC;YACD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACpB,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,iBAAiB,CAChC;gBACE,KAAK;gBACL,SAAS,EAAE,KAAK,CAAC,OAAO;gBACxB,cAAc,EAAE,aAAa;gBAC7B,WAAW,EAAE,UAAU;gBACvB,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;aACzB,EACD,WAAW,CACZ,CAAC;YACF,IAAI,GAAG,KAAK,CAAC,aAAa,IAAI,KAAK,EAAE,MAAM,KAAK,qBAAqB,KAAK,CAAC,OAAO,IAAI,CAAC;QACzF,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACzE,OAAO,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,KAAK,CAAC,UAAU,aAAa,CAAC,CAAC;QAC/F,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvC,MAAM,WAAW,GAAG;YAClB,EAAE;YACF,KAAK;YACL,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;YACpD,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACvC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACjD,UAAU,EAAE,SAAS;YACrB,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO;YACjB,gBAAgB,EAAE,eAAe,CAAC,IAAI,CAAC;YACvC,WAAW,EAAE,UAAU;YACvB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjG,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,aAAa,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC;QACnE,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAEzC,oEAAoE;QACpE,iEAAiE;QACjE,8DAA8D;QAC9D,oEAAoE;QACpE,+DAA+D;QAC/D,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,oBAAoB,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACnC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB;gBACtE,IAAI,EAAE;oBACJ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;oBACxB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnG;gBACD,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,IAAI,EAAE,uBAAuB,EAAE;aAC7E,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,EAAU,EAAE,MAA4B;IAC5D,OAAO,MAAM,KAAK,UAAU;QAC1B,CAAC,CAAC,2BAA2B,EAAE,KAAK;QACpC,CAAC,CAAC,kCAAkC,EAAE,WAAW,CAAC;AACtD,CAAC;AAED,SAAS,cAAc,CAAC,KAAsB;IAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC;IACtE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,UAAU,CAAC;IAC/C,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,GAAG,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC,UAAU,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC;AAC1E,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAkE,EAClE,WAAwB;IAExB,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAmB;IAChD,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,yNAAyN;QACzN,kHAAkH;QAClH,+GAA+G;QAC/G,qGAAqG;QACrG,iFAAiF;QACjF,8FAA8F;QAC9F,4EAA4E;QAC5E,4JAA4J;QAC5J,6EAA6E;QAC7E,oGAAoG;QACpG,oGAAoG;QACpG,uGAAuG;QACvG,gKAAgK;IAClK,WAAW,EAAE,mBAAmB;IAChC,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"record-decision.js","sourceRoot":"","sources":["../../../src/mcp/tools/record-decision.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * `cairn_resume` — read the active task's journal + spec and emit a
3
3
  * resume payload that primes a fresh-context session cold.
4
4
  *
5
- * Called by the `/cairn-resume <task_id>` slash command after the
5
+ * Called by the `/cairn:cairn-resume <task_id>` slash command after the
6
6
  * operator `/clear`s mid-task. SessionStart hook also calls this
7
7
  * automatically when it detects an active task whose journal has
8
8
  * entries from a prior session_id.
@@ -2,7 +2,7 @@
2
2
  * `cairn_resume` — read the active task's journal + spec and emit a
3
3
  * resume payload that primes a fresh-context session cold.
4
4
  *
5
- * Called by the `/cairn-resume <task_id>` slash command after the
5
+ * Called by the `/cairn:cairn-resume <task_id>` slash command after the
6
6
  * operator `/clear`s mid-task. SessionStart hook also calls this
7
7
  * automatically when it detects an active task whose journal has
8
8
  * entries from a prior session_id.
@@ -33,7 +33,7 @@ async function handler(ctx, input) {
33
33
  }
34
34
  else if (existsSync(doneTaskDir)) {
35
35
  // Race: task graduated between the Stop-hook resume prompt and the
36
- // operator pasting `/cairn-resume`. Surface the final journal frame
36
+ // operator pasting `/cairn:cairn-resume`. Surface the final journal frame
37
37
  // + completion timestamp instead of the cryptic "not found" error
38
38
  // so the operator sees what shipped.
39
39
  scope = "done";
@@ -1 +1 @@
1
- {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/mcp/tools/resume.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/mcp/tools/resume.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * Cairn-as-resume-layer: main Claude calls this at the end of every
7
7
  * assistant turn while a task is active. Stop hook surfaces a context-
8
8
  * threshold prompt when usage crosses the configured limit; the
9
- * `/cairn-resume <task_id>` slash command in the next session reads
9
+ * `/cairn:cairn-resume <task_id>` slash command in the next session reads
10
10
  * the journal back via `cairn_resume`.
11
11
  */
12
12
  import type { ToolDef } from "./types.js";
@@ -6,7 +6,7 @@
6
6
  * Cairn-as-resume-layer: main Claude calls this at the end of every
7
7
  * assistant turn while a task is active. Stop hook surfaces a context-
8
8
  * threshold prompt when usage crosses the configured limit; the
9
- * `/cairn-resume <task_id>` slash command in the next session reads
9
+ * `/cairn:cairn-resume <task_id>` slash command in the next session reads
10
10
  * the journal back via `cairn_resume`.
11
11
  */
12
12
  import { requireBootstrap } from "../bootstrap-guard.js";
@@ -87,7 +87,7 @@ async function handler(ctx, input) {
87
87
  }
88
88
  export const taskJournalAppendTool = {
89
89
  name: "cairn_task_journal_append",
90
- description: "Append one journal entry to the active task's journal.jsonl. Call at the end of every assistant turn while a task is active so that `/cairn-resume <task_id>` after a `/clear` rebuilds the operator's mental state cold. " +
90
+ description: "Append one journal entry to the active task's journal.jsonl. Call at the end of every assistant turn while a task is active so that `/cairn:cairn-resume <task_id>` after a `/clear` rebuilds the operator's mental state cold. " +
91
91
  "`summary` is a terse one-liner (~320 chars; soft-truncated above that with a trailing marker — no validation reject). " +
92
92
  "`next_step` is what comes next, same length budget. " +
93
93
  "`files_touched` advisory cap = 20 paths; longer arrays keep the first 20 and the dropped tail comes back in `dropped.files_touched`. " +
@@ -1 +1 @@
1
- {"version":3,"file":"task-journal-append.js","sourceRoot":"","sources":["../../../src/mcp/tools/task-journal-append.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-journal-append.js","sourceRoot":"","sources":["../../../src/mcp/tools/task-journal-append.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isaacriehm/cairn-core",
3
- "version": "0.18.1",
3
+ "version": "0.19.0",
4
4
  "description": "Cairn core — state + context layer. Curated `.cairn/ground/` (decisions, §INV invariants, canonical-map, brand, quality-grades), MCP server, init wizard, hook runners, sensors, GC drift sweep.",
5
5
  "author": "Isaac Riehm",
6
6
  "license": "MIT",
@@ -39,7 +39,7 @@
39
39
  "simple-git": "^3.36.0",
40
40
  "yaml": "^2.9.0",
41
41
  "zod": "^4.4.3",
42
- "@isaacriehm/cairn-state": "0.18.1"
42
+ "@isaacriehm/cairn-state": "0.19.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/cli-progress": "^3.11.6",