@cstart/coldstart 2.2.14 → 2.2.16

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 (42) hide show
  1. package/dist/init.d.ts +16 -3
  2. package/dist/init.d.ts.map +1 -1
  3. package/dist/init.js +49 -7
  4. package/dist/init.js.map +1 -1
  5. package/dist/kb/cli.d.ts.map +1 -1
  6. package/dist/kb/cli.js +72 -49
  7. package/dist/kb/cli.js.map +1 -1
  8. package/dist/kb/durable-worklist.d.ts +20 -0
  9. package/dist/kb/durable-worklist.d.ts.map +1 -0
  10. package/dist/kb/durable-worklist.js +175 -0
  11. package/dist/kb/durable-worklist.js.map +1 -0
  12. package/dist/kb/store.d.ts.map +1 -1
  13. package/dist/kb/store.js +24 -3
  14. package/dist/kb/store.js.map +1 -1
  15. package/dist/kb/write-batch.d.ts +21 -0
  16. package/dist/kb/write-batch.d.ts.map +1 -0
  17. package/dist/kb/write-batch.js +77 -0
  18. package/dist/kb/write-batch.js.map +1 -0
  19. package/dist/kb/write-guide.d.ts.map +1 -1
  20. package/dist/kb/write-guide.js +23 -13
  21. package/dist/kb/write-guide.js.map +1 -1
  22. package/dist/kb/write.d.ts +4 -0
  23. package/dist/kb/write.d.ts.map +1 -1
  24. package/dist/kb/write.js +10 -1
  25. package/dist/kb/write.js.map +1 -1
  26. package/dist/server/mcp.d.ts +12 -1
  27. package/dist/server/mcp.d.ts.map +1 -1
  28. package/dist/server/mcp.js +53 -35
  29. package/dist/server/mcp.js.map +1 -1
  30. package/hooks/capture-payload.mjs +229 -85
  31. package/hooks/capture-sentinel.d.mts +4 -0
  32. package/hooks/capture-sentinel.mjs +10 -0
  33. package/hooks/codex-kb-elicit.mjs +6 -2
  34. package/hooks/codex-kb-recall.mjs +54 -5
  35. package/hooks/cursor-kb-elicit.mjs +8 -4
  36. package/hooks/cursor-kb-recall.mjs +34 -1
  37. package/hooks/kb-elicit.mjs +81 -34
  38. package/package.json +1 -1
  39. package/dist/kb/session-worklist.d.ts +0 -10
  40. package/dist/kb/session-worklist.d.ts.map +0 -1
  41. package/dist/kb/session-worklist.js +0 -92
  42. package/dist/kb/session-worklist.js.map +0 -1
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Durable capture worklist — the coverage/trim half.
3
+ *
4
+ * The capture hook (hooks/capture-payload.mjs) drops the session's worklist as a
5
+ * DURABLE pair in the repo notebook — unlike the old tmpdir manifest, which was
6
+ * a one-shot blob lost to compaction:
7
+ * .coldstart/notebook/.worklist-<sid>.json structured scope (source of truth)
8
+ * .coldstart/notebook/.worklist-<sid>.md the prose checklist the agent re-Reads
9
+ * Both are gitignored (src/kb/store.ts initSkeleton).
10
+ *
11
+ * SESSION+AGENT-SCOPED: the pair is keyed by the SAME identity as the tmpdir
12
+ * evidence marker, `<sid>-<aid>` (main agent is aid="main"; each subagent gets
13
+ * its own aid) — NOT one shared file per repo, and NOT by sid alone. A subagent
14
+ * shares its parent's session id, so sid-only keying would make a subagent's
15
+ * capture clobber the main agent's worklist and its `kb write` clear the main
16
+ * agent's coverage. Each agent stream therefore reads and writes ONLY its own
17
+ * worklist. `kb write --session <sid> --agent <aid>` finalizes against
18
+ * `.worklist-<sid>-<aid>.json` (aid defaults to "main"). A write with NO session
19
+ * touches no worklist at all (returns null): the capture payload always prints
20
+ * `--session`/`--agent`, so a session-less write is by definition outside capture
21
+ * — and picking "the freshest worklist" to mutate would let a stray hand write
22
+ * clear or downgrade another agent's active checklist. `--session` stays the bare
23
+ * sid so the flow-evidence check (write-guide.flowEvidenceCount, which unions
24
+ * markers across a session's agents) is unaffected.
25
+ *
26
+ * This module is the reader/trimmer. After a `kb write` batch it credits the
27
+ * file notes just written, reports which worked files still lack a note (a flow
28
+ * does NOT cover them), and then CLEARS the pair (all captured) or TRIMS it to
29
+ * what is left — so a stale snapshot with a frozen denominator never lingers to
30
+ * mislead a later write. Regeneration is the hook's job: the next capture fire
31
+ * re-diffs against live note freshness and rewrites the pair, so a file missed
32
+ * in one pass reappears next time.
33
+ *
34
+ * CONTRACT TWIN: hooks/capture-payload.mjs writes this pair — keep the paths
35
+ * (`<sid>-<aid>` keyed, with the legacy unkeyed fallback) and the .json shape
36
+ * (ts, sid, aid, files:[{path,tier,needsNote}], wrote:[]) in step. Everything here
37
+ * is best-effort: a missing/malformed worklist prints nothing and never fails a write.
38
+ */
39
+ import { existsSync, readFileSync, writeFileSync, unlinkSync } from 'node:fs';
40
+ import { join } from 'node:path';
41
+ import { notebookDir } from './raw-log.js';
42
+ const LIST_MAX = 8;
43
+ /** Filesystem-safe slug — mirrors the sanitize kb-elicit.mjs applies to
44
+ * session_id / agent_id, so a `--session`/`--agent` value from any surface keys
45
+ * the same file the hook wrote. */
46
+ function slug(s) {
47
+ return String(s ?? '').replace(/[^A-Za-z0-9_-]/g, '');
48
+ }
49
+ /** The worklist key = the tmpdir marker identity, `<sid>-<aid>` (aid defaults to
50
+ * "main"). Empty only when no session id is known at all. */
51
+ function agentKey(sid, aid) {
52
+ const s = slug(sid);
53
+ return s ? `${s}-${slug(aid) || 'main'}` : '';
54
+ }
55
+ export function worklistJsonPath(root, sid, aid) {
56
+ const k = agentKey(sid, aid);
57
+ return join(notebookDir(root), k ? `.worklist-${k}.json` : '.worklist.json');
58
+ }
59
+ export function worklistMdPath(root, sid, aid) {
60
+ const k = agentKey(sid, aid);
61
+ return join(notebookDir(root), k ? `.worklist-${k}.md` : '.worklist.md');
62
+ }
63
+ /**
64
+ * Resolve the worklist JSON file this write should finalize against.
65
+ * - `--session <sid> [--agent <aid>]` → that agent's own file (the capture
66
+ * path). aid defaults to "main", so a plain `--session` finalizes the main
67
+ * agent's worklist, never a subagent's.
68
+ * - NO session → null. A session-less write is outside capture (the payload
69
+ * always carries `--session`/`--agent`); mutating "the freshest worklist"
70
+ * would let a stray hand write clear or downgrade an active checklist.
71
+ * Returns null when there is nothing to finalize against.
72
+ */
73
+ function resolveJsonPath(root, sid, aid) {
74
+ if (!slug(sid))
75
+ return null;
76
+ const p = worklistJsonPath(root, sid, aid);
77
+ return existsSync(p) ? p : null;
78
+ }
79
+ function load(jsonPath) {
80
+ try {
81
+ const w = JSON.parse(readFileSync(jsonPath, 'utf8'));
82
+ if (!Array.isArray(w?.files))
83
+ return null;
84
+ w.wrote = Array.isArray(w.wrote) ? w.wrote : [];
85
+ return w;
86
+ }
87
+ catch {
88
+ return null;
89
+ }
90
+ }
91
+ function clearWorklist(jsonPath) {
92
+ for (const p of [jsonPath, jsonPath.replace(/\.json$/, '.md')]) {
93
+ try {
94
+ if (existsSync(p))
95
+ unlinkSync(p);
96
+ }
97
+ catch { /* best-effort */ }
98
+ }
99
+ }
100
+ /** The paths a spec puts a FILE note on. A flow verifies files but gives none of
101
+ * them the file note the worklist asks for, so flows/lessons contribute none —
102
+ * which is exactly how a flow written INSTEAD of the file notes shows up as
103
+ * still-outstanding coverage. */
104
+ export function specPaths(spec) {
105
+ const s = spec;
106
+ if (!s || s.op === 'retract' || typeof s.path !== 'string')
107
+ return [];
108
+ return s.type === 'file-single' || s.type === 'file-hub' ? [s.path] : [];
109
+ }
110
+ /**
111
+ * Finalize a whole write batch against THIS AGENT's durable worklist: credit
112
+ * every file note written, report coverage, then clear (all captured) or trim
113
+ * (some left) the pair. `writtenPaths` = the file-note paths this batch actually
114
+ * wrote; `sid`+`aid` select the agent's own worklist (see resolveJsonPath) so a
115
+ * subagent never trims the main agent's list.
116
+ * Returns the coverage line to print, or null when there is no worklist to
117
+ * compare against (a manual write outside capture, or a session that never
118
+ * armed). Called ONCE per `kb write` invocation — the batch is the one place
119
+ * the whole worklist is visible at once.
120
+ */
121
+ export function finalizeBatchCoverage(root, writtenPaths, sid, aid) {
122
+ const jsonPath = resolveJsonPath(root, sid, aid);
123
+ if (!jsonPath)
124
+ return null;
125
+ const w = load(jsonPath);
126
+ if (!w)
127
+ return null;
128
+ for (const p of writtenPaths)
129
+ if (!w.wrote.includes(p))
130
+ w.wrote.push(p);
131
+ const wrote = new Set(w.wrote);
132
+ const outstanding = w.files.filter((f) => f.needsNote);
133
+ const done = outstanding.filter((f) => wrote.has(f.path));
134
+ const left = outstanding.filter((f) => !wrote.has(f.path));
135
+ const already = w.files.length - outstanding.length;
136
+ if (!left.length)
137
+ clearWorklist(jsonPath);
138
+ else
139
+ trim(jsonPath, w, left);
140
+ if (!outstanding.length)
141
+ return null;
142
+ const lines = [
143
+ `capture coverage: ${done.length} of ${outstanding.length} worklist files noted` +
144
+ (already ? ` (${already} more already had a fresh note)` : ''),
145
+ ];
146
+ if (left.length) {
147
+ const shown = left.slice(0, LIST_MAX).map((f) => `${f.path} [${f.tier}]`).join(', ');
148
+ lines.push(` still without a file note: ${shown}${left.length > LIST_MAX ? `, +${left.length - LIST_MAX} more` : ''}`);
149
+ lines.push(' each is a file you worked this session — write its note, or say in your reply why it needs none. A flow does not cover them.');
150
+ }
151
+ return lines.join('\n');
152
+ }
153
+ /** Rewrite the pair down to what is still outstanding, so a re-Read mid-session
154
+ * shows only the remaining work (and never a frozen full snapshot). The next
155
+ * capture fire regenerates the full checklist + contract if work remains. */
156
+ function trim(jsonPath, w, left) {
157
+ try {
158
+ writeFileSync(jsonPath, JSON.stringify({ ...w, files: left, wrote: [] }));
159
+ const md = [
160
+ '# Capture worklist — still outstanding',
161
+ '',
162
+ 'Files you worked this session that still have no note. Write each one (or say why it needs none):',
163
+ '',
164
+ ...left.map((f) => `- ${f.path} [${f.tier}]`),
165
+ '',
166
+ 'Note shapes + how to write a batch in one call: run `kb write` with no spec for the full guide.',
167
+ '',
168
+ ].join('\n');
169
+ writeFileSync(jsonPath.replace(/\.json$/, '.md'), md);
170
+ }
171
+ catch {
172
+ /* best-effort */
173
+ }
174
+ }
175
+ //# sourceMappingURL=durable-worklist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-worklist.js","sourceRoot":"","sources":["../../src/kb/durable-worklist.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/kb/store.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAK7C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AACD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzD;AACD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;wCACwC;AACxC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ/C;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAKD,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAgBlG;AAED,wFAAwF;AACxF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAShD;AAYD,qDAAqD;AACrD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAMlE;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAWhE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA8BjD;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAOzH"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/kb/store.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAK7C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AACD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzD;AACD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;wCACwC;AACxC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CA2B/C;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAKD,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAgBlG;AAED,wFAAwF;AACxF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAShD;AAYD,qDAAqD;AACrD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAMlE;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAWhE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA8BjD;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAOzH"}
package/dist/kb/store.js CHANGED
@@ -13,7 +13,7 @@
13
13
  * The hidden `.coldstart/` dir keeps the notebook out of the code index
14
14
  * (walker skips hidden dirs), out of `find`, and out of rg/fd defaults.
15
15
  */
16
- import { existsSync, mkdirSync, writeFileSync, statSync, appendFileSync, renameSync } from 'node:fs';
16
+ import { existsSync, mkdirSync, readFileSync, writeFileSync, statSync, appendFileSync, renameSync } from 'node:fs';
17
17
  import { join, dirname, basename } from 'node:path';
18
18
  import { fold } from './fold.js';
19
19
  import { renderNote } from './render.js';
@@ -40,9 +40,30 @@ export function initSkeleton(root) {
40
40
  const okf = join(notebookDir(root), 'okf.yaml');
41
41
  if (!existsSync(okf))
42
42
  writeFileSync(okf, 'okf_version: "0.1"\ncoldstart_kb: 1\n');
43
+ // Derived/scratch that must never be committed. `.worklist-*.{md,json}` are the
44
+ // durable capture worklist, keyed per agent stream `<sid>-<aid>`
45
+ // (hooks/capture-payload.mjs writes them; they are per-session scratch, not a
46
+ // record). The bare `.worklist.{md,json}` entries stay for the legacy unkeyed
47
+ // fallback. `.capture-instructions.md` is the permanent (non-per-session)
48
+ // shipped-instructions file the worklist pair now points at instead of
49
+ // duplicating — still generated/local, not committed. Append any missing line
50
+ // so EXISTING installs pick up new entries, not just fresh notebooks.
43
51
  const gi = join(notebookDir(root), '.gitignore');
44
- if (!existsSync(gi))
45
- writeFileSync(gi, 'notes/\n.metrics/\n');
52
+ const wanted = [
53
+ 'notes/', '.metrics/', '.worklist.md', '.worklist.json', '.worklist-*.md', '.worklist-*.json',
54
+ '.capture-instructions.md',
55
+ ];
56
+ let current = '';
57
+ try {
58
+ current = readFileSync(gi, 'utf8');
59
+ }
60
+ catch { /* absent — create below */ }
61
+ const have = new Set(current.split('\n').map((l) => l.trim()).filter(Boolean));
62
+ const missing = wanted.filter((w) => !have.has(w));
63
+ if (missing.length) {
64
+ const base = current && !current.endsWith('\n') ? `${current}\n` : current;
65
+ writeFileSync(gi, base + missing.join('\n') + '\n');
66
+ }
46
67
  }
47
68
  // mtime memo so a long-lived reader (MCP server) doesn't re-fold unchanged logs.
48
69
  const foldMemo = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/kb/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/kb/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { WriteSpec, WriteOptions, WriteCandidate } from './write.js';
2
+ export interface WriteOutcome {
3
+ index: number;
4
+ status: 'written' | 'candidates' | 'error';
5
+ /** A human label for the spec (path, else title, else position). */
6
+ label: string;
7
+ id?: string;
8
+ op?: string;
9
+ candidates?: WriteCandidate[];
10
+ message?: string;
11
+ warnings?: string[];
12
+ }
13
+ export interface BatchResult {
14
+ outcomes: WriteOutcome[];
15
+ written: number;
16
+ errors: number;
17
+ candidates: number;
18
+ coverage: string | null;
19
+ }
20
+ export declare function kbWriteBatch(root: string, specs: WriteSpec[], opts?: WriteOptions): Promise<BatchResult>;
21
+ //# sourceMappingURL=write-batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-batch.d.ts","sourceRoot":"","sources":["../../src/kb/write-batch.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAK1E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;IAC3C,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAoCD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAclH"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Batch write — the capture write path, shared by the CLI (`kb write`) and the
3
+ * MCP `kb_write` tool so both surfaces behave identically.
4
+ *
5
+ * The agent authors ALL its notes as one JSON array and writes them in a single
6
+ * call. That single call boundary is what the old chained-`&&` convention never
7
+ * had, and it buys three things:
8
+ * 1. shape errors across notes are collected and reported TOGETHER, instead of
9
+ * the first bad note's non-zero exit silencing every note behind it;
10
+ * 2. the end of the array is the one place coverage can be finalized against
11
+ * the session worklist (which files still lack a note — a flow does not
12
+ * count), and the durable worklist trimmed/cleared;
13
+ * 3. the whole burst of `.raw` appends lands together, so the keeper coalesces
14
+ * to a single notes-index refresh + mechanical symbol backfill.
15
+ *
16
+ * "Write valid, report invalid": every well-formed note is written; malformed
17
+ * ones and unresolved reuse-gate hits are collected and reported. Nothing is
18
+ * atomic — a bad note never silences a good one. A single spec object is a batch
19
+ * of one, so the callers have exactly one code path.
20
+ */
21
+ import { kbWrite } from './write.js';
22
+ import { loadNote } from './store.js';
23
+ import { flowStepsWarning, flowEvidenceWarning, missingFieldsWarning } from './write-guide.js';
24
+ import { specPaths, finalizeBatchCoverage } from './durable-worklist.js';
25
+ function specLabel(spec, i) {
26
+ const s = spec;
27
+ return s.path || s.title || `spec #${i + 1}`;
28
+ }
29
+ async function writeOne(root, spec, opts, i) {
30
+ const label = specLabel(spec, i);
31
+ if (!spec || typeof spec !== 'object' || Array.isArray(spec)) {
32
+ return { index: i, status: 'error', label, message: 'spec must be a JSON object' };
33
+ }
34
+ let wres;
35
+ try {
36
+ wres = await kbWrite(root, spec, opts);
37
+ }
38
+ catch (e) {
39
+ return { index: i, status: 'error', label, message: e instanceof Error ? e.message : String(e) };
40
+ }
41
+ if (wres.status === 'error')
42
+ return { index: i, status: 'error', label, message: wres.message };
43
+ if (wres.status === 'candidates') {
44
+ return { index: i, status: 'candidates', label, candidates: wres.candidates, message: wres.message };
45
+ }
46
+ const warnings = [...(wres.warnings ?? [])];
47
+ const after = loadNote(root, wres.id).note;
48
+ const stepsWarn = flowStepsWarning(spec, after);
49
+ if (stepsWarn)
50
+ warnings.push(stepsWarn);
51
+ const missingWarn = missingFieldsWarning(spec, wres.id, after);
52
+ if (missingWarn)
53
+ warnings.push(missingWarn);
54
+ const flowWarn = flowEvidenceWarning(spec, opts.session);
55
+ if (flowWarn)
56
+ warnings.push(flowWarn);
57
+ return {
58
+ index: i, status: 'written', label, id: wres.id, op: wres.op,
59
+ warnings: warnings.length ? warnings : undefined,
60
+ };
61
+ }
62
+ export async function kbWriteBatch(root, specs, opts = {}) {
63
+ const outcomes = [];
64
+ for (let i = 0; i < specs.length; i++) {
65
+ outcomes.push(await writeOne(root, specs[i], opts, i));
66
+ }
67
+ const writtenFilePaths = outcomes.flatMap((o) => (o.status === 'written' ? specPaths(specs[o.index]) : []));
68
+ const coverage = finalizeBatchCoverage(root, writtenFilePaths, opts.session, opts.agent);
69
+ return {
70
+ outcomes,
71
+ written: outcomes.filter((o) => o.status === 'written').length,
72
+ errors: outcomes.filter((o) => o.status === 'error').length,
73
+ candidates: outcomes.filter((o) => o.status === 'candidates').length,
74
+ coverage,
75
+ };
76
+ }
77
+ //# sourceMappingURL=write-batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-batch.js","sourceRoot":"","sources":["../../src/kb/write-batch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"write-guide.d.ts","sourceRoot":"","sources":["../../src/kb/write-guide.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,eAAO,MAAM,kBAAkB,QAaE,CAAC;AAElC,wBAAgB,aAAa,IAAI,MAAM,CAStC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAKtC;AAOD;;wEAEwE;AACxE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsB1G;AAED;;;;;;;;;;;;;;;2EAe2E;AAC3E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CASrG;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAC3C,MAAM,GAAG,IAAI,CAef;AAED;kFACkF;AAClF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAS/F"}
1
+ {"version":3,"file":"write-guide.d.ts","sourceRoot":"","sources":["../../src/kb/write-guide.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,eAAO,MAAM,kBAAkB,QAeE,CAAC;AAElC,wBAAgB,aAAa,IAAI,MAAM,CAYtC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAQtC;AASD;;wEAEwE;AACxE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsB1G;AAED;;;;;;;;;;;;;;;2EAe2E;AAC3E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CASrG;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAC3C,MAAM,GAAG,IAAI,CAef;AAED;kFACkF;AAClF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAS/F"}
@@ -17,7 +17,9 @@ export const WRITE_GUIDE_SHAPES = `kb write — spec shapes (JSON, one note per
17
17
  ${shapesBlock()}
18
18
 
19
19
  update an existing note: same spec + its "id" (fields merge; yours win).
20
- retract a wrong claim: {"op":"retract","id":"<id>","reason":"..."}
20
+ retract a wrong claim: {"op":"retract","id":"<id>","target":{"kind":"note"}}
21
+ (retract a PART of a note, not the whole thing:
22
+ {"op":"retract","id":"<id>","target":{"kind":"anchor|alias|facet|invariant|behavior|feature","key":"<the exact value>"}})
21
23
 
22
24
  ${requiredFieldsLine()}
23
25
 
@@ -29,23 +31,31 @@ Rules the writer enforces (fix any WARNING it prints, in this session):
29
31
  export function writeGuideCli() {
30
32
  return `${WRITE_GUIDE_SHAPES}
31
33
 
32
- How to run (one Bash block total — author specs as heredocs, chain with &&):
33
- cat > /tmp/spec1.json <<'SPEC'
34
- { ... }
34
+ How to run (ONE Bash block, ONE call — author every note as a JSON array):
35
+ cat > /tmp/notes.json <<'SPEC'
36
+ [ { ...note 1... }, { ...note 2... } ]
35
37
  SPEC
36
- node <cli> kb write /tmp/spec1.json --root <root> --session <sid> --force
37
- Flows before the file notes that reference them.`;
38
+ node <cli> kb write /tmp/notes.json --root <root> --session <sid> --force
39
+ A single object still works for a one-off. Order the array flows-first so the
40
+ file notes that reference them can resolve. The whole array is written in one
41
+ pass: well-formed notes land, malformed ones are reported together, and the
42
+ final coverage line lists any worked files still without a note.`;
38
43
  }
39
44
  export function writeGuideMcp() {
40
45
  return `${WRITE_GUIDE_SHAPES}
41
46
 
42
- How to run: call kb_write again with \`spec\` set to one of these shapes.
43
- Flows before the file notes that reference them.`;
47
+ How to run: call kb_write once with \`specs\` set to an ARRAY of these shapes
48
+ (or \`spec\` for a single one). Order flows before the file notes that reference
49
+ them. The whole array is written in one call — well-formed notes land, malformed
50
+ ones come back reported together, and the result lists any worked files still
51
+ without a note.`;
44
52
  }
45
- // Capture markers are per-host (Claude / Cursor / Codex elicit hooks) but all
46
- // share the v2 evidence-record state shape; the flow-evidence check reads
47
- // whichever host produced this session's marker.
48
- const MARKER_PREFIXES = ['coldstart-kb-', 'coldstart-cursor-kb-', 'coldstart-codex-kb-'];
53
+ // All three hosts' elicit hooks (Claude / Cursor / Codex) share one marker
54
+ // namespace as of 2026-08-06 (previously per-host prefixes, which meant manual
55
+ // /capture-notes always the shared kb-elicit.mjs --manual — could never see
56
+ // Cursor's or Codex's own automatic evidence). Kept as an array since callers
57
+ // below treat it as a set of prefixes to scan.
58
+ const MARKER_PREFIXES = ['coldstart-kb-'];
49
59
  /** Flow-evidence check: how many of the spec's step files did THIS session
50
60
  * actually content-read? Reads the capture markers (v2 evidence records)
51
61
  * the elicit hooks maintain. No marker → no opinion (returns null). */
@@ -152,6 +162,6 @@ export function flowEvidenceWarning(spec, session) {
152
162
  return null;
153
163
  return (`flow evidence: only ${ev.read} of ${ev.steps} step files were actually read this session — ` +
154
164
  `a flow assembled from search hits is the classic bad flow. Keep it only if you truly ` +
155
- `verified the chain; otherwise retract it now (op "retract").`);
165
+ `verified the chain; otherwise retract it now ({"op":"retract","id":"<id>","target":{"kind":"note"}}).`);
156
166
  }
157
167
  //# sourceMappingURL=write-guide.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-guide.js","sourceRoot":"","sources":["../../src/kb/write-guide.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-guide.js","sourceRoot":"","sources":["../../src/kb/write-guide.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,10 @@ export interface WriteOptions {
68
68
  force?: boolean;
69
69
  /** Session id for the capture-rate metric. */
70
70
  session?: string;
71
+ /** Agent id (main | subagent id) selecting THIS agent's durable worklist for
72
+ * batch-coverage finalization. Defaults to "main". A subagent shares its
73
+ * parent's session id, so this is what keeps it off the main agent's list. */
74
+ agent?: string;
71
75
  }
72
76
  export declare function kbWrite(root: string, spec: WriteSpec, opts?: WriteOptions): Promise<WriteResult>;
73
77
  //# sourceMappingURL=write.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/kb/write.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAS,aAAa,EAAc,UAAU,EAAkB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAUzG;;;+CAG+C;AAC/C,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IAC7C,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC/C,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAClF;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;kEAE8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAiP1G"}
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/kb/write.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAS,aAAa,EAAc,UAAU,EAAkB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAUzG;;;+CAG+C;AAC/C,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IAC7C,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC/C,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAClF;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;kEAE8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;mFAE+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAyP1G"}
package/dist/kb/write.js CHANGED
@@ -38,6 +38,15 @@ export async function kbWrite(root, spec, opts = {}) {
38
38
  character = sugared;
39
39
  type = 'file';
40
40
  }
41
+ // A retract/supersede targets an EXISTING note by id; its type is a property
42
+ // of that note, not something the caller should have to restate. Requiring it
43
+ // (and, for file notes, `path`) is exactly why the documented retract form —
44
+ // {op:"retract", id, target:{kind:"note"}} — kept failing. Infer it here.
45
+ if (!type && op !== 'put' && spec.id) {
46
+ const { note: tgt } = loadNote(root, spec.id);
47
+ if (tgt)
48
+ type = tgt.type;
49
+ }
41
50
  if (!type || !NOTE_TYPES.has(type))
42
51
  return err('spec needs a `type`: "file" (one real file — or shorthand "file-hub"/"file-single"), "flow" (a cross-file story), or "lesson" (a confirmed absence — "there is no X in this repo", with the search terms that proved it)');
43
52
  if (character !== undefined && !CHARACTERS.has(character))
@@ -73,7 +82,7 @@ export async function kbWrite(root, spec, opts = {}) {
73
82
  }
74
83
  }
75
84
  }
76
- if (type === 'file') {
85
+ if (type === 'file' && op === 'put') {
77
86
  if (!spec.path)
78
87
  return err('a file note needs `path` — the file it is about');
79
88
  const derived = fileNoteId(spec.path);
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/kb/write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/kb/write.ts"],"names":[],"mappings":"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"}