@fractalsynapse/dsh-chapters 0.0.0-stage → 0.2.21

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 (195) hide show
  1. package/LICENSE +14 -0
  2. package/README.md +76 -2
  3. package/cordis.patch.yml +363 -0
  4. package/docs/architecture.md +692 -0
  5. package/docs/autorun-guide.md +248 -0
  6. package/docs/backlog.md +2022 -0
  7. package/docs/contract.md +938 -0
  8. package/docs/development.md +990 -0
  9. package/docs/host-compaction-seam.md +225 -0
  10. package/docs/host-protected-head-ask.md +80 -0
  11. package/docs/knowledge-repo.md +1332 -0
  12. package/docs/plans-carriage.md +571 -0
  13. package/docs/project-state.md +642 -0
  14. package/docs/provider.md +98 -0
  15. package/docs/superpowers/plans/2026-10-17-chapters-save.md +198 -0
  16. package/docs/superpowers/plans/2026-11-02-chapter-removal.md +151 -0
  17. package/docs/superpowers/specs/2026-11-02-chapter-removal-design.md +115 -0
  18. package/docs/verify.md +561 -0
  19. package/lib/archive.d.ts +161 -0
  20. package/lib/archive.js +229 -0
  21. package/lib/archive.js.map +1 -0
  22. package/lib/arrival.d.ts +23 -0
  23. package/lib/arrival.js +125 -0
  24. package/lib/arrival.js.map +1 -0
  25. package/lib/artifact-query.d.ts +62 -0
  26. package/lib/artifact-query.js +187 -0
  27. package/lib/artifact-query.js.map +1 -0
  28. package/lib/attach.d.ts +46 -0
  29. package/lib/attach.js +120 -0
  30. package/lib/attach.js.map +1 -0
  31. package/lib/auto-save.d.ts +145 -0
  32. package/lib/auto-save.js +334 -0
  33. package/lib/auto-save.js.map +1 -0
  34. package/lib/aux-message.d.ts +17 -0
  35. package/lib/aux-message.js +20 -0
  36. package/lib/aux-message.js.map +1 -0
  37. package/lib/client.js +1419 -0
  38. package/lib/client.js.map +1 -0
  39. package/lib/codegraph.d.ts +76 -0
  40. package/lib/codegraph.js +190 -0
  41. package/lib/codegraph.js.map +1 -0
  42. package/lib/commands.d.ts +52 -0
  43. package/lib/commands.js +946 -0
  44. package/lib/commands.js.map +1 -0
  45. package/lib/compose.d.ts +30 -0
  46. package/lib/compose.js +185 -0
  47. package/lib/compose.js.map +1 -0
  48. package/lib/continue-core.d.ts +245 -0
  49. package/lib/continue-core.js +405 -0
  50. package/lib/continue-core.js.map +1 -0
  51. package/lib/diag.d.ts +55 -0
  52. package/lib/diag.js +186 -0
  53. package/lib/diag.js.map +1 -0
  54. package/lib/engine-core.d.ts +301 -0
  55. package/lib/engine-core.js +531 -0
  56. package/lib/engine-core.js.map +1 -0
  57. package/lib/engine-note.d.ts +35 -0
  58. package/lib/engine-note.js +32 -0
  59. package/lib/engine-note.js.map +1 -0
  60. package/lib/engine.d.ts +329 -0
  61. package/lib/engine.js +1179 -0
  62. package/lib/engine.js.map +1 -0
  63. package/lib/enrich-queue.d.ts +66 -0
  64. package/lib/enrich-queue.js +126 -0
  65. package/lib/enrich-queue.js.map +1 -0
  66. package/lib/enrich-store.d.ts +31 -0
  67. package/lib/enrich-store.js +103 -0
  68. package/lib/enrich-store.js.map +1 -0
  69. package/lib/enrich-wire.d.ts +163 -0
  70. package/lib/enrich-wire.js +353 -0
  71. package/lib/enrich-wire.js.map +1 -0
  72. package/lib/enrich.d.ts +102 -0
  73. package/lib/enrich.js +267 -0
  74. package/lib/enrich.js.map +1 -0
  75. package/lib/gitops.d.ts +107 -0
  76. package/lib/gitops.js +539 -0
  77. package/lib/gitops.js.map +1 -0
  78. package/lib/index.d.ts +241 -0
  79. package/lib/index.js +1162 -0
  80. package/lib/index.js.map +1 -0
  81. package/lib/indexing.d.ts +98 -0
  82. package/lib/indexing.js +223 -0
  83. package/lib/indexing.js.map +1 -0
  84. package/lib/injections.d.ts +90 -0
  85. package/lib/injections.js +165 -0
  86. package/lib/injections.js.map +1 -0
  87. package/lib/last-resort.d.ts +24 -0
  88. package/lib/last-resort.js +27 -0
  89. package/lib/last-resort.js.map +1 -0
  90. package/lib/log-shape.d.ts +38 -0
  91. package/lib/log-shape.js +93 -0
  92. package/lib/log-shape.js.map +1 -0
  93. package/lib/models-command.d.ts +74 -0
  94. package/lib/models-command.js +100 -0
  95. package/lib/models-command.js.map +1 -0
  96. package/lib/notice.d.ts +74 -0
  97. package/lib/notice.js +92 -0
  98. package/lib/notice.js.map +1 -0
  99. package/lib/plans.d.ts +154 -0
  100. package/lib/plans.js +315 -0
  101. package/lib/plans.js.map +1 -0
  102. package/lib/preset.d.ts +186 -0
  103. package/lib/preset.js +212 -0
  104. package/lib/preset.js.map +1 -0
  105. package/lib/prompt-keys.d.ts +7 -0
  106. package/lib/prompt-keys.js +8 -0
  107. package/lib/prompt-keys.js.map +1 -0
  108. package/lib/prompt-loop.d.ts +73 -0
  109. package/lib/prompt-loop.js +147 -0
  110. package/lib/prompt-loop.js.map +1 -0
  111. package/lib/prompt-push.d.ts +47 -0
  112. package/lib/prompt-push.js +115 -0
  113. package/lib/prompt-push.js.map +1 -0
  114. package/lib/prompt-runner.d.ts +48 -0
  115. package/lib/prompt-runner.js +90 -0
  116. package/lib/prompt-runner.js.map +1 -0
  117. package/lib/prompt-state.d.ts +142 -0
  118. package/lib/prompt-state.js +101 -0
  119. package/lib/prompt-state.js.map +1 -0
  120. package/lib/prompt.d.ts +270 -0
  121. package/lib/prompt.js +408 -0
  122. package/lib/prompt.js.map +1 -0
  123. package/lib/provider.d.ts +44 -0
  124. package/lib/provider.js +66 -0
  125. package/lib/provider.js.map +1 -0
  126. package/lib/redact.d.ts +24 -0
  127. package/lib/redact.js +85 -0
  128. package/lib/redact.js.map +1 -0
  129. package/lib/registry.d.ts +187 -0
  130. package/lib/registry.js +235 -0
  131. package/lib/registry.js.map +1 -0
  132. package/lib/removal.d.ts +159 -0
  133. package/lib/removal.js +556 -0
  134. package/lib/removal.js.map +1 -0
  135. package/lib/render.d.ts +97 -0
  136. package/lib/render.js +530 -0
  137. package/lib/render.js.map +1 -0
  138. package/lib/repair-run.d.ts +76 -0
  139. package/lib/repair-run.js +506 -0
  140. package/lib/repair-run.js.map +1 -0
  141. package/lib/repair.d.ts +208 -0
  142. package/lib/repair.js +357 -0
  143. package/lib/repair.js.map +1 -0
  144. package/lib/repo.d.ts +78 -0
  145. package/lib/repo.js +184 -0
  146. package/lib/repo.js.map +1 -0
  147. package/lib/rules-commands.d.ts +46 -0
  148. package/lib/rules-commands.js +379 -0
  149. package/lib/rules-commands.js.map +1 -0
  150. package/lib/rules.d.ts +267 -0
  151. package/lib/rules.js +478 -0
  152. package/lib/rules.js.map +1 -0
  153. package/lib/save-core.d.ts +72 -0
  154. package/lib/save-core.js +220 -0
  155. package/lib/save-core.js.map +1 -0
  156. package/lib/search.d.ts +112 -0
  157. package/lib/search.js +282 -0
  158. package/lib/search.js.map +1 -0
  159. package/lib/session-rules.d.ts +222 -0
  160. package/lib/session-rules.js +454 -0
  161. package/lib/session-rules.js.map +1 -0
  162. package/lib/signature.d.ts +45 -0
  163. package/lib/signature.js +199 -0
  164. package/lib/signature.js.map +1 -0
  165. package/lib/store.d.ts +156 -0
  166. package/lib/store.js +368 -0
  167. package/lib/store.js.map +1 -0
  168. package/lib/sync.d.ts +220 -0
  169. package/lib/sync.js +810 -0
  170. package/lib/sync.js.map +1 -0
  171. package/lib/tools.d.ts +113 -0
  172. package/lib/tools.js +1090 -0
  173. package/lib/tools.js.map +1 -0
  174. package/lib/treedx/client.d.ts +57 -0
  175. package/lib/treedx/client.js +82 -0
  176. package/lib/treedx/client.js.map +1 -0
  177. package/lib/treedx/provider.d.ts +39 -0
  178. package/lib/treedx/provider.js +479 -0
  179. package/lib/treedx/provider.js.map +1 -0
  180. package/lib/treedx/state.d.ts +27 -0
  181. package/lib/treedx/state.js +65 -0
  182. package/lib/treedx/state.js.map +1 -0
  183. package/lib/types.d.ts +210 -0
  184. package/lib/types.js +31 -0
  185. package/lib/types.js.map +1 -0
  186. package/lib/version.d.ts +9 -0
  187. package/lib/version.js +10 -0
  188. package/lib/version.js.map +1 -0
  189. package/lib/vocabulary.d.ts +41 -0
  190. package/lib/vocabulary.js +118 -0
  191. package/lib/vocabulary.js.map +1 -0
  192. package/lib/warnings.d.ts +10 -0
  193. package/lib/warnings.js +18 -0
  194. package/lib/warnings.js.map +1 -0
  195. package/package.json +151 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * P2 S2 — the enrichment queue: one queue, pluggable triggers, hard idle
3
+ * guarantee (record §6.2, plan decisions).
4
+ *
5
+ * Isomorphic factory (host plane + realm engine each own an instance, like
6
+ * createSyncScheduler). Providers are the ONLY variance:
7
+ * afterPush — schedule(reason) called after each completed sync pass
8
+ * idle — a resettable debounce timer (enrichment.idleMs)
9
+ * both — the default
10
+ * manual — no auto triggers; the /chapters-enrich run command drains
11
+ *
12
+ * Invariants this module owns:
13
+ * - NEVER in a hot path: enrichOne is only reached from drain(), and
14
+ * drain() is only fired by trigger events that already completed the
15
+ * user's work (post-push) or by silence (idle) or a command.
16
+ * - Idempotency key = chapter number + rootSession + model. Re-enqueue
17
+ * after vocab change is NOT needed (vocab affects canonicalization at
18
+ * index build, not the model call); after a MODEL change it IS (key
19
+ * includes model, so the key naturally changes).
20
+ * - enabled:false ⇒ every entry point is a pure no-op (kill-switch exit
21
+ * criterion: the corpus stays fully functional, signatures-only).
22
+ * - Cross-plane double-run: the caller-supplied lock (store-dir, same
23
+ * pattern as sync's acquireLock) makes the realm + host queues safe on
24
+ * one workspace.
25
+ */
26
+ export interface EnrichQueueDeps {
27
+ /** enumerate chapters lacking current-model enrichment (cheap, durable-read only) */
28
+ listPending: (model: string, cap: number) => Promise<{
29
+ key: string;
30
+ label: string;
31
+ }[]>;
32
+ /** run the ladder for one chapter; must never throw (S1 core + persistence) */
33
+ enrichOne: (key: string) => Promise<{
34
+ ok: boolean;
35
+ skipped?: string;
36
+ }>;
37
+ /** current enrichment model id ('' = resolver said: conversation model — queue still needs a concrete string for keys) */
38
+ resolveModel: () => Promise<string>;
39
+ enabled: boolean;
40
+ trigger: 'afterPush' | 'idle' | 'both' | 'manual';
41
+ idleMs: number;
42
+ batchCap: number;
43
+ log: (msg: string) => void;
44
+ /** injectable timer for tests */
45
+ setTimer?: (fn: () => void, ms: number) => {
46
+ cancel: () => void;
47
+ };
48
+ }
49
+ export interface EnrichQueue {
50
+ /** a sync pass just completed (or any natural idle point) */
51
+ onSyncDone: (reason: string) => void;
52
+ /** archive activity happened — resets the idle timer */
53
+ noteActivity: () => void;
54
+ /** manual drain (command surface); returns processed count */
55
+ drainNow: () => Promise<number>;
56
+ /** queue state for /chapters-status + reports */
57
+ state: () => {
58
+ enabled: boolean;
59
+ trigger: string;
60
+ pendingEstimate: number;
61
+ lastBatch: number;
62
+ model: string | null;
63
+ };
64
+ dispose: () => void;
65
+ }
66
+ export declare function createEnrichQueue(deps: EnrichQueueDeps): EnrichQueue;
@@ -0,0 +1,126 @@
1
+ /**
2
+ * P2 S2 — the enrichment queue: one queue, pluggable triggers, hard idle
3
+ * guarantee (record §6.2, plan decisions).
4
+ *
5
+ * Isomorphic factory (host plane + realm engine each own an instance, like
6
+ * createSyncScheduler). Providers are the ONLY variance:
7
+ * afterPush — schedule(reason) called after each completed sync pass
8
+ * idle — a resettable debounce timer (enrichment.idleMs)
9
+ * both — the default
10
+ * manual — no auto triggers; the /chapters-enrich run command drains
11
+ *
12
+ * Invariants this module owns:
13
+ * - NEVER in a hot path: enrichOne is only reached from drain(), and
14
+ * drain() is only fired by trigger events that already completed the
15
+ * user's work (post-push) or by silence (idle) or a command.
16
+ * - Idempotency key = chapter number + rootSession + model. Re-enqueue
17
+ * after vocab change is NOT needed (vocab affects canonicalization at
18
+ * index build, not the model call); after a MODEL change it IS (key
19
+ * includes model, so the key naturally changes).
20
+ * - enabled:false ⇒ every entry point is a pure no-op (kill-switch exit
21
+ * criterion: the corpus stays fully functional, signatures-only).
22
+ * - Cross-plane double-run: the caller-supplied lock (store-dir, same
23
+ * pattern as sync's acquireLock) makes the realm + host queues safe on
24
+ * one workspace.
25
+ */
26
+ export function createEnrichQueue(deps) {
27
+ let idleTimer = null;
28
+ let draining = null;
29
+ let lastBatch = 0;
30
+ let modelCache = null;
31
+ let pendingEstimate = 0;
32
+ const setTimer = deps.setTimer ?? ((fn, ms) => {
33
+ const t = setTimeout(fn, ms);
34
+ return { cancel: () => clearTimeout(t) };
35
+ });
36
+ const drain = (forced = false) => {
37
+ // auto drains honor the trigger choice; a forced drain (the command /
38
+ // manual surface) only honors the kill switch
39
+ // #61a, and the reason this file exists in the release: a queue that decides not to work must
40
+ // say WHICH decision it made. The `enrich` leg burned 420 s polling for ladder output while the
41
+ // tape showed only the conversation and title requests and the sink had no enrichment line at
42
+ // all — the queue knew (disabled? manual trigger? no model? nothing pending?) and told nobody.
43
+ if (!deps.enabled) {
44
+ deps.log('enrichment drain skipped: disabled (enrichmentEnabled=false)');
45
+ return Promise.resolve(0);
46
+ }
47
+ if (!forced && deps.trigger === 'manual') {
48
+ deps.log('enrichment drain skipped: trigger=manual — only /chapters-enrich run drains it');
49
+ return Promise.resolve(0);
50
+ }
51
+ if (draining !== null)
52
+ return draining; // one batch at a time; requests collapse
53
+ draining = (async () => {
54
+ try {
55
+ const model = await deps.resolveModel();
56
+ modelCache = model;
57
+ if (model === '') {
58
+ deps.log('enrichment drain skipped: no enrichment model resolvable');
59
+ return 0;
60
+ }
61
+ const pending = await deps.listPending(model, deps.batchCap);
62
+ pendingEstimate = pending.length;
63
+ if (pending.length === 0)
64
+ deps.log(`enrichment drain: pending=0 via ${model} (trigger=${deps.trigger}, idleMs=${String(deps.idleMs)})`);
65
+ let done = 0;
66
+ for (const item of pending) {
67
+ const r = await deps.enrichOne(item.key);
68
+ if (r.ok)
69
+ done++;
70
+ // Measured: the manual command reported `processed 0 chapter(s); 1 pending` and the sink
71
+ // had nothing, because only successes were ever written. A skip IS a decision with a cause
72
+ // (`skipped:` is the ladder's own label), and an unreported one turns a 420-second poll into
73
+ // an argument — the third time today a queue knew and said nothing (#61a).
74
+ else
75
+ deps.log(`enrichment skipped ${item.key}: ${r.skipped ?? 'no reason given by the ladder'}`);
76
+ }
77
+ lastBatch = done;
78
+ if (done > 0)
79
+ deps.log(`enrichment batch: ${done}/${pending.length} chapter(s) via ${model}`);
80
+ return done;
81
+ }
82
+ catch (error) {
83
+ deps.log(`enrichment drain failed (kept silent for the user): ${String(error)}`);
84
+ return 0;
85
+ }
86
+ finally {
87
+ draining = null;
88
+ }
89
+ })();
90
+ return draining;
91
+ };
92
+ return {
93
+ onSyncDone: (reason) => {
94
+ if (!deps.enabled)
95
+ return;
96
+ if (deps.trigger === 'afterPush' || deps.trigger === 'both') {
97
+ deps.log(`enrichment scheduled after sync (${reason})`);
98
+ void drain();
99
+ }
100
+ },
101
+ noteActivity: () => {
102
+ if (!deps.enabled || (deps.trigger !== 'idle' && deps.trigger !== 'both'))
103
+ return;
104
+ idleTimer?.cancel();
105
+ idleTimer = setTimer(() => { void drain(); }, deps.idleMs);
106
+ },
107
+ drainNow: async () => {
108
+ // same rule as `drain`: an entry point that returns zero names its reason, or the next
109
+ // 420-second poll has nothing to read but a guess.
110
+ if (!deps.enabled) {
111
+ deps.log('enrichment drain skipped: disabled (enrichmentEnabled=false)');
112
+ return 0;
113
+ }
114
+ return await drain(true);
115
+ },
116
+ state: () => ({
117
+ enabled: deps.enabled,
118
+ trigger: deps.trigger,
119
+ pendingEstimate,
120
+ lastBatch,
121
+ model: modelCache,
122
+ }),
123
+ dispose: () => { idleTimer?.cancel(); idleTimer = null; },
124
+ };
125
+ }
126
+ //# sourceMappingURL=enrich-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrich-queue.js","sourceRoot":"","sources":["../src/enrich-queue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export interface ChapterDoc {
2
+ /** raw frontmatter lines (between the --- fences), verbatim */
3
+ fmLines: string[];
4
+ body: string;
5
+ }
6
+ export declare function parseChapterFile(text: string): ChapterDoc;
7
+ export declare const bodyHash: (body: string) => string;
8
+ /**
9
+ * Apply minimal frontmatter updates, body-guaranteed. expectedFileSha256 is
10
+ * the registry record's hash — which archive.ts computes over the WHOLE FILE
11
+ * (sha256(chapter.markdown)), the same value the tamper-check compares on-disk
12
+ * bytes against (archive.ts verify). The verbatim-BODY guarantee is the
13
+ * declared frontmatter anchor: a body that no longer matches its declared
14
+ * hash is corruption and refuses any write. Convention note: this guard once
15
+ * compared the registry's whole-file hash against the BODY hash — a mismatch
16
+ * on every real chapter, so enrichment silently never wrote (found by the
17
+ * enrich e2e 2026-09-22; the error was invisible behind the host logger).
18
+ * Callers MUST re-anchor the registry record with the returned fileSha256
19
+ * after a changed=true write (the ladder does).
20
+ */
21
+ export declare function updateChapterFrontmatter(filePath: string, updates: Record<string, string>, expectedFileSha256?: string): {
22
+ changed: boolean;
23
+ body: string;
24
+ fileSha256: string;
25
+ };
26
+ /** YAML-ish serializer for the provenance chain (nested block, newest first) */
27
+ export declare function renderGeneratedBlock(chain: {
28
+ by: string;
29
+ model?: string;
30
+ at?: string;
31
+ }[]): string;
@@ -0,0 +1,103 @@
1
+ /**
2
+ * P2 S3 — provenance persistence (record §2.4/§6.2): the ONLY sanctioned
3
+ * chapter-file mutation in the system.
4
+ *
5
+ * A chapter file = YAML frontmatter + verbatim body. Enrichment may rewrite
6
+ * frontmatter fields it owns (title/summary/topics/generated); the body is
7
+ * untouchable, so EVERY write re-verifies the body hash before committing
8
+ * and refuses, loudly, on any mismatch. Frontmatter edits are LINE-BASED
9
+ * minimal replacements (order and unknown lines preserved — the file's own
10
+ * renderer stays the authority on shape); the write is atomic (tmp+rename);
11
+ * provenance chains grow, never truncate.
12
+ */
13
+ import fs from 'node:fs';
14
+ import path from 'node:path';
15
+ import { createHash } from 'node:crypto';
16
+ const FM_DELIM = '---';
17
+ export function parseChapterFile(text) {
18
+ if (!text.startsWith(`${FM_DELIM}\n`))
19
+ throw new Error('chapter file lacks frontmatter');
20
+ let endLine = -1;
21
+ const lines = text.split('\n');
22
+ for (let i = 1; i < lines.length; i++) {
23
+ if (lines[i] === FM_DELIM) {
24
+ endLine = i;
25
+ break;
26
+ }
27
+ }
28
+ if (endLine === -1)
29
+ throw new Error('unterminated frontmatter');
30
+ return { fmLines: lines.slice(1, endLine), body: lines.slice(endLine + 1).join('\n') };
31
+ }
32
+ export const bodyHash = (body) => createHash('sha256').update(body, 'utf8').digest('hex');
33
+ /** replace-or-append one top-level key; block values arrive as multi-line strings */
34
+ function setFmLine(lines, key, value) {
35
+ const start = lines.findIndex((l) => new RegExp(`^${key}:`).test(l));
36
+ const replacement = value.split('\n').map((l, i) => (i === 0 ? `${key}: ${l}` : l));
37
+ if (start === -1)
38
+ return [...lines, ...replacement];
39
+ let end = start + 1;
40
+ while (end < lines.length && /^\s/.test(lines[end]))
41
+ end++;
42
+ return [...lines.slice(0, start), ...replacement, ...lines.slice(end)];
43
+ }
44
+ /**
45
+ * Apply minimal frontmatter updates, body-guaranteed. expectedFileSha256 is
46
+ * the registry record's hash — which archive.ts computes over the WHOLE FILE
47
+ * (sha256(chapter.markdown)), the same value the tamper-check compares on-disk
48
+ * bytes against (archive.ts verify). The verbatim-BODY guarantee is the
49
+ * declared frontmatter anchor: a body that no longer matches its declared
50
+ * hash is corruption and refuses any write. Convention note: this guard once
51
+ * compared the registry's whole-file hash against the BODY hash — a mismatch
52
+ * on every real chapter, so enrichment silently never wrote (found by the
53
+ * enrich e2e 2026-09-22; the error was invisible behind the host logger).
54
+ * Callers MUST re-anchor the registry record with the returned fileSha256
55
+ * after a changed=true write (the ladder does).
56
+ */
57
+ export function updateChapterFrontmatter(filePath, updates, expectedFileSha256) {
58
+ const text = fs.readFileSync(filePath, 'utf8');
59
+ const doc = parseChapterFile(text);
60
+ const hash = bodyHash(doc.body);
61
+ const fileHash = bodyHash(text);
62
+ // self-consistency: a declared bodySha256 that no longer matches the body
63
+ // means on-disk corruption — refuse before anything else
64
+ // render.ts anchors the body hash under 'sha256:' — accept either name as
65
+ // the declared guard value
66
+ const declared = doc.fmLines.find((l) => /^(?:bodySha256|sha256):/.test(l))?.split(': ')[1]?.trim();
67
+ // Two legitimate declared forms exist: current (hash of the parsed body,
68
+ // trailing newline included) and legacy (hash of bodyText before the
69
+ // writer appended '\n' — every chapter archived before the 2026-09-23
70
+ // convention fix). Either matches; anything else is corruption. Accepting
71
+ // the legacy form keeps already-archived chapters enrichable.
72
+ if (declared !== undefined && declared !== hash && declared !== bodyHash(doc.body.replace(/\n$/, ''))) {
73
+ throw new Error(`refusing to touch ${filePath}: declared body hash ${declared.slice(0, 12)}… != computed ${hash.slice(0, 12)}… — body altered on disk`);
74
+ }
75
+ if (expectedFileSha256 !== undefined && expectedFileSha256 !== fileHash) {
76
+ throw new Error(`refusing to rewrite ${filePath}: file hash ${fileHash.slice(0, 12)}… != registry ${expectedFileSha256.slice(0, 12)}…`);
77
+ }
78
+ let fm = doc.fmLines;
79
+ let changed = false;
80
+ for (const [k, v] of Object.entries(updates)) {
81
+ const next = setFmLine(fm, k, v);
82
+ if (next.join('\n') !== fm.join('\n')) {
83
+ fm = next;
84
+ changed = true;
85
+ }
86
+ }
87
+ if (!changed)
88
+ return { changed: false, body: doc.body, fileSha256: fileHash };
89
+ // every sanctioned write carries a body anchor; render.ts names it sha256
90
+ if (!fm.some((l) => /^(?:bodySha256|sha256):/.test(l)))
91
+ fm = setFmLine(fm, 'sha256', hash);
92
+ const nextText = `${FM_DELIM}\n${fm.join('\n')}\n${FM_DELIM}\n${doc.body}`;
93
+ const tmp = path.join(path.dirname(filePath), `.${path.basename(filePath)}.tmp-${process.pid}`);
94
+ fs.writeFileSync(tmp, nextText);
95
+ fs.renameSync(tmp, filePath);
96
+ return { changed: true, body: doc.body, fileSha256: bodyHash(nextText) };
97
+ }
98
+ /** YAML-ish serializer for the provenance chain (nested block, newest first) */
99
+ export function renderGeneratedBlock(chain) {
100
+ const inner = chain.map((m) => m.by === 'model' ? `\n - by: model\n model: ${m.model}\n at: ${m.at ?? ''}` : '\n - by: deterministic');
101
+ return inner.join('');
102
+ }
103
+ //# sourceMappingURL=enrich-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrich-store.js","sourceRoot":"","sources":["../src/enrich-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ import { type EnrichQueue } from './enrich-queue.ts';
2
+ import { type GeneratedProvenance, type GeneratedMark, type MinedRuleOut } from './enrich.ts';
3
+ /** The row shape the ladder may read and re-write — structural, never the registry's own type. */
4
+ interface ChapterRowItem {
5
+ number: number;
6
+ path?: string | undefined;
7
+ title?: string | undefined;
8
+ summary?: string | undefined;
9
+ topics?: string[] | undefined;
10
+ generated?: Record<string, GeneratedMark[]> | undefined;
11
+ sha256?: string | undefined;
12
+ }
13
+ interface ChapterRow {
14
+ chapters: ChapterRowItem[];
15
+ }
16
+ export interface EnrichConfig {
17
+ enabled: boolean;
18
+ /** 'provider/model' or '' = follow the conversation (realm) / stored route (host) */
19
+ model: string;
20
+ trigger: 'afterPush' | 'idle' | 'both' | 'manual';
21
+ idleMs: number;
22
+ batchCap: number;
23
+ /** One auxiliary completion budget (see enrich.ts: reasoning tokens are counted) */
24
+ maxTokens?: number | undefined;
25
+ /**
26
+ * #50 §7.5: mine standing orders out of each annotated chapter. `undefined`
27
+ * means ON — the point of the tier is that the human does not have to think
28
+ * about it; what a mined rule needs is not a click but a VERBATIM QUOTE of the
29
+ * human's own words, enforced at activation, and a list one command away.
30
+ */
31
+ mineRules?: boolean | undefined;
32
+ /** per-chapter cap on mined rules (§7.5: few, short, traceable) */
33
+ mineCap?: number | undefined;
34
+ /**
35
+ * §7.5 policy (amended 2026-10-21): may a mined rule govern on arrival? Default
36
+ * TRUE — inferring a standing order nobody spelled out is the point of the tier.
37
+ * False holds every mined rule as `reviewOnly` until a human approves it here.
38
+ */
39
+ rulesAutoActivate?: boolean | undefined;
40
+ /**
41
+ * §7.5: a model of its own for rule mining ('provider/model', or a bare model
42
+ * name on the current provider). Empty ⇒ mine inside the SAME annotation call,
43
+ * which costs no extra inference. Set it and mining becomes a second bounded call
44
+ * per chapter — the honest way to say governance deserves a better model than
45
+ * annotation does.
46
+ */
47
+ rulesModel?: string | undefined;
48
+ }
49
+ export interface EnrichWiringDeps {
50
+ store: {
51
+ get(id: string): Promise<{
52
+ chapters: {
53
+ number: number;
54
+ path: string;
55
+ title: string;
56
+ summary: string;
57
+ topics: string[];
58
+ sha256: string;
59
+ generated?: Record<string, GeneratedMark[]>;
60
+ }[];
61
+ }>;
62
+ put(id: string, state: unknown, expectedRev?: number): Promise<void>;
63
+ /** #59: the ladder's whole-row write must run as one section over a FRESH read. */
64
+ mutate(id: string, fn: (state: ChapterRow) => ChapterRow | Promise<ChapterRow>): Promise<unknown>;
65
+ sessions(): IterableIterator<[string, unknown]>;
66
+ getSetting(key: string): string | undefined;
67
+ putSetting(key: string, value: string): Promise<void>;
68
+ };
69
+ cwd(): string | undefined;
70
+ config: EnrichConfig;
71
+ /** one completion; may reject — the ladder catches */
72
+ fetch(prompt: string, route: {
73
+ provider: string;
74
+ model: string;
75
+ } | null): Promise<string>;
76
+ /** route resolution when neither override nor config names one (realm: live agent; host: persisted) */
77
+ conversationRoute(): {
78
+ provider: string;
79
+ model: string;
80
+ } | null;
81
+ /**
82
+ * #50 §7.5 sink: the plane that owns disk + identity + the registry writes the
83
+ * mined candidates. enrich-wire stays model-plumbing only — it hands over the
84
+ * chapter's human bytes and the candidates and reports what happened. Absent ⇒
85
+ * mining is WARNED as unwired, never silently dropped.
86
+ */
87
+ onMinedRules?: ((args: {
88
+ cwd: string;
89
+ sessionId: string;
90
+ chapterNumber: number;
91
+ humanText: string;
92
+ rules: readonly MinedRuleOut[];
93
+ max: number;
94
+ autoActivate: boolean;
95
+ }) => Promise<{
96
+ written: number;
97
+ stated: number;
98
+ inferred: number;
99
+ pending: number;
100
+ }>) | undefined;
101
+ scheduler?: {
102
+ schedule(cwd: string, why: string): void;
103
+ };
104
+ log(m: string): void;
105
+ warn(m: string): void;
106
+ setTimer?: (fn: () => void, ms: number) => {
107
+ cancel(): void;
108
+ };
109
+ }
110
+ export interface EnrichWiring {
111
+ queue: EnrichQueue;
112
+ /** manual drain for the command surface (cwd arms the workspace for files) */
113
+ runNow(cwd?: string): Promise<{
114
+ processed: number;
115
+ remaining: number;
116
+ }>;
117
+ setModelOverride(v: string | null): Promise<void>;
118
+ modelOverride(): string | null;
119
+ statusLine(): string;
120
+ /** pending chapter count for reports (full scan, un-capped) */
121
+ pendingCount(): Promise<number>;
122
+ /** the resolved auxiliary route (enrichment AND plot share it, P2 decision) */
123
+ auxRoute(): {
124
+ provider: string;
125
+ model: string;
126
+ } | null;
127
+ /** planes remember the workspace seen at sync/command time */
128
+ rememberCwd(cwd: string): void;
129
+ dispose(): void;
130
+ }
131
+ /** YAML block for the generated: frontmatter field (newest-first chains) */
132
+ export declare function renderGeneratedBlock(gen: GeneratedProvenance): string;
133
+ /**
134
+ * The HUMAN bytes of a chapter, and only these. The annotator input splits the
135
+ * body on user-role markers and slices(1) — which leaves every chunk RUNNING ON
136
+ * into the
137
+ * assistant reply that follows it, so it is not a set of user turns. For the
138
+ * verbatim-quote gate (§7.5) that distinction is the whole mechanism: a quote
139
+ * found in assistant prose is the model restating an instruction (the
140
+ * amplification path), never evidence a human gave one. So each chunk is cut at
141
+ * the next role marker before it is offered as evidence.
142
+ */
143
+ export declare function humanBytesOf(body: string): string;
144
+ /**
145
+ * The ONE "does this chapter still need annotating?" test, used by BOTH the queue and `pendingCount`
146
+ * (#61). They were two hand-written loops over `chaptersOf` that had already drifted in shape, and the
147
+ * missing half was the minimum-content gate: five model calls in the field were spent titling husks
148
+ * ("Empty conversation span with unknown events and zero-byte results") — money thrown at nothing to
149
+ * annotate, and worse, the AI rename replaced a `FRAGMENT_TITLE`-shaped title so `indexing.ts` could no
150
+ * longer stitch adjacent legacy fragments (indexing.ts:43). So an empty chapter is not a candidate, and
151
+ * its deterministic title survives to be stitched.
152
+ */
153
+ export declare function isPendingChapter(c: {
154
+ messages?: number;
155
+ generated?: {
156
+ title?: {
157
+ by: string;
158
+ model?: string;
159
+ }[];
160
+ };
161
+ }, modelKey: string): boolean;
162
+ export declare function createEnrichWiring(deps: EnrichWiringDeps): EnrichWiring;
163
+ export {};