@fractalsynapse/dsh-chapters 0.0.0-stage → 0.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/LICENSE +14 -0
  2. package/README.md +76 -2
  3. package/cordis.patch.yml +363 -0
  4. package/docs/architecture.md +692 -0
  5. package/docs/autorun-guide.md +248 -0
  6. package/docs/backlog.md +2022 -0
  7. package/docs/contract.md +938 -0
  8. package/docs/development.md +990 -0
  9. package/docs/host-compaction-seam.md +225 -0
  10. package/docs/host-protected-head-ask.md +80 -0
  11. package/docs/knowledge-repo.md +1332 -0
  12. package/docs/plans-carriage.md +571 -0
  13. package/docs/project-state.md +642 -0
  14. package/docs/provider.md +98 -0
  15. package/docs/superpowers/plans/2026-10-17-chapters-save.md +198 -0
  16. package/docs/superpowers/plans/2026-11-02-chapter-removal.md +151 -0
  17. package/docs/superpowers/specs/2026-11-02-chapter-removal-design.md +115 -0
  18. package/docs/verify.md +561 -0
  19. package/lib/archive.d.ts +161 -0
  20. package/lib/archive.js +229 -0
  21. package/lib/archive.js.map +1 -0
  22. package/lib/arrival.d.ts +23 -0
  23. package/lib/arrival.js +125 -0
  24. package/lib/arrival.js.map +1 -0
  25. package/lib/artifact-query.d.ts +62 -0
  26. package/lib/artifact-query.js +187 -0
  27. package/lib/artifact-query.js.map +1 -0
  28. package/lib/attach.d.ts +46 -0
  29. package/lib/attach.js +120 -0
  30. package/lib/attach.js.map +1 -0
  31. package/lib/auto-save.d.ts +145 -0
  32. package/lib/auto-save.js +334 -0
  33. package/lib/auto-save.js.map +1 -0
  34. package/lib/aux-message.d.ts +17 -0
  35. package/lib/aux-message.js +20 -0
  36. package/lib/aux-message.js.map +1 -0
  37. package/lib/client.js +1419 -0
  38. package/lib/client.js.map +1 -0
  39. package/lib/codegraph.d.ts +76 -0
  40. package/lib/codegraph.js +190 -0
  41. package/lib/codegraph.js.map +1 -0
  42. package/lib/commands.d.ts +52 -0
  43. package/lib/commands.js +946 -0
  44. package/lib/commands.js.map +1 -0
  45. package/lib/compose.d.ts +30 -0
  46. package/lib/compose.js +185 -0
  47. package/lib/compose.js.map +1 -0
  48. package/lib/continue-core.d.ts +245 -0
  49. package/lib/continue-core.js +405 -0
  50. package/lib/continue-core.js.map +1 -0
  51. package/lib/diag.d.ts +55 -0
  52. package/lib/diag.js +186 -0
  53. package/lib/diag.js.map +1 -0
  54. package/lib/engine-core.d.ts +301 -0
  55. package/lib/engine-core.js +531 -0
  56. package/lib/engine-core.js.map +1 -0
  57. package/lib/engine-note.d.ts +35 -0
  58. package/lib/engine-note.js +32 -0
  59. package/lib/engine-note.js.map +1 -0
  60. package/lib/engine.d.ts +329 -0
  61. package/lib/engine.js +1179 -0
  62. package/lib/engine.js.map +1 -0
  63. package/lib/enrich-queue.d.ts +66 -0
  64. package/lib/enrich-queue.js +126 -0
  65. package/lib/enrich-queue.js.map +1 -0
  66. package/lib/enrich-store.d.ts +31 -0
  67. package/lib/enrich-store.js +103 -0
  68. package/lib/enrich-store.js.map +1 -0
  69. package/lib/enrich-wire.d.ts +163 -0
  70. package/lib/enrich-wire.js +353 -0
  71. package/lib/enrich-wire.js.map +1 -0
  72. package/lib/enrich.d.ts +102 -0
  73. package/lib/enrich.js +267 -0
  74. package/lib/enrich.js.map +1 -0
  75. package/lib/gitops.d.ts +107 -0
  76. package/lib/gitops.js +539 -0
  77. package/lib/gitops.js.map +1 -0
  78. package/lib/index.d.ts +241 -0
  79. package/lib/index.js +1162 -0
  80. package/lib/index.js.map +1 -0
  81. package/lib/indexing.d.ts +98 -0
  82. package/lib/indexing.js +223 -0
  83. package/lib/indexing.js.map +1 -0
  84. package/lib/injections.d.ts +90 -0
  85. package/lib/injections.js +165 -0
  86. package/lib/injections.js.map +1 -0
  87. package/lib/last-resort.d.ts +24 -0
  88. package/lib/last-resort.js +27 -0
  89. package/lib/last-resort.js.map +1 -0
  90. package/lib/log-shape.d.ts +38 -0
  91. package/lib/log-shape.js +93 -0
  92. package/lib/log-shape.js.map +1 -0
  93. package/lib/models-command.d.ts +74 -0
  94. package/lib/models-command.js +100 -0
  95. package/lib/models-command.js.map +1 -0
  96. package/lib/notice.d.ts +74 -0
  97. package/lib/notice.js +92 -0
  98. package/lib/notice.js.map +1 -0
  99. package/lib/plans.d.ts +154 -0
  100. package/lib/plans.js +315 -0
  101. package/lib/plans.js.map +1 -0
  102. package/lib/preset.d.ts +186 -0
  103. package/lib/preset.js +212 -0
  104. package/lib/preset.js.map +1 -0
  105. package/lib/prompt-keys.d.ts +7 -0
  106. package/lib/prompt-keys.js +8 -0
  107. package/lib/prompt-keys.js.map +1 -0
  108. package/lib/prompt-loop.d.ts +73 -0
  109. package/lib/prompt-loop.js +147 -0
  110. package/lib/prompt-loop.js.map +1 -0
  111. package/lib/prompt-push.d.ts +47 -0
  112. package/lib/prompt-push.js +115 -0
  113. package/lib/prompt-push.js.map +1 -0
  114. package/lib/prompt-runner.d.ts +48 -0
  115. package/lib/prompt-runner.js +90 -0
  116. package/lib/prompt-runner.js.map +1 -0
  117. package/lib/prompt-state.d.ts +142 -0
  118. package/lib/prompt-state.js +101 -0
  119. package/lib/prompt-state.js.map +1 -0
  120. package/lib/prompt.d.ts +270 -0
  121. package/lib/prompt.js +408 -0
  122. package/lib/prompt.js.map +1 -0
  123. package/lib/provider.d.ts +44 -0
  124. package/lib/provider.js +66 -0
  125. package/lib/provider.js.map +1 -0
  126. package/lib/redact.d.ts +24 -0
  127. package/lib/redact.js +85 -0
  128. package/lib/redact.js.map +1 -0
  129. package/lib/registry.d.ts +187 -0
  130. package/lib/registry.js +235 -0
  131. package/lib/registry.js.map +1 -0
  132. package/lib/removal.d.ts +159 -0
  133. package/lib/removal.js +556 -0
  134. package/lib/removal.js.map +1 -0
  135. package/lib/render.d.ts +97 -0
  136. package/lib/render.js +530 -0
  137. package/lib/render.js.map +1 -0
  138. package/lib/repair-run.d.ts +76 -0
  139. package/lib/repair-run.js +506 -0
  140. package/lib/repair-run.js.map +1 -0
  141. package/lib/repair.d.ts +208 -0
  142. package/lib/repair.js +357 -0
  143. package/lib/repair.js.map +1 -0
  144. package/lib/repo.d.ts +78 -0
  145. package/lib/repo.js +184 -0
  146. package/lib/repo.js.map +1 -0
  147. package/lib/rules-commands.d.ts +46 -0
  148. package/lib/rules-commands.js +379 -0
  149. package/lib/rules-commands.js.map +1 -0
  150. package/lib/rules.d.ts +267 -0
  151. package/lib/rules.js +478 -0
  152. package/lib/rules.js.map +1 -0
  153. package/lib/save-core.d.ts +72 -0
  154. package/lib/save-core.js +220 -0
  155. package/lib/save-core.js.map +1 -0
  156. package/lib/search.d.ts +112 -0
  157. package/lib/search.js +282 -0
  158. package/lib/search.js.map +1 -0
  159. package/lib/session-rules.d.ts +222 -0
  160. package/lib/session-rules.js +454 -0
  161. package/lib/session-rules.js.map +1 -0
  162. package/lib/signature.d.ts +45 -0
  163. package/lib/signature.js +199 -0
  164. package/lib/signature.js.map +1 -0
  165. package/lib/store.d.ts +156 -0
  166. package/lib/store.js +368 -0
  167. package/lib/store.js.map +1 -0
  168. package/lib/sync.d.ts +220 -0
  169. package/lib/sync.js +810 -0
  170. package/lib/sync.js.map +1 -0
  171. package/lib/tools.d.ts +113 -0
  172. package/lib/tools.js +1090 -0
  173. package/lib/tools.js.map +1 -0
  174. package/lib/treedx/client.d.ts +57 -0
  175. package/lib/treedx/client.js +82 -0
  176. package/lib/treedx/client.js.map +1 -0
  177. package/lib/treedx/provider.d.ts +39 -0
  178. package/lib/treedx/provider.js +479 -0
  179. package/lib/treedx/provider.js.map +1 -0
  180. package/lib/treedx/state.d.ts +27 -0
  181. package/lib/treedx/state.js +65 -0
  182. package/lib/treedx/state.js.map +1 -0
  183. package/lib/types.d.ts +210 -0
  184. package/lib/types.js +31 -0
  185. package/lib/types.js.map +1 -0
  186. package/lib/version.d.ts +9 -0
  187. package/lib/version.js +10 -0
  188. package/lib/version.js.map +1 -0
  189. package/lib/vocabulary.d.ts +41 -0
  190. package/lib/vocabulary.js +118 -0
  191. package/lib/vocabulary.js.map +1 -0
  192. package/lib/warnings.d.ts +10 -0
  193. package/lib/warnings.js +18 -0
  194. package/lib/warnings.js.map +1 -0
  195. package/package.json +151 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { CollectionSignature } from './signature.ts';
2
+ import type { ChapterRange } from './types.ts';
3
+ import type { SessionEventLike } from './types.ts';
4
+ export interface ComposeConfig {
5
+ /** Merge threshold τ in [0,1]: collections merge while overlap score ≥ τ. */
6
+ mergeThreshold: number;
7
+ /** Estimated-token cap per chapter; overshoot forces a split. */
8
+ chapterLimit: number;
9
+ }
10
+ export interface ComposeResult {
11
+ chapters: ChapterRange[];
12
+ notes: string[];
13
+ /** Span events belonging to turns that did not complete inside the span. */
14
+ unarchivedSeqs: number[];
15
+ }
16
+ /**
17
+ * Overlap score in [0,1]: path matches weigh 2× (same file ≈ same task),
18
+ * command and term matches 1×; denominator is the union, so a collection
19
+ * with mostly NEW signal scores low against the running chapter.
20
+ */
21
+ export declare function signatureScore(a: CollectionSignature, b: CollectionSignature): number;
22
+ /**
23
+ * Compose the span [spanStart, spanEnd] of `events` into topic-sequential
24
+ * chapters from `collections` (the session's stored per-turn signatures).
25
+ *
26
+ * Returns no chapters when the span holds no COMPLETED collections — the
27
+ * caller then falls back to its legacy size-based behavior rather than
28
+ * archiving nothing-and-claiming-to.
29
+ */
30
+ export declare function composeChapters(events: readonly SessionEventLike[], spanStart: number, spanEnd: number, collections: readonly CollectionSignature[], config: ComposeConfig): ComposeResult;
package/lib/compose.js ADDED
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Topic-sequential composition (knowledge-repo.md §4.2–4.4).
3
+ *
4
+ * The user requirement in the record: consecutive message collections that
5
+ * reference the SAME TASK merge into one chapter; a chapter splits only when
6
+ * the task changes (signature overlap < τ) or the chapter outgrows a limit.
7
+ * Greedy, sequential, deterministic — and composed from the per-turn
8
+ * signatures already stored at turn/end (§4.1), so archive time is O(turns).
9
+ *
10
+ * Completeness guard (§4.3): only collections whose turn COMPLETED inside the
11
+ * span are archived; anything cut by a span boundary stays live and is noted,
12
+ * never silently dropped and never silently included.
13
+ *
14
+ * Pure module: events + stored collections + config in, chapter ranges out.
15
+ * The titles/summaries come from deriveIdentity (engine-core) — the same
16
+ * deterministic derivation the rest of the plugin uses; P2 enrichment may
17
+ * relabel later, never re-chapter (append-only, §4.4).
18
+ */
19
+ import { deriveIdentity } from "./engine-core.js";
20
+ import { detectPlans } from "./plans.js";
21
+ const union = (a, b) => new Set([...a, ...b]);
22
+ const inter = (a, b) => {
23
+ const set = new Set(a);
24
+ return b.reduce((n, v) => n + (set.has(v) ? 1 : 0), 0);
25
+ };
26
+ /**
27
+ * Overlap score in [0,1]: path matches weigh 2× (same file ≈ same task),
28
+ * command and term matches 1×; denominator is the union, so a collection
29
+ * with mostly NEW signal scores low against the running chapter.
30
+ */
31
+ export function signatureScore(a, b) {
32
+ const num = 2 * inter(a.paths, b.paths) + inter(a.commands, b.commands) + inter(a.terms, b.terms);
33
+ const den = 2 * union(a.paths, b.paths).size + union(a.commands, b.commands).size + union(a.terms, b.terms).size;
34
+ if (den === 0)
35
+ return 0;
36
+ return num / den;
37
+ }
38
+ const messagesOf = (events, lo, hi) => events
39
+ .filter((e) => e.seq >= lo && e.seq <= hi && (e.type === 'user/message' || e.type === 'assistant/message'))
40
+ .map((e) => {
41
+ const d = (e.data ?? {});
42
+ const message = (d.message ?? d);
43
+ const content = Array.isArray(message.content)
44
+ ? message.content
45
+ .filter((b) => b.type === 'text')
46
+ .map((b) => ({ type: 'text', ...(b.text !== undefined ? { text: b.text } : {}) }))
47
+ : [];
48
+ return { role: e.type === 'assistant/message' ? 'assistant' : 'user', content };
49
+ });
50
+ /**
51
+ * Compose the span [spanStart, spanEnd] of `events` into topic-sequential
52
+ * chapters from `collections` (the session's stored per-turn signatures).
53
+ *
54
+ * Returns no chapters when the span holds no COMPLETED collections — the
55
+ * caller then falls back to its legacy size-based behavior rather than
56
+ * archiving nothing-and-claiming-to.
57
+ */
58
+ export function composeChapters(events, spanStart, spanEnd, collections, config) {
59
+ const notes = [];
60
+ const inSpan = (c) => c.seqs.length > 0 && c.seqs[0] >= spanStart && c.seqs[c.seqs.length - 1] <= spanEnd;
61
+ const usable = collections.filter(inSpan).sort((a, b) => a.seqs[0] - b.seqs[0]);
62
+ if (usable.length === 0) {
63
+ const unarchived = events.filter((e) => e.seq >= spanStart && e.seq <= spanEnd).map((e) => e.seq);
64
+ notes.push('no completed collections in span — legacy segmentation applies');
65
+ return { chapters: [], notes, unarchivedSeqs: unarchived };
66
+ }
67
+ const covered = new Set(usable.flatMap((c) => c.seqs));
68
+ const unarchivedSeqs = events
69
+ .filter((e) => e.seq >= spanStart && e.seq <= spanEnd && !covered.has(e.seq))
70
+ .map((e) => e.seq);
71
+ // #59 — this set is NOT evidence of unfinished work. It is simply "no collection signed it", and
72
+ // a collection can be missing because the signature was lost in a registry lost-update while the
73
+ // TURN COMPLETED (measured: session-2edf9694, 32 turn/ends vs 31 collections → 203 events in no
74
+ // chapter, while the note below used to assert they were unfinished). Those seqs are ABSORBED into
75
+ // the neighbouring ranges by `close()` below, so nothing finished is ever dropped; the note now
76
+ // says which of them actually belong to an unfinished turn, derived from `turn/end`, not assumed.
77
+ if (unarchivedSeqs.length > 0) {
78
+ const lastTurnEnd = events.reduce((m, e) => (e.type === 'turn/end' && e.seq <= spanEnd && e.seq > m ? e.seq : m), -1);
79
+ const unsignedDone = unarchivedSeqs.filter((sq) => sq <= lastTurnEnd);
80
+ notes.push(unsignedDone.length > 0
81
+ ? `${unsignedDone.length} unsigned event(s) in ${spanStart}..${lastTurnEnd} are inside COMPLETED turns — absorbed into the adjacent chapter (record §4.3, #59)`
82
+ : `only unfinished tail content (${unarchivedSeqs[0]}..${unarchivedSeqs[unarchivedSeqs.length - 1]}) stays live, per §4.3`);
83
+ }
84
+ const runningOf = (c) => ({
85
+ first: c, last: c, paths: new Set(c.paths), commands: new Set(c.commands), terms: new Set(c.terms),
86
+ size: c.size, startSeq: c.seqs[0], endSeq: c.seqs[c.seqs.length - 1],
87
+ });
88
+ const scoreAgainst = (c, r) => Math.max(signatureScore(c, r.first), signatureScore(c, r.last));
89
+ // primary match: the first path of c equals the first path of either member
90
+ // (with a prefix tolerance: 'src/render' vs 'src/render.ts' — the same file
91
+ // named from prose vs tool args).
92
+ const primaryOf = (sig) => sig.paths[0];
93
+ const primaryEq = (a, b) => {
94
+ if (a === undefined || b === undefined || a === '' || b === '')
95
+ return false;
96
+ return a === b || a.startsWith(b + '.') || b.startsWith(a + '.');
97
+ };
98
+ const primaryMatch = (c, r) => primaryEq(primaryOf(c), primaryOf(r.first)) || primaryEq(primaryOf(c), primaryOf(r.last));
99
+ // A plan submission is the strongest topic boundary a log contains: the
100
+ // planning work CONCLUDES with it (docs/plans-carriage.md § 6), so the
101
+ // collection that carries one closes its chapter and the implementation that
102
+ // follows opens the next. Deterministic, collection-granular, no model call.
103
+ const planSeqs = detectPlans(events.filter((e) => e.seq >= spanStart && e.seq <= spanEnd)).plans
104
+ .map((p) => p.seq);
105
+ const holdsPlan = (lo, hi) => planSeqs.some((sq) => sq >= lo && sq <= hi);
106
+ const firstPlanTitleIn = (lo, hi) => {
107
+ const hit = detectPlans(events.filter((e) => e.seq >= lo && e.seq <= hi)).plans[0];
108
+ return hit !== undefined && hit.title !== '' ? hit.title : undefined;
109
+ };
110
+ const chapters = [];
111
+ // Contiguity bookkeeping (#59): the first range starts at the SPAN, not at its collection, and each
112
+ // later range starts one past the previous end — that is what absorbs an unsigned-but-completed
113
+ // turn instead of dropping it. `pendingLo` is the next legal start.
114
+ let pendingLo = spanStart;
115
+ let running = runningOf(usable[0]);
116
+ // True after a plan closed the chapter: the NEXT collection opens the next
117
+ // chapter, it is never merged backwards (and never re-added — a duplicate
118
+ // range would archive the same text twice, which validateRanges refuses).
119
+ let closedAtPlan = false;
120
+ for (const c of usable.slice(1)) {
121
+ if (closedAtPlan) {
122
+ running = runningOf(c);
123
+ closedAtPlan = false;
124
+ if (holdsPlan(running.startSeq, running.endSeq)) {
125
+ close();
126
+ closedAtPlan = true;
127
+ }
128
+ continue;
129
+ }
130
+ // r28 (first live topic test): overlap Jaccard ALONE never reaches τ on
131
+ // real research turns — a same-topic pair touching 5–6 files each scores
132
+ // ~0.08 because one shared path dilutes in a union of ~10. The signal
133
+ // that actually separates is the PRIMARY path (paths[0]: the first file
134
+ // the turn touched): identical across the render pair, distinct at every
135
+ // topic change. Merge on (score ≥ τ) OR (primary match).
136
+ // A chapter that already holds a plan is CLOSED: the submission concludes the
137
+ // planning, so the next turn opens the next chapter even when the topic
138
+ // overlaps. (Merging into a plan-bearing chapter would bury the decision.)
139
+ const merge = (scoreAgainst(c, running) >= config.mergeThreshold || primaryMatch(c, running))
140
+ && running.size + c.size <= config.chapterLimit
141
+ && !holdsPlan(running.startSeq, running.endSeq);
142
+ if (merge) {
143
+ for (const p of c.paths)
144
+ running.paths.add(p);
145
+ for (const q of c.commands)
146
+ running.commands.add(q);
147
+ for (const t of c.terms)
148
+ running.terms.add(t);
149
+ running.size += c.size;
150
+ running.last = c;
151
+ running.endSeq = c.seqs[c.seqs.length - 1];
152
+ }
153
+ else {
154
+ close();
155
+ running = runningOf(c);
156
+ }
157
+ // The chapter that carries a plan ENDS there (docs/plans-carriage.md § 6).
158
+ if (holdsPlan(running.startSeq, running.endSeq)) {
159
+ close();
160
+ closedAtPlan = true;
161
+ }
162
+ }
163
+ // Half one of §4.3 still binds: never archive past the last COMPLETED turn. `spanEnd` is the
164
+ // caller's anchor and normally IS a turn/end, so this is the identity; when a manual `/compact`
165
+ // hands a span that cuts a turn, the clamp keeps the unfinished tail live instead of absorbing
166
+ // it. Both halves of the guard, one line: nothing unfinished in, nothing finished out.
167
+ const lastCompletedEnd = events.reduce((m, e) => (e.type === 'turn/end' && e.seq <= spanEnd && e.seq > m ? e.seq : m), spanStart);
168
+ if (!closedAtPlan)
169
+ close(lastCompletedEnd);
170
+ function close(hiOverride) {
171
+ const lo = pendingLo;
172
+ const hi = hiOverride ?? running.endSeq;
173
+ const identity = deriveIdentity(messagesOf(events, lo, hi), false, firstPlanTitleIn(lo, hi));
174
+ const pathsHint = [...running.paths].slice(0, 3).join(', ');
175
+ chapters.push({
176
+ title: identity.title,
177
+ summary: `${identity.summary}${pathsHint !== '' ? ` · ${pathsHint}` : ''}`,
178
+ startSeq: lo,
179
+ endSeq: hi,
180
+ });
181
+ pendingLo = hi + 1;
182
+ }
183
+ return { chapters, notes, unarchivedSeqs };
184
+ }
185
+ //# sourceMappingURL=compose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,cAAc,EAAsB,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAmBxC,MAAM,KAAK,GAAG,CAAC,CAAoB,EAAE,CAAoB,EAAe,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;AAChG,MAAM,KAAK,GAAG,CAAC,CAAoB,EAAE,CAAoB,EAAU,EAAE;IACnE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAA;IACtB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACxD,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,CAAsB,EAAE,CAAsB;IAC3E,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;IACjG,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAA;IAChH,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACvB,OAAO,GAAG,GAAG,GAAG,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,MAAmC,EAAE,EAAU,EAAE,EAAU,EAAmB,EAAE,CAClG,MAAM;KACH,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;KAC1G,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IACT,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAA;IACnD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAA4B,CAAA;IAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QAC5C,CAAC,CAAE,OAAO,CAAC,OAA8C;aACtD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC,EAAE,CAAA;IACN,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAA;AACjF,CAAC,CAAC,CAAA;AAEN;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAmC,EACnC,SAAiB,EACjB,OAAe,EACf,WAA2C,EAC3C,MAAqB;IAErB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAG,CAAC,CAAsB,EAAW,EAAE,CACjD,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,IAAI,OAAO,CAAA;IACvF,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAA;IACjF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACjG,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAA;QAC5E,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,CAAA;IAC5D,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9D,MAAM,cAAc,GAAG,MAAM;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAC5E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpB,iGAAiG;IACjG,iGAAiG;IACjG,gGAAgG;IAChG,mGAAmG;IACnG,gGAAgG;IAChG,kGAAkG;IAClG,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC7H,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,CAAA;QACrE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAChC,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,yBAAyB,SAAS,KAAK,WAAW,qFAAqF;YAC/J,CAAC,CAAC,iCAAiC,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAA;IAC/H,CAAC;IAGD,MAAM,SAAS,GAAG,CAAC,CAAsB,EAAW,EAAE,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAClG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE;KACvE,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,CAAC,CAAsB,EAAE,CAAU,EAAU,EAAE,CAClE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACjE,4EAA4E;IAC5E,4EAA4E;IAC5E,kCAAkC;IAClC,MAAM,SAAS,GAAG,CAAC,GAAwB,EAAsB,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,SAAS,GAAG,CAAC,CAAqB,EAAE,CAAqB,EAAW,EAAE;QAC1E,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,KAAK,CAAA;QAC5E,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;IAClE,CAAC,CAAA;IACD,MAAM,YAAY,GAAG,CAAC,CAAsB,EAAE,CAAU,EAAW,EAAE,CACnE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAE3F,wEAAwE;IACxE,uEAAuE;IACvE,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK;SAC7F,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpB,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,EAAU,EAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAClG,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAE,EAAU,EAAsB,EAAE;QACtE,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAClF,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IACtE,CAAC,CAAA;IAED,MAAM,QAAQ,GAAmB,EAAE,CAAA;IACnC,oGAAoG;IACpG,gGAAgG;IAChG,oEAAoE;IACpE,IAAI,SAAS,GAAG,SAAS,CAAA;IAEzB,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAA;IACnC,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;YACtB,YAAY,GAAG,KAAK,CAAA;YACpB,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAC,KAAK,EAAE,CAAC;gBAAC,YAAY,GAAG,IAAI,CAAA;YAAC,CAAC;YACjF,SAAQ;QACV,CAAC;QACD,wEAAwE;QACxE,yEAAyE;QACzE,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,yDAAyD;QACzD,8EAA8E;QAC9E,wEAAwE;QACxE,2EAA2E;QAC3E,MAAM,KAAK,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,cAAc,IAAI,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;eACxF,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY;eAC5C,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACjD,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC7C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;gBAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACnD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC7C,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAA;YACtB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;YAChB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;QAC7C,CAAC;aAAM,CAAC;YACN,KAAK,EAAE,CAAA;YACP,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC;QACD,2EAA2E;QAC3E,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAAC,KAAK,EAAE,CAAC;YAAC,YAAY,GAAG,IAAI,CAAA;QAAC,CAAC;IACnF,CAAC;IACD,6FAA6F;IAC7F,gGAAgG;IAChG,+FAA+F;IAC/F,uFAAuF;IACvF,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9E,SAAS,CACV,CAAA;IACD,IAAI,CAAC,YAAY;QAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAE1C,SAAS,KAAK,CAAC,UAAmB;QAChC,MAAM,EAAE,GAAG,SAAS,CAAA;QACpB,MAAM,EAAE,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAA;QACvC,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC5F,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3D,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1E,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;QACF,SAAS,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAA;AAC5C,CAAC"}
@@ -0,0 +1,245 @@
1
+ /**
2
+ * chapters_continue — pure orchestration of a citation-linked continuation,
3
+ * behind ports (docs/development.md § L0: this file imports no cordis and no
4
+ * @deepseek-ai package; `src/tools.ts` adapts it).
5
+ *
6
+ * Order is the atomicity contract (docs/architecture.md § Atomicity):
7
+ * validate ranges -> reserve -> write+verify files -> assemble the notice ->
8
+ * budget preflight -> CREATE the child -> commit registry links. A crash before
9
+ * creation leaves orphan files (harmless, numbers already spent); creation
10
+ * without the commit is retried idempotently via attemptKey + linkChild.
11
+ *
12
+ * Budget honesty: allowance is a share of the window REMAINING after the
13
+ * header, never of the whole window; the header is bounded by the last real
14
+ * request's full prompt (conservative — over-counting errs toward loud
15
+ * refusals, which is the designed direction). No usage yet -> the probe says
16
+ * `headerBoundTokens: null` and the allowance conservatively assumes a zero
17
+ * header only because a session with no requests cannot have a large TOC.
18
+ */
19
+ import type { ChapterRange, NoticePlan, RenderConfig, SessionEventLike, ToolResultOverride } from './types.ts';
20
+ import type { ChapterRecord } from './archive.ts';
21
+ import type { SessionState } from './registry.ts';
22
+ import { type PlanIntent } from './plans.ts';
23
+ export interface ContinueArgs {
24
+ callerSessionId: string;
25
+ /** The caller's own preset id, resolved by the adapter from its session observation. */
26
+ callerPreset: string | null;
27
+ title: string;
28
+ handoffNote: string;
29
+ chapters: ChapterRange[];
30
+ toolResultOverrides: ToolResultOverride[];
31
+ /**
32
+ * The knowledge-project line for the notice (record §8): `Project: <slug> ·
33
+ * <key>` plus the search instruction. Set by the adapter from the linked
34
+ * project; absent → the notice simply omits the section.
35
+ */
36
+ projectLine?: string;
37
+ /** P3 §7.3: rules block for the notice (see assembleNotice). */
38
+ rulesSection?: string;
39
+ /** Why this child exists — see PlanIntent. Absent means 'continue'. */
40
+ intent?: PlanIntent | undefined;
41
+ }
42
+ export interface ContinueConfig extends RenderConfig {
43
+ artifactStoreRoot: string;
44
+ continuationBudgetRatio: number;
45
+ fallbackPreset: string;
46
+ /** Topic-sequential composition (record §4.2): merge while overlap ≥ τ. */
47
+ mergeThreshold: number;
48
+ /** Estimated-token cap per composed chapter. */
49
+ chapterLimit: number;
50
+ /**
51
+ * Workspace cwd of the session archiving, when the caller knows it (#69). `writeArchive` normalizes
52
+ * stored paths to workspace-relative with it; absent, the paths keep the store root's own dialect and
53
+ * every comparison must go through `sameStoredPath`.
54
+ */
55
+ workspaceCwd?: string | undefined;
56
+ /**
57
+ * Hard oversize multiple of `chapterTokenTarget` (#59): over the target warns, over
58
+ * `target × factor` the door refuses before reserving a number. Optional so a profile that predates
59
+ * the key keeps the pre-#59 behaviour of warning only — the default lives in `Config`, not here.
60
+ */
61
+ chapterOversizeFactor?: number;
62
+ /**
63
+ * Carry the `## Plans on this path` block into the child's notice
64
+ * (docs/plans-carriage.md § 4). Renders ZERO bytes when the path holds no
65
+ * plan, so a session that never entered plan mode is bit-identical to before
66
+ * this existed — which is what keeps the model tapes matching.
67
+ */
68
+ plansInNotice?: boolean | undefined;
69
+ /**
70
+ * Teach a child HOW to look things up, not only what was archived (findability
71
+ * audit, 2026-10-11). The index answers questions about every kind — chapters,
72
+ * `kind: plan` documents, curated rules — but the notice previously pointed at
73
+ * nothing but `read`, so a session had to guess that `chapters_search` exists.
74
+ */
75
+ retrievalHints?: boolean | undefined;
76
+ /**
77
+ * Seed `plan/mode {active:true}` into a CONTINUATION child when the archived span
78
+ * ended with plan mode active, so the planning gate survives the boundary the way
79
+ * the plot does (decision 2026-10-10; measured: the kernel accepts a two-event
80
+ * seed and the host's own plan projection folds it to active). Never for a branch.
81
+ */
82
+ planSeedMode?: boolean | undefined;
83
+ }
84
+ export interface BudgetProbe {
85
+ windowTokens: number | null;
86
+ headerBoundTokens: number | null;
87
+ }
88
+ export interface ContinuePorts {
89
+ /** The caller's durable events, oldest first (full log; the ceiling trims it). */
90
+ readCallerEvents(): Promise<SessionEventLike[]>;
91
+ getState(sessionId: string): Promise<SessionState>;
92
+ putState(sessionId: string, state: SessionState): Promise<void>;
93
+ /**
94
+ * The ONLY safe way to write an EXISTING row (#101): `fn` receives the live row and returns its
95
+ * replacement, so a chapter another door committed while we were rendering files cannot be overwritten.
96
+ * `getState`→`putState` is reserved for brand-new rows (see docs/contract.md).
97
+ */
98
+ mutateState(sessionId: string, fn: (state: SessionState) => SessionState): Promise<void>;
99
+ /** ArchiveFs anchored at the caller's workspace cwd (the read tool reaches it). */
100
+ fs(): import('./archive.ts').ArchiveFs;
101
+ budgetProbe(): Promise<BudgetProbe>;
102
+ newId(): string;
103
+ /** agents.create + setup-mount + workspace attach; throws on kernel refusal.
104
+ * `modeEvents` are the child's OWN synthetic state events (never a parent slice):
105
+ * they follow the notice, so the seed stays contiguous from seq 0. */
106
+ createChild(input: {
107
+ sessionId: string;
108
+ noticeEvent: SessionEventLike;
109
+ modeEvents: SessionEventLike[];
110
+ presetId: string;
111
+ title: string;
112
+ }): Promise<void | {
113
+ warnings?: readonly string[];
114
+ }>;
115
+ now(): number;
116
+ /**
117
+ * The plane's diagnostics seam (#54). The core refuses a child creation with the kernel's
118
+ * own words — and on host 0.2.x those words ended the whole acceptance chain while the
119
+ * error sink stayed empty, because only the engine had ever written to it. The core cannot
120
+ * touch the filesystem (it is L0-pure, and its tests run everywhere), so each plane injects
121
+ * its own: `src/diag.ts` for both of them in practice, but injected so a caller can also
122
+ * surface it. OPTIONAL on purpose: absence must never break a door.
123
+ */
124
+ diagnostic?(where: string, message: string, error?: unknown): void;
125
+ /**
126
+ * #255: a TOC entry failed integrity (`modified` or `missing`) is additionally structured here,
127
+ * with the referrer, so the plane can log the dead citation durably (removals/missing-access.log).
128
+ * The warning text keeps flowing as before — this is the DELIVERY channel, not a second decision:
129
+ * the verdict is minted once, at `verifyChapter`, and only relayed.
130
+ */
131
+ onIntegrity?(referrerSessionId: string, citedPath: string, verdict: 'modified' | 'missing'): void;
132
+ }
133
+ export interface ContinueResult {
134
+ ok: boolean;
135
+ childSessionId?: string;
136
+ presetUsed?: string;
137
+ chapters?: Array<{
138
+ number: number;
139
+ path: string;
140
+ startSeq: number;
141
+ endSeq: number;
142
+ }>;
143
+ warnings?: string[];
144
+ /** Numbers behind every outcome — AGENTS: refuse WITH the numbers. */
145
+ budget?: {
146
+ usedTokens: number;
147
+ allowanceTokens: number;
148
+ windowTokens: number | null;
149
+ headerBoundTokens: number | null;
150
+ };
151
+ reason?: string;
152
+ }
153
+ export declare class Refusal extends Error {
154
+ readonly result: ContinueResult;
155
+ constructor(result: ContinueResult);
156
+ }
157
+ export interface NoticeEntry {
158
+ number: number;
159
+ path: string;
160
+ title: string;
161
+ summary: string;
162
+ status: 'ok' | 'modified' | 'missing';
163
+ /** user+assistant message count (record §7.3); absent for legacy records. */
164
+ messages?: number;
165
+ }
166
+ /** The child's whole content: honest preamble, in-flight note, flat index, back-links. */
167
+ export declare function assembleNotice(input: {
168
+ title: string;
169
+ handoffNote: string;
170
+ entries: readonly NoticeEntry[];
171
+ rootSession: string;
172
+ parentSession: string;
173
+ storeRoot: string;
174
+ projectLine?: string;
175
+ /** P3 §7.3: CORE RULES + category index, composed by the adapter from this
176
+ * machine's own approvals. Absent/empty => zero injected bytes (tape-safe). */
177
+ rulesSection?: string;
178
+ /**
179
+ * docs/plans-carriage.md § 4: the flat `## Plans on this path` block, in CAUSAL order
180
+ * block, built by buildPlansSection from the ancestor path's chapter records
181
+ * plus whatever plans the caller's live tail still holds. Placed ABOVE the
182
+ * fold because the operative plan is the one fact a continuation must not
183
+ * re-derive — a child that cannot see it either implements something nobody
184
+ * approved or re-plans from recall. Absent/empty => zero injected bytes.
185
+ */
186
+ plansSection?: string;
187
+ retrievalHints?: boolean | undefined;
188
+ }): string;
189
+ /** The budget formula with its refusal numbers, kept apart for direct testing. */
190
+ export declare function preflight(input: {
191
+ noticeTokens: number;
192
+ budget: BudgetProbe;
193
+ ratio: number;
194
+ }): {
195
+ ok: true;
196
+ budget: NonNullable<ContinueResult['budget']>;
197
+ } | {
198
+ ok: false;
199
+ budget: NonNullable<ContinueResult['budget']>;
200
+ };
201
+ export declare function runContinue(ports: ContinuePorts, args: ContinueArgs, config: ContinueConfig): Promise<ContinueResult>;
202
+ /**
203
+ * The notice's plan rows: every plan the ARCHIVE carries, cited to the chapter
204
+ * that holds it, in the same display numbering as the chapter list (docs/
205
+ * plans-carriage.md § 4 — flat, in causal order, because the model never
206
+ * traverses; sessions have independent seq spaces, so the caller's order IS the
207
+ * chronology). Artifact paths come from the record (fully workspace-qualified),
208
+ * not from the fact (store-relative), so the child's `read` hits the file.
209
+ */
210
+ export declare function archivedPlanRows(records: readonly ChapterRecord[], entries: readonly NoticeEntry[]): NoticePlan[];
211
+ /**
212
+ * Plans the caller still holds UNARCHIVED — a plan whose review is open sits in an
213
+ * unfinished turn, and the archive ceiling is completed turns only, so it is in no
214
+ * chapter and no artifact (docs/plans-carriage.md § 5). The child must still be
215
+ * told it exists, and told plainly that it was never approved.
216
+ */
217
+ export declare function livePlanRows(events: readonly SessionEventLike[], watermark: number): NoticePlan[];
218
+ /** The highest seq any cited chapter covers — the boundary between stored and live. */
219
+ export declare const archiveWatermark: (records: readonly ChapterRecord[]) => number;
220
+ /** Fields both continue and fork need to create the child. */
221
+ export type FinishArgs = Pick<ContinueArgs, 'callerSessionId' | 'callerPreset' | 'title' | 'handoffNote' | 'projectLine' | 'rulesSection' | 'intent'>;
222
+ /**
223
+ * chapters_fork: open a sibling line citing the SAME archive, archiving nothing
224
+ * new. The point is branching (AGENTS "branchable — history can fork, not
225
+ * just truncate"): parent and child keep working independently; no files are
226
+ * written and no numbers reserved, so a fork is cheap and cannot orphan a
227
+ * citation it did not already exist.
228
+ */
229
+ export interface ForkArgs extends FinishArgs {
230
+ }
231
+ export declare function runFork(ports: ContinuePorts, args: ForkArgs, config: ContinueConfig): Promise<ContinueResult>;
232
+ /**
233
+ * Deterministic segmentation: split [0..anchorSeq] into chapter ranges WITHOUT
234
+ * any model call — the fork-button backend (a button cannot wait for proposed
235
+ * ranges, and auto mode must never paraphrase: invariant 4 holds, only
236
+ * positions are computed here; titles/summaries derive from content lines).
237
+ * Cuts land ONLY on `turn/end` boundaries; a segment closes at the first
238
+ * boundary reaching ~90% of chapterTokenTarget, so overshoot is bounded.
239
+ */
240
+ export declare function deriveRanges(events: readonly SessionEventLike[], anchorSeq: number, chapterTokenTarget: number, fromSeq?: number): {
241
+ chapters: ChapterRange[];
242
+ notes: string[];
243
+ };
244
+ /** The adapter surfaces refusals as tool output, never as crashes. */
245
+ export declare function refusalResult(error: unknown): ContinueResult | null;