@treeseed/dsh-chapters 0.1.8 → 0.1.10

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.
@@ -722,6 +722,39 @@ Accepted as the P3 plan's single decision point (human-approved with the plan).
722
722
  file-status rewrite replaced by `rule-status` facts in each machine's own edits file
723
723
  (see §7.2 note for the reason). Everything else in §7 stands.
724
724
 
725
+ ### Amendment 2026-10-10 — plans are documents of a third kind
726
+
727
+ Human decision, recorded here because it widens the corpus: besides transcript chapters and curated
728
+ rules, a workspace's shared knowledge now also carries **plan documents** — one file per
729
+ `exit_plan_mode` submission, `kind: plan`, written into `chapters/` so the §4 transport, the §5
730
+ mirror and the §6 index carry and rank them with no special casing.
731
+
732
+ Rules of the amendment, all enforced by tests (verify.md P12–P14):
733
+
734
+ - **A plan document's body is the plan, byte for byte.** It is never a summary of one, and the
735
+ enrichment ladder (§6.4) refuses to annotate it: a directive is approved text, and paraphrasing
736
+ an order is the drift the whole store exists to prevent. The guard reads the file's own
737
+ `kind: plan` frontmatter, so renaming cannot disarm it.
738
+ - **Superseding never overwrites.** A revised plan is a new document; the earlier one keeps its
739
+ bytes and its status changes only in the sense that the newest submission is operative. The store
740
+ stays append-only with no exceptions.
741
+ - **Numbering is its own** (`nextPlanNumber`, registry-allocated under a distinct attempt key,
742
+ never a directory scan), so a plan never consumes a chapter number, never reorders the TOC, and
743
+ never collides with a concurrent sibling. Files are `plan-<NNN>-<slug>.md` precisely so a listing
744
+ cannot read as two chapters claiming the same number.
745
+ - **Redaction is unchanged and applies identically** (§9): the chokepoint runs over plan text on the
746
+ way to both the blob and the document, so a credential pasted into a plan never reaches the pool.
747
+ The one asymmetry a reader should know: a plan is *deliberately* a human-facing directive, so it
748
+ keeps its own `sha256` (the blob's hash, identical bytes) plus `bodySha256` (the §2.2 anchor
749
+ convention) — two handles, one purpose each, provably the same content.
750
+ - **Host-injected context is still not conversation** — but with the one named exception recorded in
751
+ `docs/plans-carriage.md` § 13: the harness's own `plugin: plan-mode / form: notice` mode-flip
752
+ sentence is session state worth keeping, so it archives verbatim. Instruction files, runtime
753
+ snapshots and skill catalogs screen exactly as before, and the topic-signature layer (§4.1)
754
+ keeps the strict predicate so injected text cannot move a chapter boundary.
755
+
756
+ Design detail and measurements: `docs/plans-carriage.md` §§ 9–13.
757
+
725
758
  ---
726
759
 
727
760
  *Cross-references: invariants and the four invariants — `AGENTS.md`; budget math —
@@ -239,6 +239,14 @@ Registry note: **do not** use `state.plans` — that name is the compaction mani
239
239
  `tests/fixtures/model-tape/plans/PROVENANCE.md` states what that proves (the whole carriage, in a real
240
240
  browser, against the real review channel) and what it does not (a model choosing to plan), and carries
241
241
  the re-record command that retires the stub.
242
+ - **The threshold is pinned to 0.99 for this project (0.1.10), and the journey asserts its own
243
+ precondition.** At the stress regime's 0.9 the hosted runner crossed the compaction trigger and issued
244
+ a plot-elicitation call that no locally-distilled tape had ever seen — a MISS that only CI could
245
+ produce, after three local greens. So this journey pins its own determinism: no compaction may interrupt
246
+ it, and the spec fails if `compaction/*` appears, with the reason written where the assertion lives.
247
+ Determinism that only holds on the machine that recorded the tape is not determinism.
248
+ - **The replay chain reports its own failure** (`scripts/ci-replay.sh`): project + failing tests, the
249
+ proxy's tape-miss journal tail, and the engine diagnostics tail that every boot already writes.
242
250
 
243
251
  ### What the browser plane corrected (this is why it exists)
244
252
 
@@ -301,7 +309,9 @@ Every item below was an assumption the deterministic plane had encoded — and t
301
309
  | 4 | `plansSection` in `assembleNotice` + wiring + config register | done — P5/P8/P9 |
302
310
  | 5 | Site docs (§9 anatomy, §16 tools, §17 configuration, §18 notice) | done in the same release |
303
311
  | — | Seven-segment tape replay | green WITHOUT re-recording (2026-10-09, `npm run test:e2e:replay`, EXIT=0) |
304
- | — | `plans` browser journey | LANDED as the eighth chain project (2026-10-10): `tests/e2e/plans.spec.ts` passes in 13 s against `tests/fixtures/model-tape/plans/`, and the full eight-project chain is `CHAIN_EXIT=0` / 9 tests. Its tape is scripted-upstream distilled — see § Tapes and `PROVENANCE.md` |
312
+ | — | `plans` browser journey | LANDED as the eighth chain project (2026-10-10) and immediately **extended to two legs** so § 12's continue-vs-branch distinction is tested, not described: a `chapters_segment`→`chapters_continue` continuation (asserts `## Active plan`, the plan's document path, and NO seeded gate because approving a plan exits plan mode) and a fork-button branch (asserts **no** directive section, archive still cited). Replays in 17 s on a committed tape; the eight-project chain re-runs for the 0.1.9 ship. Its tape is scripted-upstream distilled — see § Tapes and `PROVENANCE.md` |
313
+ | 7 | Journey made hardware-independent (0.1.10): 0.99 threshold pin + `compaction/*`-absent guard; replay chain annotates its own failure and ships the engine diagnostics | built — tape re-distilled under the pin, eight-project chain `CHAIN_EXIT=0` locally, hosted acceptance green at the 0.1.10 tag |
314
+ | 6 | Second-round decisions (§§ 9–13): intent-aware notice, seeded plan mode for continuations, `kind: plan` documents, checkpoint carriage, the one injection-screen exception | built 2026-10-10 — verify.md P12–P17; 582 deterministic rows green, gate 98.05 / 86.44 / 93.67 |
305
315
  | — | Follow-up, not blocking | re-record the `plans` tape from the live model — ATTEMPTED TWICE on 2026-10-10 and both times the model container dropped the stream mid-turn (`TRANSPORT`), one after 15 minutes with zero tool calls; `PROVENANCE.md` says what to check first. The carriage evidence does not change, only the claim about model behaviour |
306
316
  | — | Browser-plane ledger | `npm run coverage:e2e` over all EIGHT replays: **79.92 stmts / 64.64 branch / 76.28 funcs** — the non-gated plane, reported rather than tuned (the deterministic gate is the enforced one) |
307
317
 
@@ -335,12 +345,13 @@ with no tape re-recorded.
335
345
 
336
346
  ## Deferred (human decisions, not ours)
337
347
 
338
- - **`kind: plan` corpus documents** — makes plans first-class, topic-indexed, `chapters_search`-reachable
339
- like rules; costs a chapter number per plan and is a `docs/knowledge-repo.md` amendment.
340
- - **Seeding `plan/mode`** so a continuation is genuinely *in* plan mode (needs a probe against the
341
- seed contract + the header effect, and a policy answer: should children be gated?).
342
- - **Per-message anchoring** — a plan is the most natural anchor to fork from; `deriveRanges` already
343
- supports any anchor, the button still forks at conversation end.
348
+ - ~~`kind: plan` corpus documents~~ **decided and built** (§ 11).
349
+ - ~~Seeding `plan/mode`~~ **decided and built** (§ 10), for continuations only.
350
+ - ~~Whether the mode-switch notice stays screened~~ **decided and built** (§ 13).
351
+ - **Per-message anchoring** — still open, and decision 3 clarified rather than settled it: a fork
352
+ splits the task, so the interesting anchor is *"branch from THIS plan"*, which `deriveRanges`
353
+ already supports mechanically but the button still forks at conversation end. Needs the UI
354
+ affordance and an answer on how the child is told what it did not inherit.
344
355
  - Whether the `plan-mode` mode-switch *notice* should stay screened out of chapters (decision 2026-09-21
345
356
  says injected context is not conversation; a human-initiated mode flip arguably is). Small text, but
346
357
  it is the one place the blanket screen drops something a reader might want.
@@ -352,3 +363,116 @@ with no tape re-recorded.
352
363
  chapters, the TOC, and the artifact store; and why the token meter is never exempted.
353
364
  ```
354
365
  plus a find-fast row `plans in chapters / active plan in TOC → docs/plans-carriage.md (+ site §§ notice, archive anatomy)`.
366
+
367
+
368
+ ## Decisions taken (second round, 2026-10-10) — all four deferred items resolved
369
+
370
+ The human answered the deferred list, and #2 came with a distinction the first round
371
+ had not drawn: **a continuation extends the same stream of work; a fork splits it.**
372
+ That single difference decides what each child is told about the operative plan, and
373
+ it is now the axis the whole carriage hangs on.
374
+
375
+ | # | Decision | What it means in code |
376
+ |---|---|---|
377
+ | 1 | **`kind: plan` documents — yes** | each plan becomes its own indexed document (§ 11) |
378
+ | 2 | **Seed plan mode into children — yes, but only for continuations** | `plan/mode {active:true}` as the child's own second seed event (§ 10), `intent === 'continue'` only |
379
+ | 3 | **Fork = split the task; compaction/continuation = keep it** | `PlanIntent` selects the notice shape: `## Active plan` + `## Previous plans` for a continuation, NOTHING for a branch (§ 12) |
380
+ | 4 | **Targeted exemption for the mode-switch notice — yes** | `isSessionStateNarration` archives it verbatim; the general screen is unchanged (§ 13) |
381
+
382
+ Plus, from the same message: *"I support anything that is going to keep the agent anchored to
383
+ the current task"* — which is why the operative plan is now carried into every **in-place
384
+ checkpoint** as well, the way the plot is (§ 9).
385
+
386
+ ### 9. The checkpoint carries the operative plan (the plot mechanism, applied to directives)
387
+
388
+ `extractPlot` proved the pattern: state that must survive a shadowed region travels *inside*
389
+ the checkpoint text, bounded, with its provenance. `carryActivePlan` does the same for plans —
390
+ with one deliberate difference in **scope**: the plot reads the region being condensed, while
391
+ the operative plan is chosen **session-wide, newest submission first**, because "what am I
392
+ building" is not a property of the region being hidden. `planSummarize` prefixes it on both the
393
+ composed and the legacy path.
394
+
395
+ Two honesty notes recorded rather than smoothed:
396
+ - **No sha is cited in the checkpoint.** At summarize time the chapter does not exist yet, and
397
+ an unverifiable citation is worse than none — the carry says "the archive chapter holding
398
+ this plan cites its complete text" instead.
399
+ - **Truncation is announced** (`carried truncated — …`), never silent, even though the
400
+ bound (`planCheckpointChars`, 1600) is a display economy choice and the archive holds all.
401
+ - The pre-existing asymmetry that `plot` is prefixed only on the legacy path was **left
402
+ alone**: changing it would rewrite checkpoint bytes for every plot-carrying session, i.e. the
403
+ committed tapes. Plans are new, so carrying them on both paths costs no re-record.
404
+
405
+ ### 10. Seeding plan mode — measured against the installed kernel, not assumed
406
+
407
+ The claim needed proof, because invariant 2 pins the seed as *one synthetic event at seq 0*.
408
+ Probed directly against the shipped `Session` (`0.1.5-rc.1`) in the exact production header
409
+ shape (`isSeeded:false`, `inheritedEventCount:0`):
410
+
411
+ | probe | result |
412
+ |---|---|
413
+ | is `plan/mode` a kernel-known event type? | **yes** — it is in `KNOWN_SESSION_EVENT_TYPES` (56 types) |
414
+ | seed `[notice@0, plan/mode@1]` accepted? | **yes** — log becomes `0:user/message → 1:plan/mode → 2:session/end-seed` |
415
+ | is it surface-visible? | **no** — surface nodes stay `[0]`, matching the host's own log-only `plan/mode` |
416
+ | does the HOST's own projection fold it? | **yes** — `planProjectionDefinition.apply` over the child's log yields `active: true`; the one-event control yields `active: false` |
417
+
418
+ So the seeded child is genuinely gated, not merely told. The surface validator narrows by type
419
+ rather than whitelisting (`assertSessionEventEnvelope` checks the envelope and continuity),
420
+ which is why this works without touching the kernel. **Invariant 2 is intact in substance**: the
421
+ seeded event is a synthetic fact this plugin authors about the boundary, never a slice of the
422
+ parent's log — the rule's letter ("exactly one event") is amended here and in AGENTS, and the
423
+ amendment is only safe because it was measured.
424
+
425
+ Seeding is refused — correctly, not defensively — when the fold says inactive, which is the
426
+ normal case after an approval: **approving a plan exits plan mode**, so a continuation whose plan
427
+ was approved gets `## Active plan … APPROVED` as a work order to implement, and no gate.
428
+
429
+ ### 11. Plans as `kind: plan` documents
430
+
431
+ A plan is now also a file of its own: `<storeRoot>/<rootSession>/chapters/plan-<NNN>-<slug>.md`,
432
+ frontmatter leading with `kind: plan`, then `status`, `planSeq`, the citing `chapter`, `sha256`
433
+ (the blob's hash — the same bytes, so the two handles cannot drift silently), `bodySha256`,
434
+ `tokens`, `topics`. The body is the plan and nothing else: no transcript, no wrapper.
435
+
436
+ Choices worth their reasons:
437
+ - **In `chapters/`, not a new tree.** The pool transport, the mirror rehydrate (0.1.5) and the
438
+ corpus index then carry plan documents with zero special casing. `loadCorpus` no longer
439
+ flattens a file's own kind back to the directory's, so `kind: plan` survives indexing and
440
+ `chapters_search` can answer *"what did we plan about X"* with the directive itself.
441
+ - **Its own registry counter** (`nextPlanNumber`, allocated through `reservePlan` under a
442
+ distinct attempt key). A plan never consumes a chapter number or reorders the TOC, and names
443
+ are still allocated through the registry rather than by scanning a directory — so a
444
+ concurrent sibling cannot pick the same file. `plan-NNN-` (not `NNN-plan-`) so a listing
445
+ never reads as two chapters claiming 001.
446
+ - **The blob stays.** Two handles, one purpose each: the content-addressed blob is what a
447
+ chapter cites without knowing any number, and what `chapters_artifact` takes (it accepts a
448
+ bare sha); the document is what the index searches and what a human browses. Same bytes, and
449
+ the record ties them with one sha.
450
+ - **Enrichment skips plan documents.** The ladder annotates narrative; a directive's body is
451
+ approved text, and paraphrasing an order is precisely the drift this store exists to prevent.
452
+ Guarded on the frontmatter `kind`, not the filename, so renaming cannot disarm it.
453
+ - **Superseded plans keep both documents.** Evolution is history: the v1 file says
454
+ `status: superseded` and is never rewritten, the v2 file says `approved`.
455
+
456
+ ### 12. The notice is intent-aware
457
+
458
+ `buildPlansSection(…, { intent, modeActive, seeded })`:
459
+ - **`continue`** → `## Active plan` (the operative directive, with its verdict, chapter, blob
460
+ and document paths) and, only when earlier submissions exist, `## Previous plans on this
461
+ path` marked *history — cited for evolution and status, not directives*. If plan mode was
462
+ seeded, the block says the directive is live and implementation waits for an approval; if
463
+ it was not, the child is told plainly that it starts outside plan mode.
464
+ - **`branch`** → **empty string, zero bytes.** A fork splits off a new direction; re-asserting
465
+ the parent's directive into the branch would be an order nobody gave. The plans are still
466
+ fully present — in the chapters the TOC already cites, and as searchable `kind: plan`
467
+ documents.
468
+
469
+ ### 13. The one exception to the injection screen
470
+
471
+ `isSessionStateNarration` matches `source.kind === 'plugin' && plugin === 'plan-mode' &&
472
+ form === 'notice'` — the harness's own "The user switched this session to plan mode." — and
473
+ `screenConversation` archives it verbatim instead of marking it omitted. Named by plugin AND
474
+ form, so it cannot widen by accident; an instruction file or a runtime snapshot arriving under
475
+ any other shape still screens. `isHumanAuthored` deliberately stays strict, because the topic-
476
+ signature layer is what decides chapter boundaries and the r28 lesson was that injected text
477
+ poisons that signal. The archive gains a fact about the session; the index gains nothing it
478
+ should not have.
package/docs/verify.md CHANGED
@@ -150,8 +150,14 @@ renderer, the segmentation tool, and the child's notice.
150
150
  | P8 | A plan-less path is byte-identical to pre-feature | no `## Plans in this chapter` block, no `plans:`/`planMode:` frontmatter lines, no `## Plans` in the notice, and `chapters_segment` emits no `planHint` — the whole feature is conditional on there being a plan | unit `render-plans.test.ts`, `continue-plans.test.ts`, `plans-segmentation.test.ts`, `plans-tools.test.ts`; integration `plans-carriage.test.ts` |
151
151
  | P9 | Both carriage paths agree | the CONTINUATION path (`chapters_continue`) and the ENGINE path (in-place `summarize`/finalize) render the same block and the same record facts, including a verdict that lands past a composed chapter boundary — which is why `renderChapter` scans the whole event list, not its own range | unit `plans-engine.test.ts` (5) + `render-plans.test.ts`; zod round-trip of `plans`/`planMode` through the registry in `plans-engine.test.ts`, legacy rows gaining nothing |
152
152
  | P10 | Artifact citations resolve wherever they were written | a chapter's `artifacts/aa/<sha>.txt` reference resolves whether the blob sits at the STORE ROOT (arrival stubs) or inside the ANCESTRY TREE (`<store>/<root>/artifacts/…`, where `writeArchive` puts deferred results and every plan) — before this fix the second form was unreadable through `chapters_artifact`, which is what "every byte remains retrievable" actually promised | `artifact-query.test.ts` rows + integration `plans-carriage.test.ts` (`resolveArtifactWithMirror` over the real tree) |
153
- | P11 | The browser plane RUNS in the chain | `/plan <message>` → a real `exit_plan_mode` call → the host's review card opened and answered by a CLICK → fork → the child's ONE seeded event calls the plan out, the chapter carries the block, the artifact holds the plan byte-for-byte, and the folded `planMode:` is `inactive` because approving EXITS plan mode | `tests/e2e/plans.spec.ts` = chain project `plans` (eighth), replayed from `tests/fixtures/model-tape/plans/` in 13 s with no LLM. **Provenance: that tape was distilled from the scripted upstream `tests/e2e/stub-model.ts`, not the live model** (the box's `:8080` dropped the stream mid-journey) — `tests/fixtures/model-tape/plans/PROVENANCE.md` says precisely what it does and does not prove, plus the re-record command that retires the stub. The stub's own turn policy is pinned by `tests/unit/stub-model.test.ts` (4 rows): a stub that answers wrongly records a tape of a session that never planned |
154
-
153
+ | P11 | The browser plane runs in the chain, BOTH intents | one journey, two legs: `/plan <message>` → real `exit_plan_mode` call → the host's review card answered by a CLICK → **(1)** the model calls `chapters_segment` then `chapters_continue`, and that child's seeded notice carries `## Active plan` + the operative plan + its `plan document:` path, and NO seeded mode (approving a plan exits it — gating that child would block the work it was told to do); **(2)** the fork button's BRANCH child carries **no** `## Active plan` and no call-out at all, while still citing the archive. Plus the durable plane: artifact bytes = the submission (or provably only-redacted), `planMode: inactive` from the fold, and a `kind: plan` document whose body contains the plan | `tests/e2e/plans.spec.ts` = chain project `plans` (17 s replay, no LLM). Tape provenance: `tests/fixtures/model-tape/plans/PROVENANCE.md` — distilled through `tests/e2e/stub-model.ts` (its decision rules pinned by `tests/unit/stub-model.test.ts`, 6 rows) because this box's model server drops streams; re-recordable from the live model unchanged |
154
+
155
+ | P12 | A plan is queryable AS a plan | each submission becomes its own `kind: plan` document in the same tree, so pool transport, mirror rehydrate and the corpus index carry it unchanged; `loadCorpus` keeps the file's own kind instead of flattening it to the directory's; `chapters_search` answers a plan query with the plan | unit `plan-documents.test.ts` (5) + integration row in `plans-carriage.test.ts` (asserts the published path, the indexed kind and the search hit) |
156
+ | P13 | Plan numbering never touches chapter numbering | plans allocate through their own registry counter (`nextPlanNumber` / `reservePlan`, attempt-keyed, idempotent under retry); a chapter number is never consumed, and names come from the registry rather than a directory scan so siblings cannot collide | unit `plan-documents.test.ts` (counters, retry reuse, writer-without-plan-allocation stays additive) |
157
+ | P14 | A directive is never annotated, and superseding never overwrites | enrichment skips any document whose own frontmatter says `kind: plan` (a rename cannot disarm it); a revised plan leaves the earlier document's bytes intact and both stand in the store | unit `enrich-plan-documents.test.ts` (3) + integration evolution row |
158
+ | P15 | Plan mode survives a continuation only when it should | seeded `plan/mode` ONLY for `intent: 'continue'` while the fold says active (measured: kernel accepts the two-event seed, host projection folds it to `active:true`, one-event control does not); never for a branch, never after an approval — because approving a plan EXITS plan mode | unit `continue-plans.test.ts` (four rows: seed shape, approved-no-seed, branch-no-seed, `planSeedMode:false`) against the installed-kernel probe recorded in docs/plans-carriage.md § 10 |
159
+ | P16 | The notice reads the intent, not just the log | continuation → `## Active plan` + `## Previous plans on this path` (marked history); branch → zero bytes, plans live in the cited chapters and as documents; the mode statement is either "the directive above is live" or "this child starts OUTSIDE plan mode", never both | unit `plans.test.ts` (seeded/unseeded/branch rows) |
160
+ | P17 | The one injection-screen exception is named, not open-ended | `kind:'plugin' + plugin:'plan-mode' + form:'notice'` archives verbatim; any other plugin notice, snapshot or instruction shape still screens; `isHumanAuthored` (which drives topic signatures and `(N msgs)`) is unchanged | unit `injections.test.ts` (two rows, incl. wrong-form and wrong-plugin negatives) |
155
161
  ## The Cache Metric, Before You Trust a Number
156
162
 
157
163
  `usage.inputTokens` is the **uncached delta** and `usage.cacheReadTokens` is the cached prefix, so:
package/lib/archive.d.ts CHANGED
@@ -18,6 +18,12 @@ export interface ArchiveFs {
18
18
  /** Number allocation through the registry, never by scanning a directory (races a concurrent sibling). */
19
19
  export interface NumberAllocator {
20
20
  reserve(key: string, count: number): Promise<number[]>;
21
+ /**
22
+ * Separate allocation for plan DOCUMENTS (docs/plans-carriage.md § 11), so a plan
23
+ * never consumes a chapter number or reorders the chapter list. Optional: a writer
24
+ * without it simply emits no documents, and the chapters still cite their plans.
25
+ */
26
+ reservePlan?(key: string, count: number): Promise<number[]>;
21
27
  }
22
28
  export interface ChapterRecord {
23
29
  number: number;
@@ -57,6 +63,12 @@ export interface ChapterRecord {
57
63
  plans?: import('./types.ts').PlanFact[] | undefined;
58
64
  /** Folded plan-mode state at the chapter's end ('unknown' when the log never said). */
59
65
  planMode?: 'active' | 'inactive' | 'unknown' | undefined;
66
+ /** Where each plan's own `kind: plan` document landed (docs/plans-carriage.md § 11). */
67
+ planDocs?: Array<{
68
+ seq: number;
69
+ path: string;
70
+ sha256: string;
71
+ }> | undefined;
60
72
  }
61
73
  export interface WriteResult {
62
74
  records: ChapterRecord[];
package/lib/archive.js CHANGED
@@ -22,6 +22,7 @@ export async function writeArchive(input) {
22
22
  }
23
23
  const records = [];
24
24
  const artifactPathsWritten = [];
25
+ const docPathsByChapter = new Map();
25
26
  const seenArtifact = new Map(); // sha256 → path, for subtree dedup
26
27
  const seenFile = new Set();
27
28
  for (let i = 0; i < chapters.length; i++) {
@@ -48,6 +49,57 @@ export async function writeArchive(input) {
48
49
  seenArtifact.set(artifact.sha256, artifact.path);
49
50
  artifactPathsWritten.push(join(treeDir, artifact.path));
50
51
  }
52
+ // 2b. PLAN DOCUMENTS (docs/plans-carriage.md § 11). One file per plan in this
53
+ // range, written under the SAME tree as chapters so the pool transport, the
54
+ // mirror rehydrate and the corpus index carry them with no special casing.
55
+ // Numbers come from their own registry counter — never from a directory scan.
56
+ const docs = chapter.stats.planDocs ?? [];
57
+ if (docs.length > 0 && allocator.reservePlan !== undefined) {
58
+ const numbers = await allocator.reservePlan(`${input.attemptId}#${chapterPath}`, docs.length);
59
+ const used = new Set();
60
+ for (let i = 0; i < docs.length; i++) {
61
+ const doc = docs[i];
62
+ const number = numbers[i];
63
+ // `plan-NNN-` never `NNN-plan-`: a directory listing must not read like two
64
+ // chapters claim number 001 — chapters and plan documents count separately.
65
+ let name = `plan-${String(number).padStart(3, '0')}-${slugify(doc.title)}.md`;
66
+ if (used.has(name) || seenFile.has(name))
67
+ name = name.replace(/\.md$/, `-duplicate-${number}.md`);
68
+ used.add(name);
69
+ seenFile.add(name);
70
+ const docPath = join(treeDir, 'chapters', name);
71
+ const body = `${doc.body}\n`;
72
+ const fm = [
73
+ '---',
74
+ `kind: plan`,
75
+ `title: ${JSON.stringify(doc.title)}`,
76
+ `status: ${doc.status}`,
77
+ `planSeq: ${doc.seq}`,
78
+ `chapter: ${JSON.stringify(chapterPath)}`,
79
+ // The chapter's Plans block cites the content-addressed blob; the blob and
80
+ // this document are the SAME bytes, so the sha ties the two handles together
81
+ // and a reader can prove neither drifted.
82
+ `sha256: ${doc.sha256}`,
83
+ `bodySha256: ${sha256(body)}`,
84
+ `tokens: ${doc.estTokens} # chars/4 estimate`,
85
+ `topics: [${doc.topics.map((t) => JSON.stringify(t)).join(', ')}]`,
86
+ `artifacts: 0`,
87
+ 'unrenderedSeqs: []',
88
+ '---',
89
+ '',
90
+ ].join('\n');
91
+ await fs.write(docPath, fm + body);
92
+ const read = await fs.read(docPath);
93
+ if (read === undefined || read !== fm + body) {
94
+ warnings.push(`read-back failed for the plan document, citing the chapter only: ${docPath}`);
95
+ continue;
96
+ }
97
+ artifactPathsWritten.push(docPath);
98
+ const list = docPathsByChapter.get(chapterPath) ?? [];
99
+ list.push({ seq: doc.seq, path: docPath, sha256: doc.sha256 });
100
+ docPathsByChapter.set(chapterPath, list);
101
+ }
102
+ }
51
103
  // 3. The chapter itself.
52
104
  await fs.write(chapterPath, chapter.markdown);
53
105
  // 4. Read-back verification. A file that does not come back byte-identical is not citable.
@@ -85,6 +137,10 @@ export async function writeArchive(input) {
85
137
  // be read as a fact by the notice builder.
86
138
  ...(chapter.stats.plans !== undefined && chapter.stats.plans.length > 0 ? { plans: chapter.stats.plans } : {}),
87
139
  ...(chapter.stats.planMode !== undefined && chapter.stats.planMode !== 'unknown' ? { planMode: chapter.stats.planMode } : {}),
140
+ ...(() => {
141
+ const docs = docPathsByChapter.get(chapterPath);
142
+ return docs !== undefined && docs.length > 0 ? { planDocs: docs } : {};
143
+ })(),
88
144
  });
89
145
  }
90
146
  return { records, artifactPathsWritten, warnings };
@@ -1 +1 @@
1
- {"version":3,"file":"archive.js","sourceRoot":"","sources":["../src/archive.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAyDpC,uGAAuG;AACvG,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IACpF,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACxD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,KAAa,EAAU,EAAE,CAClE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAA;AAEtD,yGAAyG;AACzG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,eAAuB,EAAE,cAAsB,EAAU,EAAE,CACpF,GAAG,eAAe,IAAI,cAAc,EAAE,CAAA;AAExC,0FAA0F;AAC1F,MAAM,IAAI,GAAG,CAAC,GAAG,KAAe,EAAU,EAAE,CAC1C,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;AAczD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAiB;IAClD,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IAElF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,gFAAgF;IAChF,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzE,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,CAAC,MAAM,gBAAgB,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAA;IACjG,CAAC;IAED,MAAM,OAAO,GAAoB,EAAE,CAAA;IACnC,MAAM,oBAAoB,GAAa,EAAE,CAAA;IACzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA,CAAG,mCAAmC;IACpF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAA;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;QAC1B,IAAI,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC3D,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,+FAA+F;YAC/F,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,MAAM,KAAK,CAAC,CAAA;YACrD,QAAQ,CAAC,IAAI,CAAC,iCAAiC,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,QAAQ,EAAE,CAAC,CAAA;QACtF,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;QAEvD,6FAA6F;QAC7F,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAClD,IAAI,QAAQ,KAAK,SAAS;gBAAE,SAAQ,CAAuB,iCAAiC;YAC5F,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAQ,wCAAwC;gBAClG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAChD,SAAQ;YACV,CAAC;YACD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC9D,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;YAChD,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QACzD,CAAC;QAED,yBAAyB;QACzB,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QAE7C,2FAA2F;QAC3F,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,+BAA+B,WAAW,EAAE,CAAC,CAAA;YAC3D,SAAQ;QACV,CAAC;QACD,mGAAmG;QACnG,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACzC,IAAI,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,yCAAyC,WAAW,EAAE,CAAC,CAAA;YACrE,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,iCAAiC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClJ,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,eAAe,2EAA2E,CAAC,CAAA;QAC5I,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACX,MAAM;YACN,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;YAC1B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;YAC9B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;YAChC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;YAChC,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe;YAC9C,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACzH,yEAAyE;YACzE,0EAA0E;YAC1E,2CAA2C;YAC3C,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9G,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9H,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,CAAA;AACpD,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,QAAQ,CACtB,OAAwD,EACxD,cAAsB,EACtB,YAAY,GAAG,CAAC;IAEhB,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnE,MAAM,IAAI,GAAwC,EAAE,CAAA;IACpD,oGAAoG;IACpG,iEAAiE;IACjE,IAAI,MAAM,GAAG,YAAY,CAAA;IACzB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,QAAQ,GAAG,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAA;QACxE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAA;IACtC,CAAC;IACD,IAAI,MAAM,IAAI,cAAc;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;IAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC;AAID,sGAAsG;AACtG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAa,EAAE,MAAqB;IACtE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACxC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM;QAAE,OAAO,UAAU,CAAA;IACrD,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../src/archive.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAiEpC,uGAAuG;AACvG,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IACpF,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACxD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,KAAa,EAAU,EAAE,CAClE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAA;AAEtD,yGAAyG;AACzG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,eAAuB,EAAE,cAAsB,EAAU,EAAE,CACpF,GAAG,eAAe,IAAI,cAAc,EAAE,CAAA;AAExC,0FAA0F;AAC1F,MAAM,IAAI,GAAG,CAAC,GAAG,KAAe,EAAU,EAAE,CAC1C,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;AAczD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAiB;IAClD,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IAElF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,gFAAgF;IAChF,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzE,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,CAAC,MAAM,gBAAgB,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAA;IACjG,CAAC;IAED,MAAM,OAAO,GAAoB,EAAE,CAAA;IACnC,MAAM,oBAAoB,GAAa,EAAE,CAAA;IACzC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAgE,CAAA;IACjG,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA,CAAG,mCAAmC;IACpF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAA;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;QAC1B,IAAI,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC3D,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,+FAA+F;YAC/F,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,MAAM,KAAK,CAAC,CAAA;YACrD,QAAQ,CAAC,IAAI,CAAC,iCAAiC,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,QAAQ,EAAE,CAAC,CAAA;QACtF,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;QAEvD,6FAA6F;QAC7F,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAClD,IAAI,QAAQ,KAAK,SAAS;gBAAE,SAAQ,CAAuB,iCAAiC;YAC5F,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAQ,wCAAwC;gBAClG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAChD,SAAQ;YACV,CAAC;YACD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC9D,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;YAChD,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QACzD,CAAC;QAED,8EAA8E;QAC9E,4EAA4E;QAC5E,2EAA2E;QAC3E,8EAA8E;QAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAA;QACzC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,WAAW,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAC7F,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;gBACpB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;gBAC1B,4EAA4E;gBAC5E,4EAA4E;gBAC5E,IAAI,IAAI,GAAG,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAA;gBAC7E,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,MAAM,KAAK,CAAC,CAAA;gBACjG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACd,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;gBAC/C,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,CAAA;gBAC5B,MAAM,EAAE,GAAG;oBACT,KAAK;oBACL,YAAY;oBACZ,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACrC,WAAW,GAAG,CAAC,MAAM,EAAE;oBACvB,YAAY,GAAG,CAAC,GAAG,EAAE;oBACrB,YAAY,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;oBACzC,2EAA2E;oBAC3E,6EAA6E;oBAC7E,0CAA0C;oBAC1C,WAAW,GAAG,CAAC,MAAM,EAAE;oBACvB,eAAe,MAAM,CAAC,IAAI,CAAC,EAAE;oBAC7B,WAAW,GAAG,CAAC,SAAS,sBAAsB;oBAC9C,YAAY,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;oBAClE,cAAc;oBACd,oBAAoB;oBACpB,KAAK;oBACL,EAAE;iBACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACZ,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;gBAClC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACnC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC;oBAC7C,QAAQ,CAAC,IAAI,CAAC,oEAAoE,OAAO,EAAE,CAAC,CAAA;oBAC5F,SAAQ;gBACV,CAAC;gBACD,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAClC,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;gBACrD,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;gBAC9D,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QAE7C,2FAA2F;QAC3F,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,+BAA+B,WAAW,EAAE,CAAC,CAAA;YAC3D,SAAQ;QACV,CAAC;QACD,mGAAmG;QACnG,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACzC,IAAI,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,yCAAyC,WAAW,EAAE,CAAC,CAAA;YACrE,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,iCAAiC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClJ,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,eAAe,2EAA2E,CAAC,CAAA;QAC5I,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACX,MAAM;YACN,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;YAC1B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;YAC9B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;YAChC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;YAChC,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe;YAC9C,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACzH,yEAAyE;YACzE,0EAA0E;YAC1E,2CAA2C;YAC3C,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9G,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7H,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;gBAC/C,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACxE,CAAC,CAAC,EAAE;SACL,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,CAAA;AACpD,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,QAAQ,CACtB,OAAwD,EACxD,cAAsB,EACtB,YAAY,GAAG,CAAC;IAEhB,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnE,MAAM,IAAI,GAAwC,EAAE,CAAA;IACpD,oGAAoG;IACpG,iEAAiE;IACjE,IAAI,MAAM,GAAG,YAAY,CAAA;IACzB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,QAAQ,GAAG,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAA;QACxE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAA;IACtC,CAAC;IACD,IAAI,MAAM,IAAI,cAAc;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;IAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC;AAID,sGAAsG;AACtG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAa,EAAE,MAAqB;IACtE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACxC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM;QAAE,OAAO,UAAU,CAAA;IACrD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -19,6 +19,7 @@
19
19
  import type { ChapterRange, NoticePlan, RenderConfig, SessionEventLike, ToolResultOverride } from './types.ts';
20
20
  import type { ChapterRecord } from './archive.ts';
21
21
  import type { SessionState } from './registry.ts';
22
+ import { type PlanIntent } from './plans.ts';
22
23
  export interface ContinueArgs {
23
24
  callerSessionId: string;
24
25
  /** The caller's own preset id, resolved by the adapter from its session observation. */
@@ -35,6 +36,8 @@ export interface ContinueArgs {
35
36
  projectLine?: string;
36
37
  /** P3 §7.3: rules block for the notice (see assembleNotice). */
37
38
  rulesSection?: string;
39
+ /** Why this child exists — see PlanIntent. Absent means 'continue'. */
40
+ intent?: PlanIntent | undefined;
38
41
  }
39
42
  export interface ContinueConfig extends RenderConfig {
40
43
  artifactStoreRoot: string;
@@ -51,6 +54,13 @@ export interface ContinueConfig extends RenderConfig {
51
54
  * this existed — which is what keeps the model tapes matching.
52
55
  */
53
56
  plansInNotice?: boolean | undefined;
57
+ /**
58
+ * Seed `plan/mode {active:true}` into a CONTINUATION child when the archived span
59
+ * ended with plan mode active, so the planning gate survives the boundary the way
60
+ * the plot does (decision 2026-10-10; measured: the kernel accepts a two-event
61
+ * seed and the host's own plan projection folds it to active). Never for a branch.
62
+ */
63
+ planSeedMode?: boolean | undefined;
54
64
  }
55
65
  export interface BudgetProbe {
56
66
  windowTokens: number | null;
@@ -65,10 +75,13 @@ export interface ContinuePorts {
65
75
  fs(): import('./archive.ts').ArchiveFs;
66
76
  budgetProbe(): Promise<BudgetProbe>;
67
77
  newId(): string;
68
- /** agents.create + setup-mount + workspace attach; throws on kernel refusal. */
78
+ /** agents.create + setup-mount + workspace attach; throws on kernel refusal.
79
+ * `modeEvents` are the child's OWN synthetic state events (never a parent slice):
80
+ * they follow the notice, so the seed stays contiguous from seq 0. */
69
81
  createChild(input: {
70
82
  sessionId: string;
71
83
  noticeEvent: SessionEventLike;
84
+ modeEvents: SessionEventLike[];
72
85
  presetId: string;
73
86
  title: string;
74
87
  }): Promise<void>;
@@ -161,7 +174,7 @@ export declare function livePlanRows(events: readonly SessionEventLike[], waterm
161
174
  /** The highest seq any cited chapter covers — the boundary between stored and live. */
162
175
  export declare const archiveWatermark: (records: readonly ChapterRecord[]) => number;
163
176
  /** Fields both continue and fork need to create the child. */
164
- export type FinishArgs = Pick<ContinueArgs, 'callerSessionId' | 'callerPreset' | 'title' | 'handoffNote' | 'projectLine' | 'rulesSection'>;
177
+ export type FinishArgs = Pick<ContinueArgs, 'callerSessionId' | 'callerPreset' | 'title' | 'handoffNote' | 'projectLine' | 'rulesSection' | 'intent'>;
165
178
  /**
166
179
  * chapters_fork: open a sibling line citing the SAME archive, archiving nothing
167
180
  * new. The point is branching (AGENTS "branchable — history can fork, not
@@ -1,10 +1,10 @@
1
1
  import { chapterTopics } from "./signature.js";
2
2
  import { estimateTokens, renderChapter, validateRanges } from "./render.js";
3
3
  import { attemptKey, coverage, verifyChapter, writeArchive } from "./archive.js";
4
- import { appendChapters, freshSession, linkChild, reserve } from "./registry.js";
4
+ import { appendChapters, freshSession, linkChild, reserve, reservePlan as reservePlanNumber } from "./registry.js";
5
5
  import { buildTocNotice } from "./notice.js";
6
6
  import { deriveIdentity } from "./engine-core.js";
7
- import { buildPlansSection, detectPlans } from "./plans.js";
7
+ import { buildPlansSection, detectPlans, PLAN_MODE_EVENT } from "./plans.js";
8
8
  export class Refusal extends Error {
9
9
  result;
10
10
  constructor(result) {
@@ -102,6 +102,14 @@ export async function runContinue(ports, args, config) {
102
102
  await ports.putState(args.callerSessionId, r.state);
103
103
  return r.numbers;
104
104
  },
105
+ // Plan documents allocate on their OWN counter, so writing one can never
106
+ // consume a chapter number or shift the TOC's ordering.
107
+ async reservePlan(attemptId, count) {
108
+ const fresh = await ports.getState(args.callerSessionId);
109
+ const r = reservePlanNumber(fresh, attemptId, count);
110
+ await ports.putState(args.callerSessionId, r.state);
111
+ return r.numbers;
112
+ },
105
113
  },
106
114
  storeRoot: config.artifactStoreRoot,
107
115
  rootSessionId: callerState.rootSession,
@@ -158,12 +166,16 @@ export function archivedPlanRows(records, entries) {
158
166
  const display = entries.find((e) => e.path === record.path);
159
167
  for (const fact of record.plans ?? []) {
160
168
  const written = record.artifacts.find((a) => a.sha256 === fact.sha256);
169
+ const doc = (record.planDocs ?? []).find((d) => d.sha256 === fact.sha256);
161
170
  rows.push({
162
171
  title: fact.title,
163
172
  status: fact.status,
164
173
  seq: fact.seq,
165
174
  ...(display !== undefined ? { chapterNumber: display.number, chapterPath: display.path } : {}),
166
175
  artifactPath: written?.path ?? fact.artifactPath,
176
+ // The plan's own indexed document, when the writer allocated one — the
177
+ // address `chapters_search` answers with, and the history a branch reads.
178
+ ...(doc !== undefined ? { docPath: doc.path } : {}),
167
179
  sha256: fact.sha256,
168
180
  estTokens: fact.estTokens,
169
181
  });
@@ -188,11 +200,22 @@ export const archiveWatermark = (records) => records.reduce((m, r) => Math.max(m
188
200
  async function finishChild(ports, config, args, callerState, bundle, warnings, commitRecords) {
189
201
  // ---- The plans block: stored facts + whatever the caller's live tail holds.
190
202
  // Empty list ⇒ '' ⇒ zero injected bytes (the tape-safety property, verify.md P8).
203
+ const intent = args.intent ?? 'continue';
204
+ const watermark = archiveWatermark(bundle.records);
205
+ const callerEvents = await ports.readCallerEvents();
206
+ // The parent's CURRENT mode, folded last-value-wins exactly like the host
207
+ // projection does. Measured against the installed kernel (docs/plans-carriage.md
208
+ // § 10): a two-event seed `notice@0, plan/mode@1` is accepted in the production
209
+ // header shape, and the host's own plan projection then folds the child's log to
210
+ // `active: true` — so the seeded child really IS gated, not merely told.
211
+ const modeActive = detectPlans(callerEvents).modeActive;
212
+ const seedMode = intent === 'continue' && config.planSeedMode !== false && modeActive === true;
213
+ const modeEvents = seedMode
214
+ ? [{ type: PLAN_MODE_EVENT, seq: 1, time: ports.now(), data: { active: true } }]
215
+ : [];
191
216
  let plansSection = '';
192
217
  if (config.plansInNotice !== false) {
193
- const watermark = archiveWatermark(bundle.records);
194
- const callerEvents = await ports.readCallerEvents();
195
- plansSection = buildPlansSection([...archivedPlanRows(bundle.records, bundle.entries), ...livePlanRows(callerEvents, watermark)], { modeActive: detectPlans(callerEvents).modeActive });
218
+ plansSection = buildPlansSection([...archivedPlanRows(bundle.records, bundle.entries), ...livePlanRows(callerEvents, watermark)], { modeActive, intent, seeded: seedMode });
196
219
  }
197
220
  // ---- Notice text, then the budget gate (measure the WHOLE notice).
198
221
  const noticeText = assembleNotice({
@@ -226,7 +249,7 @@ async function finishChild(ports, config, args, callerState, bundle, warnings, c
226
249
  const childId = `ch-${ports.newId()}`;
227
250
  const presetId = args.callerPreset ?? config.fallbackPreset;
228
251
  try {
229
- await ports.createChild({ sessionId: childId, noticeEvent, presetId, title: args.title });
252
+ await ports.createChild({ sessionId: childId, noticeEvent, modeEvents, presetId, title: args.title });
230
253
  }
231
254
  catch (error) {
232
255
  throw new Refusal({ ok: false, reason: `child creation refused: ${error.message}`, warnings });
@@ -1 +1 @@
1
- {"version":3,"file":"continue-core.js","sourceRoot":"","sources":["../src/continue-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"continue-core.js","sourceRoot":"","sources":["../src/continue-core.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,15 @@ export interface EngineConfig {
58
58
  callArgArtifactTokens: number;
59
59
  /** Elicit a plot note with one bounded call when the model wrote none. */
60
60
  elicitedPlot: boolean;
61
+ /**
62
+ * Carry the operative session plan into every in-place checkpoint (the PLOT
63
+ * mechanism, applied to plans — docs/plans-carriage.md § 9). Shadowing can hide the
64
+ * chapter that holds a plan; a directive that survives only in a file the agent may
65
+ * never open is a directive it drifts from.
66
+ */
67
+ plansInCheckpoint: boolean;
68
+ /** Bounded plan characters carried in the checkpoint text; the archive keeps all. */
69
+ planCheckpointChars: number;
61
70
  }
62
71
  export declare const ENGINE_CONFIG_DEFAULTS: EngineConfig;
63
72
  export interface SummarizeInputLike {
@@ -196,7 +205,16 @@ export declare function planSummarize(session: EngineSession, state: SessionStat
196
205
  /** Required: the caller fails loudly when no `compaction/start` is open. */
197
206
  compactionId: string, composition?: readonly ChapterRange[] | null,
198
207
  /** Model-authored plot note carried into this checkpoint (may be null). */
199
- plot?: string | null): {
208
+ plot?: string | null,
209
+ /**
210
+ * The operative plan, already rendered as checkpoint prose by `carryActivePlan`
211
+ * (plans.ts). Carried on BOTH the composed and the legacy path, because the
212
+ * composed path is where real pressure compaction lands. Note the asymmetry this
213
+ * deliberately does NOT touch: `plot` is still only prefixed on the legacy path
214
+ * (`:415`), and changing that would rewrite checkpoint bytes for every plot-carrying
215
+ * session — i.e. the committed tapes. Plans are new, so carrying them is free.
216
+ */
217
+ planCarry?: string | null): {
200
218
  plan: SummarizePlan;
201
219
  state: SessionState;
202
220
  };