@treeseed/dsh-chapters 0.1.1 → 0.1.2

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/README.md CHANGED
@@ -1,644 +1,231 @@
1
1
  # dsh-chapters
2
2
 
3
- A DeepSeek Harness plugin for **topic-chaptered conversation continuation with lossless archiving**.
3
+ **A [DeepSeek Harness](https://www.deepseek.com) plugin for lossless context relief and a shared
4
+ project knowledge layer.** Published on npm as [`@treeseed/dsh-chapters`](https://www.npmjs.com/package/@treeseed/dsh-chapters);
5
+ source lives at [treeseed-ai/dsh-chapters](https://github.com/treeseed-ai/dsh-chapters).
4
6
 
5
- When a long conversation gets expensive, this plugin archives it as Markdown chapters in a project
6
- store and opens a **new session whose entire content is a Table of Contents** of that archive. The
7
- model reloads any chapter on demand with the `read` tool. The original conversation is never rewritten
8
- and its prompt cache is never disturbed.
7
+ When a long conversation gets expensive, dsh-chapters archives it as **verbatim Markdown chapters** in
8
+ a project store and opens a **new session whose entire content is a Table of Contents** of that
9
+ archive. The model reloads any chapter on demand with the ordinary `read` tool. The original
10
+ conversation is never rewritten, its prompt cache stays intact, and the index costs **zero model
11
+ tokens** — chapters are written from the session log (a file copy), not summarized by an LLM.
9
12
 
10
- > **On the name.** It used to be `dsh-chapter-fork`, and that was misleading in a way that mattered: in
11
- > DSH, "fork" means *copy the parent's history into the child* — the one operation this plugin must never
12
- > perform — while "compact" or "summarize" would imply the lossy in-place editing it replaces. It is now
13
- > **`dsh-chapters`**, which names the artifact and claims nothing false. Tools are `chapters_segment` and
14
- > `chapters_continue`. The full reasoning, including the two candidates that lost, is in
15
- > [docs/architecture.md](docs/architecture.md#naming). The one thing not yet renamed is the repository
16
- > folder itself, which is cosmetic — see that section.
13
+ Archived knowledge is not stranded per-machine: link the store to a shared upstream — a **git pool**
14
+ or a **TreeDX** service — and every linked workspace gets a two-layer derived index, topic
15
+ vocabulary, cross-machine search (`chapters_search`), and a per-machine rules ledger.
17
16
 
18
17
  ---
19
18
 
20
- ## Why This Exists
19
+ ## Purpose — what it fixes, and what it does not claim
21
20
 
22
- The problem is **not** that long conversations hit context limits, and it is not really compaction either.
23
- The two problems that actually hurt, on local hardware with slow prefill:
21
+ The two things that actually hurt on long sessions, especially with local models and slow prefill:
24
22
 
25
- 1. **Forgetting details that cannot easily be recovered.** A summary drops the specifics — the exact flag,
26
- the line number, the error text — and the model has no handle to go get them back.
27
- 2. **The wall-clock cost of summarizing.** Producing a summary means prefilling the whole history into one
28
- auxiliary call. At local prefill rates that is not slow, it is *stopping-you-from-working* slow:
23
+ 1. **Lossy memory.** A compaction summary drops the exact flag, the line number, the error text —
24
+ and leaves the model no handle to go get them back.
25
+ 2. **The summarization tax.** Producing a summary prefills the whole history into one auxiliary
26
+ call — minutes of wall-clock on local hardware, *again every time the window fills*.
29
27
 
30
- | History | 30 tok/s | 100 tok/s | 300 tok/s |
31
- |---|---|---|---|
32
- | 32K | 18 min | 5 min | 2 min |
33
- | 100K | **55 min** | 17 min | 3.5 min |
28
+ dsh-chapters removes the summarization step from the critical path entirely. Measured on a
29
+ 32K-capped model: ~102 tokens of index where the equivalent transcript ran ~2,476, and zero
30
+ inference spent producing it.
34
31
 
35
- …and then it does it **again** the next time the window fills.
32
+ **Be clear about what this does not buy you:** it is not cheaper caching. The continuation session
33
+ pays one cold prefill (system prompt + TOC + handoff note), the same cost class a post-compaction
34
+ request pays. What you gain instead is *verbatim* archive (a reload returns real text, not a
35
+ paraphrase), an *untouched* parent session that keeps its cache and stays usable, reversibility
36
+ (abandon the child, keep working in the parent), and branchable history.
36
37
 
37
- `dsh-chapters` removes the summarization step entirely. Chapters are **written from the session log** — a
38
- file copy, not an inference — and the index that replaces the history is **generated deterministically**,
39
- costing **zero model tokens**. On a 32K-capped model the archived index measured **~102 tokens** where the
40
- equivalent transcript ran ~2,476.
41
-
42
- > **The point is to make small models more capable, not merely longer-lived:** easily retrievable memory,
43
- > no summarization tax, and a conversation that can keep going and going and going until the objective is
44
- > actually finished.
45
-
46
- Secondary, and still worth having: in-place compaction's other historical cost was breaking the prompt
47
- cache —
48
-
49
- 1. **It breaks prompt caching from the cut point onward.** Modifying the prefix invalidates the
50
- provider-side cache behind it; DSH's design minimizes this by keeping the header intact and
51
- replacing only a span — but everything after the replacement refills. On hardware with slow prefill,
52
- that refill is the cost.
53
- 2. **The model loses access to what was dropped.** DSH's compaction *shadows* surface nodes rather than
54
- deleting the durable log, so the raw text is still recorded — but in any default composition the
55
- agent can no longer see it and has no in-context handle to get it back. (Upstream ships an opt-in
56
- package that gives a model raw event JSON for shadowed history; it costs five tool schemas in every
57
- request, and JSON events are not a readable archive either way.) What survives in context is a
58
- paraphrase it must trust.
59
-
60
- This plugin never touches the current session. It archives the conversation verbatim to disk, then
61
- starts a new session that carries only an index. Nothing is destroyed, and everything stays retrievable.
62
-
63
- ### Be clear about what this does not buy you
64
-
65
- The new session still pays one cold prefill — its system prompt plus the TOC plus the handoff note —
66
- which is at least the cost class a post-compaction request pays (a compaction keeps the header cached
67
- and refills from the cut point; a continuation refills everything). **This is not marketed as cheaper
68
- than compaction.** What it buys is different, and for the right workload better:
69
-
70
- - the archive is **verbatim**, so reloading a chapter returns real text, not a summary of it
71
- - the original session is **untouched**, keeping its cache and remaining usable as an ancestor
72
- - the move is **reversible** — abandon the new session and keep working in the old one
73
- - history can be **branched**, not just truncated
74
-
75
- Built for people running local models in small windows (32K–128K), who depend on high cache hit rates
76
- because prefill is slow, and who want relief that is inspectable rather than destructive.
77
-
78
- ---
79
-
80
- ## How It Works
81
-
82
- ### `chapters_segment`
83
-
84
- The agent calls `chapters_segment` on the current conversation. It proposes topic chapters as
85
- **event-sequence ranges** plus a title and one-line summary each, along with the *archive ceiling* — the
86
- last completed turn. The agent reviews and edits the proposal.
87
-
88
- The model supplies only boundaries and labels, never archived text. That keeps the archive verbatim
89
- rather than reconstructed from recall, and keeps one tool call within output-token limits no matter how
90
- long the conversation is.
91
-
92
- ### `chapters_continue`
93
-
94
- The agent — or the user, via a button once the UI trigger lands — calls `chapters_continue` with the
95
- approved ranges and a handoff note. The tool:
96
-
97
- 1. **Reserves** chapter numbers and slugs in the chain registry, so a crash or retry cannot collide them
98
- 2. **Renders chapter bodies from the session log** at the given ranges, writing Markdown and recording a
99
- content hash per file
100
- 3. **Defers oversized tool results** out of the chapter into content-addressed artifact files
101
- 4. **Builds a flat, chronological TOC** by walking the ancestor path — the plugin walks, the model reads
102
- a list
103
- 5. **Preflights the context budget** and refuses with concrete numbers if the new session would start too
104
- large
105
- 6. **Creates a new session** seeded with exactly one event: the TOC
106
- 7. **Returns** the new session id, store directory, archive ceiling, written paths, and hashes
107
-
108
- The TOC is the new session's first message:
109
-
110
- ```markdown
111
- ## Conversation TOC
112
-
113
- This session continues an earlier conversation. The chapters below hold its
114
- history as Markdown. Use the `read` tool on a chapter path to reload one —
115
- reloading costs context too, so read the bullet first and only open what you need.
116
-
117
- ### In flight
118
- Refactoring the migration runner. `applyPending` is split; `resolveOrder` is not
119
- touched yet. The failing test is `migrations.e2e` case 3.
120
- Parent: 01HTZ6Q8K3 · Root: 01HTAB12CD7
121
-
122
- ### Chapters
123
- 1. [Project Setup](.dsh-chapters/01HTAB…/chapters/001-project-setup.md) — Repo scaffolding and dependency choices.
124
- 2. [Auth Debugging](.dsh-chapters/01HTAB…/chapters/002-auth-debugging.md) — Resolved CORS and token refresh issues.
125
- 3. [Database Schema](.dsh-chapters/01HTAB…/chapters/003-database-schema.md) — Designed the user table and migration.
126
- ```
127
-
128
- "Chapters" is a flat numbered list in causal order, never a graph to explore — see
129
- [Ancestry without traversal](#ancestry-without-traversal).
130
-
131
- The "In flight" section exists because the turn that triggers a continuation is by construction not yet
132
- archived: the ceiling is the last completed turn, so without a handoff note the most relevant context
133
- would be the part that gets dropped.
134
-
135
- ### Chapters stay small: the model decides which tool results to carry
136
-
137
- Long dumps — a `read` on a big file, a `bash` traceback — are most of a real conversation's tokens and
138
- usually the least valuable thing to re-read. But "which ones matter" is a *semantic* judgement, not a size
139
- question: a four-line compiler error is load-bearing and a four-hundred-line config `read` can be noise.
140
- So the agent that lived the conversation decides, and the plugin does the arithmetic.
141
-
142
- - The plugin enumerates the candidates — every tool result's `seq`, tool, and real size — so the model
143
- never guesses at byte counts.
144
- - The default defers large results and keeps trivial ones inline; **the model submits only exceptions**
145
- (`toolResultOverrides: [{seq, inline}]`), so the judgement costs almost nothing in output.
146
- - Invocations and arguments always stay inline — that is the "what was attempted" half of the record.
147
- - The artifact file is written **either way**, so a wrong call is a context miss, never data loss. That
148
- asymmetry is what makes it safe to hand this decision to a model.
149
-
150
- ```
151
- **Assistant:** Let me check the migration order.
152
- ↳ tool: bash `npm run migrate -- --dry-run`
153
- result: 41.2 KB, sha256 8f3a1c… → .dsh-chapters/01HTAB…/artifacts/8f/8f3a1c9d….txt
154
- ```
155
-
156
- Artifacts are **content-addressed**, so the same 200-line file read ten times across a whole subtree is
157
- stored once. Images and attachments take the same path, since Markdown cannot carry them.
158
-
159
- The chapter files themselves are **Markdown with YAML frontmatter**, deliberately not XML: the consumer
160
- is a model reading text, markup tokens are context tokens in a plugin whose purpose is bounding context,
161
- and the session log plus the registry already hold the machine-readable structure. Frontmatter carries
162
- `seqRange`, `session`, `root`, `sha256`, and `tokens`, so files stay queryable without a heavier format.
163
- The reasoning, and the single condition that would reopen the question, are in
164
- [docs/architecture.md](docs/architecture.md#file-format-markdown-with-frontmatter-not-xml).
165
-
166
- ### The impossible band: too big never means "try anyway"
167
-
168
- A tool result at or above `toolResultArtifactTokens` (default 8000) is stored as a
169
- content-addressed **artifact the moment it arrives** — before the next model request is
170
- composed — and the context carries a reference stub instead: size, sha, path, and the
171
- query instruction. The blob is prefilled zero times; the retention paradox (a newest node
172
- too big to file) becomes unreachable by construction. The model works the artifact with
173
- `chapters_artifact`: `toc` (heading map with line numbers — a 300-page book arrives with
174
- its own contents), `search` (term hits as small blocks), `read` (exact line ranges). The
175
- archive-time judgment above is unchanged for everything that genuinely fits.
176
-
177
- ### What "lossless" means here — precisely
178
-
179
- Because oversized results are deferred, chapters are no longer self-contained, and the claim has to move
180
- with the design:
181
-
182
- > **Every byte of the conversation remains retrievable** — inline in its chapter, or by an exact path
183
- > printed in it. Nothing is paraphrased, summarized, or dropped.
184
-
185
- That is a weaker-sounding and *more true* statement than "the chapter contains everything." Note also
186
- that tool **effects** (files written, commands run) survive only as their logged output. The parent
187
- session remains the only complete record, which is why the TOC prints its id: consulting an ancestor
188
- directly is the ultimate fallback.
189
-
190
- ---
191
-
192
- ## How The New Session Is Created
193
-
194
- Worth reading before contributing, because it is the least obvious part of the design and the reason
195
- there is a Phase 0.
196
-
197
- DSH's fork operation seeds a child with the parent's history — `packages/api/session-controller/src/commands.ts:260`:
198
-
199
- ```ts
200
- seed: source.events.slice(0, cut),
201
- ```
202
-
203
- Using that would give the new session *all* of the parent's context plus the TOC. Context would grow at
204
- every link instead of shrinking, and the plugin would compact nothing.
205
-
206
- `seed` is optional (`packages/core/agent/src/index.ts:95`), so the plugin creates a session seeded with
207
- one synthetic event and attaches it to the parent's workspace. That is what makes a bounded head real.
208
-
209
- Two honest consequences:
210
-
211
- - **Lineage lives in this plugin's registry, not in the kernel.** A synthetic-seed child is not a
212
- fork-inherited session, so the web UI's branch graph shows it as an unrelated root. The chain and
213
- manifest view are this plugin's responsibility.
214
- - **It leans on kernel internals.** Workspace attachment and agent-preset composition are replicated
215
- from the api-proxy fork handler, following the `dsh-session-fork` precedent, and must be re-verified
216
- against each DSH upgrade.
217
-
218
- ---
219
-
220
- ## Ancestry Without Traversal
221
-
222
- Continuing an older session twice makes history a tree. Asking an agent to navigate a tree is how agents
223
- get lost, so **the model never does it**:
224
-
225
- - **The plugin walks the ancestor path and emits a flat, numbered, chronological list.** Reading order
226
- *is* causal order. At depth 10 or mid-branch, the agent sees an index and `read` paths — no graph, no
227
- inference, no traversal.
228
- - **The TOC is the only index.** It already lists every chapter on the path with its summary, and the
229
- registry holds the machine-readable form. An earlier draft added a per-root `MANIFEST.md`; it was
230
- dropped as a redundant, drift-prone duplicate whose size made reading it its own context cost.
231
- - **Back-links are printed** — root session and parent session — so the trace is visible without being
232
- reconstructed.
233
-
234
- Chapters are keyed by **creating session** rather than a linear chain id, so sibling branches get
235
- different correct TOCs and cannot collide on numbering.
236
-
237
- ---
238
-
239
- ## Enrichment (P2)
240
-
241
- Archived chapters are annotated asynchronously by a model — titles, summaries, semantic
242
- topics — with per-field provenance chains (`generated:` in the frontmatter, newest-first).
243
- The verbatim body is untouchable: the one sanctioned write path re-verifies the body hash
244
- and refuses loudly on disagreement. The queue triggers are a config seam
245
- (`enrichmentTrigger: afterPush | idle | both | manual`, idle default 60 s);
246
- `/chapters-enrich run|model|report` is the manual surface, and an `enrichmentEnabled: false`
247
- kill switch leaves a fully working, signatures-only corpus. Topic vocabulary merges
248
- themselves from corpus statistics (shadow-by-default; `vocabApply: true` writes git-visible
249
- curation entries), and adjacent legacy fragments cohere into one stitched search entry.
250
- Detail: `docs/knowledge-repo.md` §6, §12.
251
-
252
- ## Rules (P3)
253
-
254
- Rules are chapters of a different kind: `kind: rule` files with a category, proposed by
255
- a human (`/chapters-rule add`) or by an agent (`chapters_rule_propose`), and rendered into
256
- the continuation notice **verbatim only after a human approves them on that machine** —
257
- approval is a per-machine curation fact, so a rule from another machine is searchable
258
- everywhere but influential nowhere until each keyboard says so. The core block is budgeted
259
- (`coreRulesBudgetTokens`): overflow refuses with per-rule numbers, never clips.
260
- Detail: `docs/knowledge-repo.md` §7 (incl. the 2026-09-20 §15 amendment).
261
-
262
- ## Querying the knowledge base from the CLI
263
-
264
- `dsh chapters` is a thin, **read-only** shell window over the same stores the model sees — for scripts,
265
- and for a human checking the corpus with their own eyes. It runs in-process against the plugin's own
266
- modules (no daemon, no second implementation), and lives in the DSH CLI:
267
-
268
- ```
269
- dsh chapters status # what exists, and which store each layer came from
270
- dsh chapters search "budget preflight" # ranked chapters/rules; [RULE approved] hits included
271
- dsh chapters show 004-auth-debugging # a chapter's frontmatter, topics, and body (or --excerpt)
272
- dsh chapters vocab # effective topic vocabulary + corpus coverage
273
- ```
274
-
275
- Two properties are load-bearing, and tested as contract, not style:
276
-
277
- - **It reads the same files, resolved the same way.** `--workspace` defaults to `$PWD` and each layer
278
- falls back through the same chain the model uses (workspace store → knowledge mirror → profile store,
279
- including the legacy `.dsh-knowledge.json` shape) — so the CLI cannot disagree with the plugin just
280
- because it guessed a path. `--json` on every command (the `dsh` CLI's own `-j` flag) is for agents;
281
- the default output is for humans.
282
- - **It cannot write.** Zero mutations by construction: the modules it calls are read paths only, and a
283
- test asserts every JSON key the commands emit (plus their nesting) against an allowlist of read-only
284
- APIs. The plugin's public read surface is **frozen**: adding a write-capable call to it fails that
285
- test, so the CLI stays an observer as the layer grows. What it prints is labelled by provenance —
286
- `enriched by model` / `deterministic` — because a topic from the enrichment ladder is a different
287
- kind of fact than a registered range.
288
-
289
- ## Querying the knowledge base from the CLI
290
-
291
- `dsh chapters` is a thin, **read-only** shell window over the same stores the model sees — for scripts,
292
- and for a human checking the corpus with their own eyes. It runs in-process against the plugin's own
293
- modules (no daemon, no second implementation), and lives in the DSH CLI:
294
-
295
- ```
296
- dsh chapters status # what exists, and which store each layer came from
297
- dsh chapters search "budget preflight" # ranked chapters/rules; [RULE approved] hits included
298
- dsh chapters show 004-auth-debugging # a chapter's frontmatter, topics, and body (or --excerpt)
299
- dsh chapters vocab # effective topic vocabulary + corpus coverage
300
- ```
301
-
302
- Two properties are load-bearing, and tested as contract, not style:
303
-
304
- - **It reads the same files, resolved the same way.** `--workspace` defaults to `$PWD` and each layer
305
- falls back through the same chain the model uses (workspace store → knowledge mirror → profile store,
306
- including the legacy `.dsh-knowledge.json` shape) — so the CLI cannot disagree with the plugin just
307
- because it guessed a path. `--json` on every command (the `dsh` CLI's own `-j` flag) is for agents;
308
- the default output is for humans.
309
- - **It cannot write.** Zero mutations by construction: the modules it calls are read paths only, and a
310
- test asserts every JSON key the commands emit (plus their nesting) against an allowlist of read-only
311
- APIs. The plugin's public read surface is **frozen**: adding a write-capable call to it fails that
312
- test, so the CLI stays an observer as the layer grows. What it prints is labelled by provenance —
313
- `enriched by model` / `deterministic` — because a topic from the enrichment ladder is a different
314
- kind of fact than a registered range.
315
-
316
- ## Acceptance Testing
317
-
318
- `npm test` covers unit + integration. The browser acceptance suite (7 specs, seven boot-pinned
319
- projects) runs **off the model tape** by default: `npm run test:e2e:replay` replays recorded LLM
320
- exchanges from `var/model-tape/` — seconds, deterministic, GPU-free (recorded usage fields keep
321
- compaction thresholds firing at identical steps). `npm run test:e2e:record` distills the tapes
322
- from the real Local model (once per scenario; also `npm run test:e2e` to run fully live), and
323
- misses in replay mode fail LOUD with a journal, never silently. Details: docs/development.md.
38
+ **This is not a fork.** DSH's native fork copies the parent's log into the child; this plugin does
39
+ the opposite — it creates an *unseeded* session that cites an archive. The whole design discipline
40
+ traces back to that distinction.
324
41
 
325
42
  ## Architecture
326
43
 
327
44
  ```
328
- dsh-chapters/
329
- ├── src/
330
- │ ├── index.ts # plugin entry (name, inject, Config, apply)
331
- │ ├── chapter-store.ts # chapter rendering, artifact deferral, store I/O
332
- │ ├── toc.ts # flat TOC assembly from an ancestry walk
333
- │ ├── segmenter.ts # topic boundary proposal (ctx.llm.stream)
334
- │ ├── budget.ts # preflight: measure, refuse, never truncate
335
- │ └── continuation.ts # session creation + workspace attach
336
- ├── docs/
337
- │ ├── contract.md # DSH API facts, schema systems, file:line references
338
- │ ├── architecture.md # design decisions and their reasoning
339
- │ └── verify.md # verification procedures and test strategy
340
- ├── examples/ # cloned reference repositories (gitignored)
341
- ├── cordis.patch.yml # mounts the plugin into a profile's bundle list
342
- ├── package.json
343
- └── tsconfig.json
45
+ agent turn ──► chapters_segment ──► chapter ranges (the model picks ranges; never writes bodies)
46
+ │
47
+ chapters_continue(title, handoffNote, chapters[])
48
+ │
49
+ ┌─────────────────────────────────┼──────────────────────────────┐
50
+ ▼ ▼ ▼
51
+ render bodies from log defer oversized tool results preflight the budget
52
+ (verbatim, per range) to content-addressed TOC + note vs remainder
53
+ artifacts/ files │ │
54
+ └─────────────► chapter .md files ◄───────────────────────────────┘
55
+ │ refuse loudly if over budget
56
+ ▼
57
+ new session seeded with ONE message: the cumulative Table of Contents
344
58
  ```
345
59
 
346
- The `src/` tree is still to be written; the repository currently holds docs and the `examples/`
347
- references. `AGENTS.md` is a short core for small-context agents; the detail is in `docs/`.
348
-
349
- ### Design constraint: never modify the prefix
350
-
351
- The most important rule: **never modify the prefix of an existing session.** No `compactRegion`, no
352
- `SurfaceManager.replaceGeneration`, no in-place rewriting. If you reach for a span-replacement API,
353
- stop — that is the operation this plugin exists to avoid.
354
-
355
- ### Design constraint: never seed from the parent's events
356
-
357
- Same reason, opposite failure: a continuation must not inherit its parent's log. One synthetic TOC
358
- event at `seq = 0`, and nothing else.
359
-
360
- ### Design constraint: the header is global, so never contribute to it
361
-
362
- System prompt and tool schemas are not stored per session; they are composed per request from the agent
363
- preset plus plugin contributions. So:
364
-
365
- - inheriting the parent's header is automatic — there is no per-session header to protect
366
- - **contributing a system-prompt section would be a cache bug**, changing every session's prefix in the
367
- profile. Teaching the model about chapters is the TOC notice's job. `dsh-session-fork` does contribute
368
- a section in `src/prompt.ts`; copying that here would violate this rule
369
- - **cache validity is per-process generation.** A restart or config edit recomposes the header and resets
370
- cache state profile-wide, which is also why the dev loop's restarts limit what cache measurements prove
371
-
372
- ### Design constraint: append-only, with no exceptions
373
-
374
- Chapters are never copied, rewritten, or renumbered. Splitting an oversized chapter writes *new* chapters
375
- alongside the old, and only at continuation boundaries. Nothing derived is written back into the store —
376
- which is part of why there is no separate manifest file: a regenerated index would be exactly the
377
- mutable, drift-prone artifact this rule exists to prevent.
378
-
379
- ### Design constraint: two stores, for two reasons
380
-
381
- Chapters and artifacts are plain files **in the workspace**, because the `read` tool must reach them —
382
- and it runs under the session's file sandbox. A store under `$HOME` can be writable while being
383
- completely unreachable to the model, silently dead-ending every TOC bullet. Chain bookkeeping — ancestry,
384
- numbering, hashes, ranges — lives in a DSH **storage domain**, the sanctioned durable store. Trade-off:
385
- a workspace-relative root scopes a chain to one working directory.
386
-
387
- ### Design constraint: measure, then refuse
388
-
389
- The new session's *added* context is capped: the TOC plus the handoff note must fit a configured share
390
- (default 25%) of the window **remaining after the system prompt and tool schemas**. This is checked
391
- **before** creating the session, and exceeding it is **an error with numbers, not a truncation**. There is
392
- deliberately no length cap on the handoff note — an over-long note fails this check, and clipping one
393
- would reintroduce exactly the silent loss the plugin exists to avoid. Basing the cap on the remaining
394
- space matters: a 32K model's header alone can occupy a quarter of the window, and a whole-window rule would
395
- make every continuation impossible on precisely the hardware this plugin is for.
396
-
397
- ### Trigger model
398
-
399
- **Manual is the MVP**: ask the agent to segment and continue. The user pays the continuation cost only
400
- when they choose to.
401
-
402
- **Pressure detection arrives in Phase 2, and acts in Phase 3.** Detection at `turn/end` reuses the same
403
- budget machinery the preflight needs, so it is built early rather than last — but the automatic path only
404
- *suggests* until Phase 3. It fires **only at turn boundaries, never mid-step**; `agent/pre-step` would
405
- break the user's in-flight request. And since the archive ceiling is a completed `turn/end`, mid-turn cut
406
- points are not merely unsafe — they are not representable.
407
-
408
- ---
409
-
410
- ## What Is Still Open
411
-
412
- Each of these is a decision or an unmeasured claim, not an oversight. The Phase 0/0b gates that used to
413
- live here were **answered by probe rounds 1-25** — unseeded-but-styled creation is durable, listed, and
414
- resumable; creation schedules no turn (children sit until steered); the compaction seam runs a plugin
415
- subclass end to end with zero summarization tokens; and E3 measured that a compaction halves the uncached
416
- refill rather than cold-restarting the prompt.
417
-
418
- - **Coexistence with `dsh-session-fork`.** Name-spaces are disjoint by inspection (domains
419
- `dsh_chapters`/`dsh_session_fork`, tools `chapters_*`/`branch_*`, presets), but the boot-pair test came
420
- back MOOT: the shipped example fails to boot against the installed host **on its own** (`webServer`
421
- inject drift, rc.2-era code vs rc.1 host — attributed by booting it alone; r26). Re-run the pair-boot
422
- on a version-matched host before making it a product claim; until then coexistence is assumed-neutral,
423
- not proven.
424
- - **Automatic continuation (Phase 3).** The pressure *suggestion* at `turn/end` and any autonomous
425
- continue decision are unbuilt by design; the engine's own automatic compaction is the host's shipped
426
- timing and needs nothing from us.
427
- - **The index is bounded nowhere yet.** Chapter size is bounded; TOC length grows with depth, and
428
- reloading chapters can re-trigger pressure in a loop. Bullet folding, a reload budget, and retention
429
- for abandoned chains are Phase 4.
430
- - **Integrity is detection, not proof.** Chapter files are writable Markdown replayed as the model's own
431
- memory, so bodies are hashed and mismatches surfaced — but a writer that can also edit the registry
432
- defeats it. Accidental drift and single-shot injection are caught; a determined tamperer is not.
433
-
434
- ## Shared Knowledge (P1, shipped)
435
-
436
- Chapters are not just escape hatches — they are a corpus. Per project, a private git repository
437
- (`.dsh-knowledge/` mirror, real transport via pure-JS isomorphic-git) carries the workspace's
438
- knowledge between every harness pointed at the same remote:
439
-
440
- - **Turn signatures** (paths/commands/terms — deterministic, zero tokens) are collected at every
441
- `turn/end`; the fork/continue archive merges adjacent same-topic turns into one chapter and
442
- splits on topic changes or the size cap (record §4).
443
- - **Derived sharded index** + per-machine curation facts (`index/`, `edits/`) — rebuilt
444
- deterministically from the corpus, never hand-edited state.
445
- - **`chapters_search`** — the model (or you) query the whole project's chapter history; results
446
- are paths readable with `read`.
447
- - **Redaction** at the render chokepoint: credentials become stable `⟦redacted…⟧` markers before
448
- anything is archived (pattern-based speed bump, documented as such).
449
- - **Sync loop**: pull at new-session/fork, debounced push after archives, a file writer-lock, and
450
- §5.3 degradation: unreachable remote ⇒ LOCAL-ONLY mode where publish/index/search keep working
451
- and `/chapters-status` says so with the numbers. Divergence rebuilds the mirror (it is
452
- transport — the workspace store is the truth).
453
-
454
- Configure the upstream with `/chapters-link`:
60
+ The four rules the design never breaks:
61
+
62
+ - **Never rewrite the durable session log.** Append-only; nothing is edited or deleted, ever.
63
+ - **Never seed a continuation from the parent's events.** The child starts from one synthetic TOC
64
+ notice; history grows by citation, never by copying.
65
+ - **Never contribute to the shared system prompt.** Per-continuation notices only — enabling the
66
+ plugin changes what *your sessions* can do, not what every other session in the profile sees.
67
+ - **Never let the model author chapter bodies.** The model chooses ranges; the plugin renders the
68
+ text from the log. Model-typed "lossless" is the failure mode this design exists to avoid.
69
+
70
+ Supporting machinery, each with a chapter in [docs/architecture.md](docs/architecture.md):
71
+
72
+ - **Oversized tool results** (file reads, command output) are deferred to a content-addressed
73
+ `artifacts/` store and referenced from the chapter — the model can still pull them back via the
74
+ `chapters_artifact` tool (toc / search / read modes). Hence the honest guarantee: **every byte
75
+ remains retrievable**, not "every byte is in the chapter".
76
+ - **Continuation budget, not a handoff cap:** TOC + note must fit a share of the window *remaining
77
+ after the header*; over budget the plugin **refuses with the numbers** — it never clips a handoff
78
+ note.
79
+ - **Ancestry is a DAG, flattened for the model:** the child's notice lists every chapter on the
80
+ ancestor path chronologically, with explicit back-links. Reading order is causal order; the model
81
+ never traverses a graph.
82
+ - **The compaction seam:** when the `chapters` agent preset is mounted, in-place compaction (manual
83
+ `/compact` and automatic pressure) runs through the plugin's deterministic engine — the same
84
+ log-only, zero-summarization discipline inside a session rather than across sessions.
85
+ - **Enrichment (P2)**: after pushes, an idle/deferred ladder annotates archived chapters (topics,
86
+ summaries) — with validation before commit and a body-hash guard making enrichment the *only*
87
+ sanctioned mutation of a chapter file, and even that provenance-chained.
88
+ - **Rules (P3)**: a write-once ledger of proposed project rules; approval is a **per-machine
89
+ curation fact** (never a shared-file rewrite), and the active core rules ride verbatim into every
90
+ continuation notice within a budget that refuses rather than clips.
91
+
92
+ Storage map: chapter bodies and artifacts live **in the workspace** under `.dsh-chapters/<root>/…`
93
+ (so the `read` tool reaches them); ancestry, numbering and hashes live in the harness's durable
94
+ storage domain (`dsh_chapters`); your upstream credentials live under the **DSH home** with 0600
95
+ permissions — never inside the project directory, never committed, never pushed.
96
+
97
+ ## Installation (users)
98
+
99
+ Node ≥ 24 and a DSH host you install plugins into. From npm:
455
100
 
456
101
  ```
457
- /chapters-link # show upstream + mirror state (git-status-like)
458
- /chapters-link ~/pools/proj-kb.git # local-path pool — no HTTP, no credentials
459
- /chapters-link https://… <token> # network pool — token required (loopback exempt),
460
- # stored 0600 under the DSH HOME, never here
102
+ dsh plugin add @treeseed/dsh-chapters
461
103
  ```
462
104
 
463
- `knowledgeRemote` in the plugin's profile config supplies the same URL as a lazy default for
464
- unlinked workspaces. Status any time: `/chapters-status`.
465
- The design record: [docs/knowledge-repo.md](docs/knowledge-repo.md).
466
-
467
- **Not yet built (P2/P3 of the record):** model-assisted enrichment of the vocabulary (idle-batched,
468
- per-harness disableable), and the rules-as-chapters lifecycle (`/chapters-rule add|approve|revoke`,
469
- core-section budgets). Both are specced and phased; the corpus layer works without them.
470
-
471
- ---
472
-
473
- ## Reference Repositories
474
-
475
- Cloned into `examples/` (gitignored). Read the **first** one that answers your question; do not read all
476
- four. `docs/architecture.md` has the full table with line numbers.
477
-
478
- | Repository | Role | When to read |
105
+ (or pin the version: `@treeseed/dsh-chapters@0.1.1`). Restart your `dsh web` afterwards so the
106
+ bundle, presets and client plane reload. What activating the plugin does:
107
+
108
+ - **Registers the model tools** (`chapters_segment`, `chapters_continue`, `chapters_fork`,
109
+ `chapters_search`, `chapters_artifact`, `chapters_rule_propose`) — available to agents.
110
+ - **Registers the composer commands** listed below — available to you.
111
+ - **Adds a "Fork with chapters" action** to every assistant message in the web UI.
112
+ - **Installs the `chapters` agent preset** into your DSH home at boot (`.agent-presets/`;
113
+ write-once — your edits are never clobbered). Pick it in the agent-preset menu to get the
114
+ chapter-form compaction engine; the plugin's own `fallbackPreset` covers children it creates.
115
+
116
+ Configure it from your profile's plugin entry. The **complete key reference with defaults is the
117
+ comment header of the shipped `cordis.patch.yml`** (`node_modules/@treeseed/dsh-chapters/cordis.patch.yml`)
118
+ — it mirrors the live config schema, which is enforced. The knobs users reach for most:
119
+
120
+ | Key | What it governs |
121
+ |---|---|
122
+ | `harnessId` | this machine's identity in the shared knowledge (author of edits, rule approvals) |
123
+ | `knowledgeRemote` | pre-bind an upstream at config time (else `/chapters-link`) |
124
+ | `syncDebounceMs` | how quickly archives push upstream (default 30000) |
125
+ | `enrichmentEnabled` / `enrichmentModel` | the P2 annotator (off = pure no-op) |
126
+ | `vocabApply` | shadow (default) vs git-visible topic-alias curation |
127
+ | `coreRulesBudgetTokens` / `rulesCoreBonus` | the rules block in notices and its search bonus |
128
+ | `toolResultDeferFloorTokens` | the archive-time inline/defer floor |
129
+ | `continuationBudgetRatio` | how much of the remaining window a continuation may add |
130
+
131
+ ## Supported commands
132
+
133
+ Typed in the composer **inside a session** (a brand-new draft screen sends text as a message, not a
134
+ command — start the session first). Every command answers with honest numbers; nothing degrades
135
+ silently.
136
+
137
+ | Command | Meaning |
138
+ |---|---|
139
+ | `/chapters-link` | show the current upstream and mirror state |
140
+ | `/chapters-link <local-path>` | bind a shared local git repo (bare or worktree) — needs no credentials |
141
+ | `/chapters-link <https-url> <token>` | bind a networked git pool over smart-HTTP; token stored 0600 under the DSH home |
142
+ | `/chapters-link treedx+<url>/<repo> <token>` | bind a TreeDX service (token required — it is a bearer API) |
143
+ | `/chapters-status` | last sync with its steps: cloned / published n new / index / pushed, or the local-only reason |
144
+ | `/chapters-enrich run` \| `model <provider/model \| clear>` \| `report` | drive the enrichment ladder and choose its model (default: the conversation route) |
145
+ | `/chapters-rule add <category> <text>` \| `list [--all \| --proposed \| --category <c>]` \| `approve <id>` \| `revoke <id>` | the rules ledger; approve/revoke are per-machine facts |
146
+ | `/compact` (host command) | with the `chapters` preset mounted, this routes through the deterministic chapter engine |
147
+
148
+ The agent-side tools you'll see in transcripts: **`chapters_segment`** (propose archive ranges),
149
+ **`chapters_continue`** (open the TOC-seeded continuation), **`chapters_fork`** (same machinery,
150
+ mid-conversation branch), **`chapters_search`** (query the shared index), **`chapters_artifact`**
151
+ (retrieve deferred tool results), **`chapters_rule_propose`** (submit a rule candidate). The
152
+ **Fork with chapters** button on an assistant message performs the archive-and-continue in one
153
+ click and switches the UI to the new session.
154
+
155
+ ## Backend providers
156
+
157
+ Transport is a **provider seam** (design record: [docs/knowledge-repo.md](docs/knowledge-repo.md) §15;
158
+ contract: [docs/provider.md](docs/provider.md)): six verbs — clone/pull/push/commit/list/fetch — and
159
+ two shipped backends. Search, rules and the index all read the materialized **mirror**; they are
160
+ identical under either provider.
161
+
162
+ | | **`git` (default)** | **`treedx`** |
479
163
  |---|---|---|
480
- | **`dsh-session-fork`** | Primary precedent | Session creation, workspace attach, storage-domain registry, tool registration. |
481
- | **`deepseek-harness`** | Official source | Ground truth for `agents.create`, `SessionHeader`, `defineTool`, `ctx.storageDomain`. |
482
- | **`dsh-compact`** | Config and summarization | The `Schema<Config>` idiom and `ctx.llm.stream()` pattern only. |
483
- | **`dsh-plugin-dev-kb`** | Minimal plugin shell | When you need a plugin skeleton that doesn't touch the agent loop. |
484
-
485
- Start with `dsh-session-fork`: `src/vendor/fork.ts`, `src/branch.ts`, `src/store.ts`, `src/tools.ts`.
486
- **Do not port from** its `squash*` files or `vendor/compact.ts` — those rewrite spans, the operation this
487
- plugin forbids — and do not imitate `src/prompt.ts`, per the header constraint above.
488
-
489
- ---
490
-
491
- ## Planning
492
-
493
- Scoped so the cache-critical path is proven before anything is built on it, with the budget and pressure
494
- machinery moved early because automatic continuation depends on it.
495
-
496
- **Phase 0 — Prove the premise.** Package skeleton and one trivial tool. Then the load-bearing question:
497
- can a plugin create a session seeded with a single synthetic event that is durable, sidebar-listed,
498
- resumable after restart, and materially *smaller* in tokens than its parent? Settle the name, the test
499
- harness, and the `dsh-session-fork` coexistence question here.
500
- *If the child is not durable and listed, the design does not work and later phases should not be funded.*
501
-
502
- **Phase 1 — Render, cite, and bound.** `chapters_continue` with validated event ranges; bodies rendered
503
- from the log; artifact deferral with content-addressed dedup; registry with ancestry, numbering, and
504
- hashes; flat ancestor-path TOC with handoff note and back-links; the budget preflight with
505
- concrete refusal numbers; atomic ordering and idempotent retry. Manual trigger only.
164
+ | Address form | `https://…/pool.git` (+ token) or a local path | `treedx+<url>/<repo>` (+ bearer token) |
165
+ | Transport | git smart-HTTP via isomorphic-git; plain repositories, browsable with any git client | TreeDX service API: workspace → overlay writes → commit, lease-managed |
166
+ | Credentials | per-project token in the DSH home (0600); local paths need none | bearer token, same home treatment |
167
+ | Contention | push rejected → ff-pull retry → divergence routes through **rebuild-from-the-store** | lease contention maps onto the same rejected→pull→diverged ladder |
168
+ | Mirror memory | cloned mirror directory under the workspace store | `.treedx-state.json` remembers the served head |
169
+ | Layout on the wire | identical: `chapters/`, `artifacts/`, `rules/`, derived `index/`, `collections/`, `topics/vocabulary.json` | identical (the service stores the same tree) |
506
170
 
507
- **Phase 2 — Segmentation as a function, and pressure detection.** `chapters_segment` returning validated
508
- ranges, built as a callable usable **with or without an agent turn**; a `turn/end` pressure check that
509
- surfaces a *suggestion*. Both the UI button and Phase 3 depend on this seam, which is why it is not last.
171
+ Shared honesty rules both backends implement (measured, pinned by tests): every sync-path failure
172
+ **degrades to `local-only` with the reason**, never a silent loss — the mirror stays current and the
173
+ push lands when the remote returns; an unreachable-vs-auth-rejected distinction survives into the
174
+ status; divergence resolves by rebuilding from the store (the store is the truth, transport is
175
+ expendable); corpus listings page to the end. `kind` defaults to `git` for every record written
176
+ before providers existed — upgrading is zero migration.
510
177
 
511
- **Phase 3 — Automatic continuation.** Fires on Phase 2's detector at `turn/end` only, through the same
512
- preflight. Never mid-step.
178
+ ## Development process
513
179
 
514
- **Phase 4 — Bound the index.** Split oversized chapters at boundaries; bullet folding past the TOC budget;
515
- a reload budget in the TOC preamble; artifact refcounting and a retention/prune command.
180
+ Everything runs from a clone with plain **npm** (this is a single package, not a monorepo):
516
181
 
517
- **Phase 5 — UI trigger.** A button in the conversation title bar sharing Phase 2's segmentation.
518
- Deliberately last: it needs a client bundle and the UI slot/locale/connection injects — the heaviest
519
- packaging in the project, for ergonomics rather than correctness.
520
-
521
- Permanently out of scope: in-place span compaction, prefix rewriting, seeding a continuation from parent
522
- events, contributed system-prompt sections, and truncating anything to fit.
523
-
524
- ---
525
-
526
- ## Development
527
-
528
- ### Prerequisites
529
-
530
- - A working DeepSeek Harness installation
531
- - The four reference repositories cloned into `examples/`
532
-
533
- ### Installing for development
182
+ ```
183
+ npm ci
184
+ npm run typecheck && npm run build
185
+ npm test # unit + integration
186
+ npm run coverage:ci # c8 gate: ≥85% statements/branches/functions/lines
187
+ ```
534
188
 
535
- The entry point is compiled output, so build before installing — and **never run `dsh` without an
536
- isolated `DSH_HOME`**: `scripts/dsh-scratch.sh` forces it and refuses the live profile (see
537
- `docs/development.md` — this repo's development runs inside a harness that must not be restarted):
189
+ The browser acceptance suite runs against **model tapes** — recorded LLM exchanges replayed by a
190
+ local proxy, so it needs no model, no key and no GPU, and passes or fails *loudly* on a miss:
538
191
 
539
- ```bash
540
- npm run build # emits lib/ from src/
541
- scripts/dsh-scratch.sh --home .dshdev2 plugin --profile web add "link:$(pwd)"
542
- scripts/dsh-scratch.sh --home .dshdev2 web --port 0 --no-open # disposable instance, its own port/token
543
192
  ```
544
-
545
- Then open the printed URL, **pick the "Chapters" preset** (the plugin installs it into the scratch
546
- profile's `.agent-presets/` on first boot), and use the plugin there. For the real target
547
- (Local Qwen, 64K window — the minimum we support for real coding/research work) build the profile first:
548
- `scripts/bootstrap-dev-profile.sh` then boot `.dshdev-local`. Restarts inside one scratch home
549
- are free; anything that could touch `~/.dsh` is the bug the wrapper exists to make impossible.
550
-
551
- > **Manual-testing home: `.dshdev-local` (the Local-Qwen @64K target), never `.dshdev`.** The `.dshdev` profile carries
552
- > `dsh-chapters-probe`, whose rounds are one-shot boot experiments that end in `process.exit` by design
553
- > — leaving it mounted kills an interactive server seconds after the URL prints (a live boot that
554
- > answered HTTP 401-with-token-page after 20s once the probe was removed; `scripts/dsh-scratch.sh
555
- > --home .dshdev2 plugin --profile web remove dsh-chapters-probe` is the fix if it reappears).
556
-
557
- > A bundle `add` alone does not activate the plugin: bundle layers compose at boot, so a restart is
558
- > required after any change. A restart also recomposes every session's header and resets cache state
559
- > profile-wide, so cache measurements only mean something within one process generation.
560
-
561
- ### Trying it out
562
-
563
- 1. In a **Chapters-preset** session, hold several exchanges across a couple of topics, including one
564
- tool call with a long result.
565
- 2. Ask the agent to call `chapters_segment`. Review the returned ceiling, the real tool-result sizes,
566
- and the chapters already in the registry; ask for ranges and titles you want.
567
- 3. Ask it to call `chapters_continue` with the approved ranges and a handoff note. An over-budget notice
568
- must come back as a refusal WITH numbers, not a clipped note.
569
- 4. Switch to the new session (titled, listed). Its first message is the flat TOC, and it should feel
570
- empty apart from that.
571
- 5. Ask it to `read` a chapter path, then follow one artifact reference, and confirm both return real
572
- text — this is the reachability check; existence proves nothing.
573
- 6. Separately: in a long enough Chapters session let pre-step pressure compact, confirm a chapter file
574
- lands beside the durable `compaction/summary` (provider `dsh-chapters`, no `usage`), and `read` the
575
- chapter from INSIDE the compacted session — that is the engine path earning its name.
576
-
577
- ### Verifying a build
578
-
579
- `docs/verify.md` has the full 20-step procedure with what to record. The three that decide whether the
580
- design works at all:
581
-
582
- 1. **The new session's token count is materially smaller than the parent's.** Check this first — every
583
- other assertion can pass while this one fails silently, and a failure here means the child was seeded
584
- from the log
585
- 2. **The parent's cache hit rate is unaffected** — continue the parent and confirm
586
- `usage.cacheReadTokens` on the next step, within one process generation
587
- 3. **The new session builds a stable cache on its second turn** — `usage.cacheReadTokens` is high
588
-
589
- Plus the correctness set: install and tool listing; TOC as the child's first message; the child listed in
590
- the sidebar and resumable after restart; `read` reachability of chapters (not mere existence); artifact
591
- deferral resolves; a second continuation still lists the first's chapters; branching one ancestor twice
592
- yields two correct non-colliding TOCs; kill mid-continuation and retry leaves no orphan citation and no
593
- duplicate number; overlapping or gapped ranges are refused; an over-budget handoff note is refused with
594
- numbers rather than clipped; a hand-edited chapter is flagged from its hash; missing `ctx.fs` degrades to
595
- a clean refusal.
596
-
597
- ### Removing the plugin
598
-
599
- ```bash
600
- scripts/dsh-scratch.sh --home .dshdev2 plugin --profile web remove dsh-chapters
601
- rm -rf .dshdev2/.agent-presets/chapters # the installed preset; user-editable, left on purpose otherwise
193
+ npm ci --prefix dev/dsh-host-lock # the pinned, hermetic DSH host for e2e boots
194
+ export PATH="$PWD/dev/dsh-host-lock/node_modules/.bin:$PATH"
195
+ npm run test:e2e:replay # all seven segments, ~6 min
196
+ bash scripts/bootstrap-dev-profile.sh --home .dshdev-local # scratch dev home, built via npm
602
197
  ```
603
198
 
604
- ---
199
+ Tapes live in `tests/fixtures/model-tape/<project>/`; `E2E_MODEL=record` distills them against a
200
+ local llama.cpp endpoint (dev-only — CI never touches the model). When **product prompts change**
201
+ (persona, tool descriptions, notice text, thresholds) re-record the affected projects; documentation
202
+ edits are free. Agent-facing rules (the four invariants, the tape discipline, the coverage ledgers)
203
+ live in [AGENTS.md](AGENTS.md); the workflow loop in [docs/development.md](docs/development.md);
204
+ verification checklists in [docs/verify.md](docs/verify.md). Hosted CI
205
+ (`.github/workflows/ci.yml`) runs the gate plus the full tape-replay chain on every push;
206
+ releases publish automatically from a bare-semver tag via **npm trusted publishing (OIDC)** with
207
+ provenance attestations — no deploy secrets.
605
208
 
606
209
  ## Contributing
607
210
 
608
- Read the constraints first — they are not stylistic preferences, they are the reason the plugin exists.
609
- `AGENTS.md` is the short core; `docs/contract.md` has the API facts with citations.
610
-
611
- ### Hard rules
612
-
613
- - **Never modify the prefix of an existing session.** No span replacement, no in-place rewriting.
614
- - **Never seed a continuation from its parent's events.** One synthetic TOC event, at `seq = 0`.
615
- - **Never let the model author chapter bodies.** It supplies ranges and labels; the plugin renders.
616
- - **Never truncate to fit.** Measure and refuse with numbers.
617
- - **Never contribute a system-prompt section.** The header is process-global, so contributing invalidates
618
- every session's cache in the profile.
619
- - **Never copy or rewrite an existing chapter.** The store is append-only across the subtree, with no
620
- documented exceptions and nothing derived written back into it.
621
- - **Never reorganize chapters mid-session.** Continuation boundaries only.
622
- - **Never fire the automatic trigger mid-step.** Turn boundaries only.
623
- - **Never trust agent-supplied ranges.** Validate ordering, overlap, and coverage against the archive
624
- ceiling — an overlap duplicates archived text and a gap silently drops it.
625
- - **Use schemastery for plugin configuration.** `import Schema from '@deepseek-ai/schemastery'` — a
626
- **default** import — and `export const Config: Schema<Config> = Schema.object({ … })`. Plain objects are
627
- rejected. Tool `parameters` are the opposite: plain declarative specs, not schemastery.
628
- - **Always give a tool an `output` schema.** It is mandatory on every `ToolDefinition`.
629
- - **Call `next()` in waterfall listeners** unless deliberately short-circuiting, and document why.
630
- - **Put tunable parameters in config.** If `cordis.yml` can change it, it does not belong in code.
631
-
632
- ### Reporting a bug
633
-
634
- Include parent, child, and root session ids, the store directory, the archive ceiling, the chapter paths
635
- and any artifact references, and `usage.cacheReadTokens` for the parent's steps immediately before and
636
- after plus the child's first two steps — noting **which process generation** each was taken in. Above all,
637
- include the **first-request token counts of both sessions**: a silently re-seeded child is the most
638
- damaging regression, and that number is what catches it.
639
-
640
- ---
641
-
642
- ## License
643
-
644
- Apache 2.0
211
+ - **Start with an issue** for anything that changes behavior; the design record in
212
+ `docs/knowledge-repo.md` explains *why* things are shaped as they are, and amendments are human
213
+ decisions recorded in git.
214
+ - **Keep the four invariants inviolable** (never rewrite the log; never seed from the parent's
215
+ events; never touch the shared system prompt; never let the model author bodies). A PR that
216
+ trades one of these for convenience will be closed, not merged.
217
+ - **CI defines "done"**: deterministic suite green, coverage gate green, and — if your change moves
218
+ a model-visible prompt — the tape-replay chain re-recorded and green. Refuse-with-numbers beats
219
+ silent fallback everywhere in this codebase; follow that doctrine in new code too.
220
+ - **Test what you touch, and say how**: measured claims (this README's numbers are measured),
221
+ cited failure modes, no speculative generality.
222
+ - **Never commit credentials** or machine paths into fixtures; tokens belong to the DSH home only.
223
+ - Releases are maintainer-driven: bump `version`, land to `main`, push the tag — CI publishes.
224
+
225
+ License: see [LICENSE](LICENSE) (Copyright 2026 Fractal Synapse Labs).
226
+
227
+ > **On the name.** The package ships as `@treeseed/dsh-chapters` (npm scope `treeseed`; the GitHub
228
+ > org is `treeseed-ai`). Earlier candidates — `dsh-chapter-fork`, anything with "compact" — were
229
+ > rejected because they claimed something false: in DSH, *fork* means copying the parent's history,
230
+ > the one operation this plugin must never perform. The name names the artifact instead. Reasoning:
231
+ > [docs/architecture.md § Naming](docs/architecture.md#naming).
package/docs/verify.md CHANGED
@@ -159,6 +159,7 @@ that still need a running chapter engine:
159
159
  | E3 | Header cache across a compaction — **CLOSED by r23 (measured, per-machine)** | cloud: `cacheReadTokens` held at **7,424 on both post-replacement turns** while uncached refill fell 13,658 → ~7,000. Local llama.cpp (r28-era probes): reuses NOTHING across a head replacement (0 cached) but steady-state turns cost only the new content. **Never quote one machine's number for the other.** |
160
160
  | E2E-TAPE | Acceptance without the GPU | `test:e2e:replay` serves every model turn from `var/model-tape/<project>` (isolated per boot) (proxy smoke: exact + prefix hit, loud 503 miss with journal). Usage fields ride the tape, so the token meter and compaction thresholds fire at identical steps under replay. Tapes are committed test DATA under `tests/fixtures/model-tape/` (the rest of `var/` stays ignored) — CI replays them via `scripts/ci-replay.sh` with no local model; regenerate via `test:e2e:record` (local GPU) when PRODUCT prompts change. The local model remains the distiller and ultimate witness. STATUS 2026-09-23: pipeline current (escape/whitespace classes, volatile rules incl. HOSTPORT-BLIND + derived-count collapses for `(N est tokens)` and host-injected char counts, tool bytes matched out); SIX-project replay chain (suite, fanout, heavy, arrival, enrich, rules). Doc-edit cost is honest, not free: the delimiter mask keeps AGENTS/skill bytes out of ordinary matching, but the harness's own checkpoint summary embeds the doc as model-visible prose in the compaction scenarios, so `heavy`/`fanout` re-record after an AGENTS.md change (finalize docs, THEN distill). The e2e is the integration witness that the deterministic layers cannot replace — it found two real product bugs (the enrich body-hash anchor mismatch and the missing host-plane route) that had been invisible behind the host logger |
161
161
  | E9 | P2 enrichment + vocabulary, two-machine grade | `node --test tests/integration/two-machine-enrich.test.ts` + `--project=enrich` tape replay | **green 2026-09-20** — enriched frontmatter/provenance cross the pool byte-exact; B honors A’s aliases and dedupes its own vocab pass; caught+fixed r37 (modifications invisible to commits). Four-project replay chain green, 0 misses |
162
+ | CACHE | **Cache hit rates rise over time; nothing poisons the prefix silently** | Three nets, all born of the 2026-09-25 machine deep-dive (user report: "hit rates FALL over time"). The decoded truth — timeline first, because the first attribution got it wrong twice: a parent session's provider cacheRead rode 11,386→29,656 (hit .997) for seven warm requests, then COLLAPSED to a pinned 9,613 at request seq 78 — BEFORE any compaction event (those land at seq 105). Cause: KV-CAPACITY EVICTION — parent + three fan-out children + a live agent session sharing one 65,536-token llama.cpp pool (total_slots 1 per /props); prefix lookup kept doing exactly its job, returning the shared 9,613-token header for every divergent chain. The engine's pressure compaction then fired CORRECTLY at the meter's number (~66,700 ≥ 0.9×64,000) — the meter is provider baseline + 4-chars/token estimate of content added since the last request, so its trigger point is invisible in provider usage numbers (29,656 looked early; it was not). After the children quiesced the parent RE-WARMED (req 121: read 21,969, hit .97). **Deterministic net 1**: `tape-prefix-stability.test.ts` — every mid-chain tape request must extend its predecessor byte-for-byte (only the two documented replacement points may break a chain); message mutation mid-session — the general cache-poison class — fails this ledger with the offending entry; all seven projects pass. **Deterministic net 2**: `context-hygiene.test.ts` — no context-window literal may ship in src/ or presets/, no preset may pin a window key: the threshold math (floor(configured window × ratio)) can only follow adapter config. **Physical net** (opt-in, live): `npm run test:e2e:cache` serial — asserts the warm curve (no collapse <50% of best cacheRead, ≥50% of prompt growth landing cached, final hit ≥0.90, no compaction in-window; full ledger on failure; first run: 0%→99.7% monotonic). `E2E_CACHE_CONCURRENCY=N` adds N-1 live tenant chains firing per round — VALIDATED at CONCUR=3 (17.6 min): the probe chain still finished hit 0.997 with zero tenant errors, while the interleaved tenants showed the textbook capacity signature the user's log had (cacheRead pinned at 9,617, hit ~0.50 when their turns alternated on the single slot, recovering to 0.998 the moment they got two contiguous turns). Proves the collapse is capacity/interleaving, not the plugin: the same server, same slot, a chain left alone still warms to .997; pass measures this server holding N warm chains, pinned-header/queue-starvation measures the capacity cliff; run it while your own agent sessions are few, and read the ledger SHAPE (collapse-and-stay vs flat-pin vs dip-and-recover) before believing any single attribution | Host-capacity epilogue (2026-09-26, measured on the dev box): single-slot llama.cpp pins interleaved chains to the shared-prefix LCP (9,617 tokens in every experiment); unified KV (--kv-unified, auto slots) crashed b10920 on hybrid-GDN models (Qwen3-Next class; llama.cpp #23210/#21401) — RETESTED WINNING on b11176 (2026-09-27): contention probe CONCUR=3 passed, every chain at 0.997-0.998 with tails restoring one turn after a collision, zero crashes; keep auto slots (1), never force N_PARALLEL>1, re-run scripts/prefix-swap-test.mjs + the contention probe after any image upgrade — one trap measured: LLAMA_ARG_CTX_CHECKPOINTS=0 looks like a saving (upstream invalidates them for the recurrent layers) but on b10920 it deletes ALL cross-request prefix reuse (cached_tokens flat 0); keep the default 32 |
162
163
  | E2E | The fork BUTTON, browser journey | **green (2026-09-19, 7 specs / three projects — suite@0.75-of-32K + heavy@0.5-floor-off + arrival@0.9-floor-500 — on port-keyed throwaway homes)**: specs CREATE their sessions through the UI ('New session' + one real Local-model turn; turn-complete = the session's OWN `turn/end` in its own log — the global registry count false-passed twice and was retired). Fixture-free by design after the R29-era rows aged out of the 90-session sidebar. The suite also caught the 'Internal Testing Notice' focus trap and the re-link origin bug (see FINDINGS). |
163
164
  | E10 | P3 rules lifecycle (record §7) | unit (status resolution, budget refusal, golden absent-notice bytes) + transport (three machines over a real pool) + e2e `rules` project replay | proposed everywhere by default; per-machine core facts; verbatim in the child's OWN log after UI approve; overflow refuses with per-rule numbers — **green 2026-09-20 at unit/transport grade** (three machines over a real pool; exit criterion covered); the `rules` browser scenario parked out of the default chain pending the r39 diagnosis — evidence-preservation first |
164
165
  | E2E-EDGE | Oversized turn handled gracefully | **green in the heavy project (captures 5.3–13.2m; run 11: 5 crossings, 27.8m; 6.0m suite pass)**: one browser turn reads 700KB range-by-range and crosses the threshold 5×: every mid-turn compaction commits (provider `dsh-chapters`, zero usage), every shadowed seq is chapter-covered, the pre-compaction marker survives in the transcript, the turn completes, and the follow-up turn answers — fork row reappears after settle (observed). The model's plan erosion under heavy trims is the fork's motivation; FINDINGS records it. |
@@ -191,12 +191,6 @@ plot?: string | null): {
191
191
  * model itself and carried forward across every in-place checkpoint.
192
192
  */
193
193
  export declare const PLOT_MARKER = "PLOT:";
194
- /**
195
- * Latest plot paragraph in the region about to be shadowed. Assistant text
196
- * wins; a PLOT carried in an earlier checkpoint (user-role, plugin-sourced)
197
- * is the fallback, so the thread survives repeatedly shadowed chains.
198
- * Returns the paragraph text WITHOUT the marker line, capped at maxChars.
199
- */
200
194
  export declare function extractPlot(messages: readonly EngineMessage[], maxChars?: number): string | null;
201
195
  /**
202
196
  * Post-commit: render the chapter body for one compaction from the durable
@@ -292,22 +292,46 @@ export const PLOT_MARKER = 'PLOT:';
292
292
  * wins; a PLOT carried in an earlier checkpoint (user-role, plugin-sourced)
293
293
  * is the fallback, so the thread survives repeatedly shadowed chains.
294
294
  * Returns the paragraph text WITHOUT the marker line, capped at maxChars.
295
+ *
296
+ * Shaped by the 2026-09-25 real-world audit (treeseed's first four-session
297
+ * run): ALL EIGHT checkpoints carried a "plot" that was actually the persona
298
+ * suffix's own instruction text — `...end each reply with one line beginning
299
+ * 'PLOT:' (max 60 words — objective...)`. A raw substring scan matched that
300
+ * quoted marker, and because the result was non-null it also SUPPRESSED the
301
+ * bounded elicited fallback: every session silently inherited boilerplate
302
+ * instead of a plot. Extraction now honors the contract the marker lives in:
303
+ * - the marker must START a line ("one line beginning 'PLOT:'" —
304
+ * mid-sentence quotes are instructions, not plots);
305
+ * - system-role messages never yield a plot (invariant 4's cousin: the
306
+ * MODEL authors plots; the prompt only asks for them);
307
+ * - bodies echoing the instruction template are rejected (belt and braces
308
+ * for historical sessions where such text already rides in user
309
+ * messages).
310
+ * A null result now genuinely means "no plot authored" — which is exactly
311
+ * when the bounded elicited fallback must run.
295
312
  */
313
+ const PLOT_LINE = /^[ \t]*PLOT:[ \t]*([^\n]*)/gm;
314
+ const PLOT_TEMPLATE_ECHO = /max \d+ words|carries this plot forward|revise it on your next plot line/i;
296
315
  export function extractPlot(messages, maxChars = 900) {
297
316
  const scan = (roleWanted) => {
298
317
  for (let i = messages.length - 1; i >= 0; i--) {
299
318
  const m = messages[i];
300
- if (roleWanted !== 'any' && m.role !== roleWanted)
301
- continue;
302
- const text = messageText(messages[i]);
303
- const at = text.lastIndexOf(PLOT_MARKER);
304
- if (at === -1)
319
+ if (m.role === 'system')
305
320
  continue;
306
- const rest = text.slice(at + PLOT_MARKER.length);
307
- const para = rest.split(/\n\s*\n/)[0].trim();
308
- if (para.length === 0)
321
+ if (roleWanted === 'assistant' && m.role !== 'assistant')
309
322
  continue;
310
- return para.length > maxChars ? para.slice(0, maxChars) + '…' : para;
323
+ const text = messageText(messages[i]);
324
+ let found = null;
325
+ for (const line of text.matchAll(PLOT_LINE)) {
326
+ const body = (line[1] ?? '').trim();
327
+ if (body.length === 0)
328
+ continue;
329
+ if (PLOT_TEMPLATE_ECHO.test(body))
330
+ continue;
331
+ found = body;
332
+ }
333
+ if (found !== null)
334
+ return found.length > maxChars ? found.slice(0, maxChars) + '…' : found;
311
335
  }
312
336
  return null;
313
337
  };
@@ -1 +1 @@
1
- {"version":3,"file":"engine-core.js","sourceRoot":"","sources":["../src/engine-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine-core.js","sourceRoot":"","sources":["../src/engine-core.ts"],"names":[],"mappings":"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"}
package/lib/engine.js CHANGED
@@ -17,6 +17,7 @@ import { appendFileSync } from 'node:fs';
17
17
  import z from '@deepseek-ai/schemastery';
18
18
  import { CHAPTERS_PROVIDER, DETERMINISTIC_MODEL, buildFinalizedChapters, findOpenCompactionId, planSummarize, reconstructShadowedSeqs, scanChaptersSummaries, } from "./engine-core.js";
19
19
  import { composeChapters } from "./compose.js";
20
+ import { stripReminderSpans } from "./injections.js";
20
21
  import { BlockAssembler, createUserMessage } from '@deepseek-ai/dsh-llm';
21
22
  import { applyArrivalStubs } from "./arrival.js";
22
23
  import { extractPlot } from "./engine-core.js";
@@ -404,11 +405,20 @@ export class ChaptersCompactionEngine extends BasicCompactionEngine {
404
405
  async #elicitPlot(agent, input, signal) {
405
406
  try {
406
407
  const session = agent.session;
407
- // tail-heavy flattening: the plan lives in what the model said RECENTLY
408
+ // tail-heavy flattening: the plan lives in what the model said RECENTLY.
409
+ // Host-injected spans are screened OUT of the excerpt (stripReminderSpans
410
+ // — the same 'project state, not conversation' screen the chapter
411
+ // renderer uses). The excerpt is the only model-visible text on this
412
+ // path, so injections left in would make the elicited-plot request
413
+ // machine-dependent: measured on hosted CI 2026-09-26, where the
414
+ // runner's live excerpt carried a workspace-instructions span my
415
+ // recording region had not, the recorded exchanges 503'd, and heavy
416
+ // died mid-chain.
408
417
  let flat = '';
409
418
  for (let i = input.messages.length - 1; i >= 0 && flat.length < 8000; i--) {
410
419
  const m = input.messages[i];
411
- const text = (m.content ?? []).filter((b) => b.type === 'text').map((b) => b.text ?? '').join(' ').slice(0, 1200);
420
+ const raw = (m.content ?? []).filter((b) => b.type === 'text').map((b) => b.text ?? '').join(' ');
421
+ const text = stripReminderSpans(raw).text.slice(0, 1200);
412
422
  if (text.length > 0)
413
423
  flat = `${m.role ?? '?'}: ${text}\n${flat}`;
414
424
  }
package/lib/engine.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@treeseed/dsh-chapters",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "dsh plugin: verbatim chapter archive + zero-token index for small-context models",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -52,7 +52,8 @@
52
52
  "test:e2e:replay": "E2E_MODEL=replay npm run test:e2e",
53
53
  "coverage:e2e": "E2E_COVERAGE=1 PLAYWRIGHT_BROWSERS_PATH=$PWD/var/ms-playwright npm run test:e2e:replay && node scripts/e2e-coverage.mjs",
54
54
  "coverage": "node --test --experimental-test-coverage tests/unit/*.test.ts tests/integration/*.test.ts",
55
- "coverage:ci": "c8 --check-coverage --statements 85 --branches 85 --functions 85 --lines 85 --reporter=text-summary --reporter=json-summary --report-dir var/coverage node --test tests/unit/*.test.ts tests/integration/*.test.ts"
55
+ "coverage:ci": "c8 --check-coverage --statements 85 --branches 85 --functions 85 --lines 85 --reporter=text-summary --reporter=json-summary --report-dir var/coverage node --test tests/unit/*.test.ts tests/integration/*.test.ts",
56
+ "test:e2e:cache": "E2E_PORT=41739 PLAYWRIGHT_BROWSERS_PATH=$PWD/var/ms-playwright playwright test -c tests/e2e/playwright.config.ts --project=cache"
56
57
  },
57
58
  "peerDependencies": {
58
59
  "@deepseek-ai/cordis": "^4.0.0",