@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.
- package/LICENSE +14 -0
- package/README.md +76 -2
- package/cordis.patch.yml +363 -0
- package/docs/architecture.md +692 -0
- package/docs/autorun-guide.md +248 -0
- package/docs/backlog.md +2022 -0
- package/docs/contract.md +938 -0
- package/docs/development.md +990 -0
- package/docs/host-compaction-seam.md +225 -0
- package/docs/host-protected-head-ask.md +80 -0
- package/docs/knowledge-repo.md +1332 -0
- package/docs/plans-carriage.md +571 -0
- package/docs/project-state.md +642 -0
- package/docs/provider.md +98 -0
- package/docs/superpowers/plans/2026-10-17-chapters-save.md +198 -0
- package/docs/superpowers/plans/2026-11-02-chapter-removal.md +151 -0
- package/docs/superpowers/specs/2026-11-02-chapter-removal-design.md +115 -0
- package/docs/verify.md +561 -0
- package/lib/archive.d.ts +161 -0
- package/lib/archive.js +229 -0
- package/lib/archive.js.map +1 -0
- package/lib/arrival.d.ts +23 -0
- package/lib/arrival.js +125 -0
- package/lib/arrival.js.map +1 -0
- package/lib/artifact-query.d.ts +62 -0
- package/lib/artifact-query.js +187 -0
- package/lib/artifact-query.js.map +1 -0
- package/lib/attach.d.ts +46 -0
- package/lib/attach.js +120 -0
- package/lib/attach.js.map +1 -0
- package/lib/auto-save.d.ts +145 -0
- package/lib/auto-save.js +334 -0
- package/lib/auto-save.js.map +1 -0
- package/lib/aux-message.d.ts +17 -0
- package/lib/aux-message.js +20 -0
- package/lib/aux-message.js.map +1 -0
- package/lib/client.js +1419 -0
- package/lib/client.js.map +1 -0
- package/lib/codegraph.d.ts +76 -0
- package/lib/codegraph.js +190 -0
- package/lib/codegraph.js.map +1 -0
- package/lib/commands.d.ts +52 -0
- package/lib/commands.js +946 -0
- package/lib/commands.js.map +1 -0
- package/lib/compose.d.ts +30 -0
- package/lib/compose.js +185 -0
- package/lib/compose.js.map +1 -0
- package/lib/continue-core.d.ts +245 -0
- package/lib/continue-core.js +405 -0
- package/lib/continue-core.js.map +1 -0
- package/lib/diag.d.ts +55 -0
- package/lib/diag.js +186 -0
- package/lib/diag.js.map +1 -0
- package/lib/engine-core.d.ts +301 -0
- package/lib/engine-core.js +531 -0
- package/lib/engine-core.js.map +1 -0
- package/lib/engine-note.d.ts +35 -0
- package/lib/engine-note.js +32 -0
- package/lib/engine-note.js.map +1 -0
- package/lib/engine.d.ts +329 -0
- package/lib/engine.js +1179 -0
- package/lib/engine.js.map +1 -0
- package/lib/enrich-queue.d.ts +66 -0
- package/lib/enrich-queue.js +126 -0
- package/lib/enrich-queue.js.map +1 -0
- package/lib/enrich-store.d.ts +31 -0
- package/lib/enrich-store.js +103 -0
- package/lib/enrich-store.js.map +1 -0
- package/lib/enrich-wire.d.ts +163 -0
- package/lib/enrich-wire.js +353 -0
- package/lib/enrich-wire.js.map +1 -0
- package/lib/enrich.d.ts +102 -0
- package/lib/enrich.js +267 -0
- package/lib/enrich.js.map +1 -0
- package/lib/gitops.d.ts +107 -0
- package/lib/gitops.js +539 -0
- package/lib/gitops.js.map +1 -0
- package/lib/index.d.ts +241 -0
- package/lib/index.js +1162 -0
- package/lib/index.js.map +1 -0
- package/lib/indexing.d.ts +98 -0
- package/lib/indexing.js +223 -0
- package/lib/indexing.js.map +1 -0
- package/lib/injections.d.ts +90 -0
- package/lib/injections.js +165 -0
- package/lib/injections.js.map +1 -0
- package/lib/last-resort.d.ts +24 -0
- package/lib/last-resort.js +27 -0
- package/lib/last-resort.js.map +1 -0
- package/lib/log-shape.d.ts +38 -0
- package/lib/log-shape.js +93 -0
- package/lib/log-shape.js.map +1 -0
- package/lib/models-command.d.ts +74 -0
- package/lib/models-command.js +100 -0
- package/lib/models-command.js.map +1 -0
- package/lib/notice.d.ts +74 -0
- package/lib/notice.js +92 -0
- package/lib/notice.js.map +1 -0
- package/lib/plans.d.ts +154 -0
- package/lib/plans.js +315 -0
- package/lib/plans.js.map +1 -0
- package/lib/preset.d.ts +186 -0
- package/lib/preset.js +212 -0
- package/lib/preset.js.map +1 -0
- package/lib/prompt-keys.d.ts +7 -0
- package/lib/prompt-keys.js +8 -0
- package/lib/prompt-keys.js.map +1 -0
- package/lib/prompt-loop.d.ts +73 -0
- package/lib/prompt-loop.js +147 -0
- package/lib/prompt-loop.js.map +1 -0
- package/lib/prompt-push.d.ts +47 -0
- package/lib/prompt-push.js +115 -0
- package/lib/prompt-push.js.map +1 -0
- package/lib/prompt-runner.d.ts +48 -0
- package/lib/prompt-runner.js +90 -0
- package/lib/prompt-runner.js.map +1 -0
- package/lib/prompt-state.d.ts +142 -0
- package/lib/prompt-state.js +101 -0
- package/lib/prompt-state.js.map +1 -0
- package/lib/prompt.d.ts +270 -0
- package/lib/prompt.js +408 -0
- package/lib/prompt.js.map +1 -0
- package/lib/provider.d.ts +44 -0
- package/lib/provider.js +66 -0
- package/lib/provider.js.map +1 -0
- package/lib/redact.d.ts +24 -0
- package/lib/redact.js +85 -0
- package/lib/redact.js.map +1 -0
- package/lib/registry.d.ts +187 -0
- package/lib/registry.js +235 -0
- package/lib/registry.js.map +1 -0
- package/lib/removal.d.ts +159 -0
- package/lib/removal.js +556 -0
- package/lib/removal.js.map +1 -0
- package/lib/render.d.ts +97 -0
- package/lib/render.js +530 -0
- package/lib/render.js.map +1 -0
- package/lib/repair-run.d.ts +76 -0
- package/lib/repair-run.js +506 -0
- package/lib/repair-run.js.map +1 -0
- package/lib/repair.d.ts +208 -0
- package/lib/repair.js +357 -0
- package/lib/repair.js.map +1 -0
- package/lib/repo.d.ts +78 -0
- package/lib/repo.js +184 -0
- package/lib/repo.js.map +1 -0
- package/lib/rules-commands.d.ts +46 -0
- package/lib/rules-commands.js +379 -0
- package/lib/rules-commands.js.map +1 -0
- package/lib/rules.d.ts +267 -0
- package/lib/rules.js +478 -0
- package/lib/rules.js.map +1 -0
- package/lib/save-core.d.ts +72 -0
- package/lib/save-core.js +220 -0
- package/lib/save-core.js.map +1 -0
- package/lib/search.d.ts +112 -0
- package/lib/search.js +282 -0
- package/lib/search.js.map +1 -0
- package/lib/session-rules.d.ts +222 -0
- package/lib/session-rules.js +454 -0
- package/lib/session-rules.js.map +1 -0
- package/lib/signature.d.ts +45 -0
- package/lib/signature.js +199 -0
- package/lib/signature.js.map +1 -0
- package/lib/store.d.ts +156 -0
- package/lib/store.js +368 -0
- package/lib/store.js.map +1 -0
- package/lib/sync.d.ts +220 -0
- package/lib/sync.js +810 -0
- package/lib/sync.js.map +1 -0
- package/lib/tools.d.ts +113 -0
- package/lib/tools.js +1090 -0
- package/lib/tools.js.map +1 -0
- package/lib/treedx/client.d.ts +57 -0
- package/lib/treedx/client.js +82 -0
- package/lib/treedx/client.js.map +1 -0
- package/lib/treedx/provider.d.ts +39 -0
- package/lib/treedx/provider.js +479 -0
- package/lib/treedx/provider.js.map +1 -0
- package/lib/treedx/state.d.ts +27 -0
- package/lib/treedx/state.js +65 -0
- package/lib/treedx/state.js.map +1 -0
- package/lib/types.d.ts +210 -0
- package/lib/types.js +31 -0
- package/lib/types.js.map +1 -0
- package/lib/version.d.ts +9 -0
- package/lib/version.js +10 -0
- package/lib/version.js.map +1 -0
- package/lib/vocabulary.d.ts +41 -0
- package/lib/vocabulary.js +118 -0
- package/lib/vocabulary.js.map +1 -0
- package/lib/warnings.d.ts +10 -0
- package/lib/warnings.js +18 -0
- package/lib/warnings.js.map +1 -0
- 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 {};
|