@lingjingai/scriptctl 0.39.1 → 0.42.0

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.
@@ -0,0 +1,13 @@
1
+ # 0.40.0
2
+
3
+ ## Added
4
+ - None.
5
+
6
+ ## Changed
7
+ - `scriptctl ingest` (text) now compresses the far serial context with an LLM arc summary instead of concatenating it. When the running synopsis exceeds its budget, the oldest ~10 aged-out episode one-liners are folded into one bounded arc paragraph (cheap model) whose label is a clean `第X集–第Y集` range — replacing the old zero-LLM join that grew unbounded and produced compounding `第1集–第10集–第19集…` labels. Arc summaries are cached per range in `serial/arc_<start>_<end>.md`, so resume never re-summarizes.
8
+
9
+ ## Fixed
10
+ - None.
11
+
12
+ ## Breaking
13
+ - None.
@@ -0,0 +1,13 @@
1
+ # 0.41.0
2
+
3
+ ## Added
4
+ - `scriptctl ingest` records accurate per-run wall-clock timing to `workspace/timings.json` (per phase: normalize/serial/govern, and per serial window). `scriptctl ingest status` surfaces it (`timings`: elapsed, per-phase durations, serial windows done, average window time, and an ETA extrapolated over the real — non-cached — windows), and `scriptctl view --watch` shows a live-ticking total elapsed, per-stage durations, and the serial ETA / rate.
5
+
6
+ ## Changed
7
+ - `scriptctl ingest` (text) serial govern now parses episodes in token-bounded windows instead of strictly one per call: contiguous episodes are packed up to ~5000 body tokens and annotated together in a single `ingest.episode-assets` call, cutting the number of serial calls (and the repeated context sent with each) roughly in proportion to episodes-per-window. Context still flows window→window, so identity/importance/造型 accumulation is unchanged. Serial checkpoints are now per window: `serial/win_<start>_<end>.md` (was `serial/ep_NNN.md`); `scriptctl ingest status` counts serial progress by episodes covered. An episode larger than the window budget takes its own window (episodes are never split).
8
+
9
+ ## Fixed
10
+ - None.
11
+
12
+ ## Breaking
13
+ - None.
@@ -0,0 +1,14 @@
1
+ # 0.42.0
2
+
3
+ ## Added
4
+ - None.
5
+
6
+ ## Changed
7
+ - `scriptctl ingest` (text) serial window budget raised to ~10000 body tokens (was ~5000), packing more episodes per `ingest.episode-assets` call (fewer calls, more amortized context); the task's output cap was raised to 32000 so a dense window never truncates.
8
+ - `scriptctl ingest` (text) now guarantees every asset (人物/场景/道具) and every state — including the baseline 常态 — ships with a non-empty description. The serial pass registers all referenced entities (背景 included) with a 简介, extends 造型 (visual descriptions) from 人物 to featured 场景/道具, and prefers the source's own wording; it also feeds the model the source's declared 地点/在场/道具 per scene and the (pass0-stripped) front-matter 角色卡/设定 as an 原文设定 reference. A final deterministic backfill fills any straggler (state ← its asset's description; asset ← a described state or its name), so empty descriptions no longer reach `script.json`.
9
+
10
+ ## Fixed
11
+ - None.
12
+
13
+ ## Breaking
14
+ - None.
@@ -26,14 +26,21 @@ export interface SceneRef {
26
26
  }>;
27
27
  }
28
28
  export interface RecentEpisode {
29
- episode: number;
29
+ startEp: number;
30
+ endEp: number;
30
31
  summary: string;
31
32
  subEvents: string[];
32
33
  }
34
+ export declare const recentLabel: (r: {
35
+ startEp: number;
36
+ endEp: number;
37
+ }) => string;
33
38
  export interface SynopsisLine {
34
- label: string;
39
+ startEp: number;
40
+ endEp: number;
35
41
  line: string;
36
42
  }
43
+ export declare const synopsisLabel: (s: SynopsisLine) => string;
37
44
  export interface GlobalContext {
38
45
  entities: RegEntity[];
39
46
  scenes: Record<string, SceneRef>;
@@ -83,13 +90,18 @@ export interface CompactOpts {
83
90
  arcFold: number;
84
91
  }
85
92
  export declare const DEFAULT_COMPACT: CompactOpts;
93
+ export declare const DEFAULT_WINDOW_TOKENS = 10000;
94
+ export declare function estimateTokens(text: string): number;
95
+ export declare function packEpisodes(tokens: number[], budget?: number): Array<[number, number]>;
86
96
  export declare const kindFromLabel: (s: string) => RegEntity["kind"] | undefined;
87
97
  export declare function findEntity(ctx: GlobalContext, name: string): RegEntity | undefined;
88
98
  export declare function fullest(names: string[]): string;
89
99
  export declare function resolveCanon(ctx: GlobalContext, name: string): string;
90
100
  export declare function resolveLook(e: RegEntity, name: string): string;
91
101
  export declare function baseLook(e: RegEntity): string | undefined;
92
- export declare function applyDelta(ctx: GlobalContext, delta: Delta, episode: number): GlobalContext;
102
+ export declare function applyDelta(ctx: GlobalContext, delta: Delta, startEp: number, endEp?: number): GlobalContext;
93
103
  export declare function compact(ctx: GlobalContext, opts?: CompactOpts): GlobalContext;
104
+ export declare function pendingArcFold(ctx: GlobalContext, opts?: CompactOpts): SynopsisLine[] | null;
105
+ export declare function applyArcFold(ctx: GlobalContext, summary: string, opts?: CompactOpts): void;
94
106
  export declare const DETAIL_EPISODES = 6;
95
107
  export declare function render(ctx: GlobalContext, currentEpisode?: number): string;
@@ -11,9 +11,48 @@
11
11
  // arc) ages down a ladder to stay within budget. The final v3 assets/scene-refs
12
12
  // are built from THIS registry, not the roster.
13
13
  const norm = (s) => s.normalize("NFC").replace(/\s+/g, " ").trim();
14
+ export const recentLabel = (r) => r.startEp === r.endEp ? `第${r.startEp}集` : `第${r.startEp}集–第${r.endEp}集`;
15
+ export const synopsisLabel = (s) => s.startEp === s.endEp ? `第${s.startEp}集` : `第${s.startEp}集–第${s.endEp}集`;
14
16
  export const emptyDelta = () => ({ newEntities: [], merges: [], looks: [], importance: [], sceneRefs: [], subEvents: [], summary: "" });
15
17
  export const emptyContext = () => ({ entities: [], scenes: {}, recent: [], synopsis: [] });
16
18
  export const DEFAULT_COMPACT = { recentEpisodes: 6, synopsisChars: 3500, arcFold: 10 };
19
+ // Serial windowing: pack contiguous episode bodies up to this token budget and
20
+ // parse them in ONE call. Context still flows window→window (serial), so a window
21
+ // only trades a little within-window pre-applied context for far fewer calls —
22
+ // the win is biggest late, where one big context is amortized over several episodes.
23
+ export const DEFAULT_WINDOW_TOKENS = 10000;
24
+ // Deterministic token estimate for CJK+latin mixed body text. Not a real
25
+ // tokenizer (grok/deepseek differ), but stable across runs so window boundaries —
26
+ // hence resume cache keys — are identical. CJK ≈ 0.7 tok/char, latin ≈ 0.25.
27
+ export function estimateTokens(text) {
28
+ let cjk = 0, total = 0;
29
+ for (const ch of text) {
30
+ total++;
31
+ const c = ch.codePointAt(0);
32
+ if ((c >= 0x3400 && c <= 0x9fff) || (c >= 0x3000 && c <= 0x30ff) || (c >= 0xff00 && c <= 0xffef) || (c >= 0xf900 && c <= 0xfaff))
33
+ cjk++;
34
+ }
35
+ return Math.round(cjk * 0.7 + (total - cjk) * 0.25);
36
+ }
37
+ // Greedy-pack episode token sizes into windows under `budget`. Episodes are atomic
38
+ // (cut only on episode boundaries); a single episode larger than the budget takes
39
+ // its own window. Returns inclusive 1-based [startEp, endEp] ranges. Pure +
40
+ // deterministic so resume re-packs identically.
41
+ export function packEpisodes(tokens, budget = DEFAULT_WINDOW_TOKENS) {
42
+ const windows = [];
43
+ let start = 0, acc = 0;
44
+ for (let i = 0; i < tokens.length; i++) {
45
+ if (i > start && acc + tokens[i] > budget) {
46
+ windows.push([start + 1, i]);
47
+ start = i;
48
+ acc = 0;
49
+ }
50
+ acc += tokens[i];
51
+ }
52
+ if (start < tokens.length)
53
+ windows.push([start + 1, tokens.length]);
54
+ return windows;
55
+ }
17
56
  const KIND_LABEL = { actor: "人物", location: "场景", prop: "道具" };
18
57
  const LABEL_KIND = { 人物: "actor", 场景: "location", 地点: "location", 道具: "prop" };
19
58
  export const kindFromLabel = (s) => LABEL_KIND[s.trim()];
@@ -63,11 +102,11 @@ export function baseLook(e) {
63
102
  return undefined;
64
103
  return (e.looks.find((l) => BASE_LABELS.some((b) => l.name.includes(b))) ?? e.looks[0]).name;
65
104
  }
66
- export function applyDelta(ctx, delta, episode) {
105
+ export function applyDelta(ctx, delta, startEp, endEp = startEp) {
67
106
  for (const ne of delta.newEntities) {
68
107
  if (findEntity(ctx, ne.name))
69
108
  continue;
70
- ctx.entities.push({ kind: ne.kind, canonical: ne.name, aliases: [], description: ne.description, looks: [], lastSeen: episode, ...(ne.importance ? { importance: ne.importance } : {}) });
109
+ ctx.entities.push({ kind: ne.kind, canonical: ne.name, aliases: [], description: ne.description, looks: [], lastSeen: endEp, ...(ne.importance ? { importance: ne.importance } : {}) });
71
110
  }
72
111
  for (const { name, tier } of delta.importance) {
73
112
  const e = findEntity(ctx, name);
@@ -152,24 +191,40 @@ export function applyDelta(ctx, delta, episode) {
152
191
  for (const n of touched) {
153
192
  const e = findEntity(ctx, n);
154
193
  if (e)
155
- e.lastSeen = episode;
194
+ e.lastSeen = endEp;
156
195
  }
157
- ctx.recent.push({ episode, summary: delta.summary, subEvents: delta.subEvents });
196
+ ctx.recent.push({ startEp, endEp, summary: delta.summary, subEvents: delta.subEvents });
158
197
  return ctx;
159
198
  }
160
199
  const recentChars = (r) => r.summary.length + r.subEvents.reduce((n, s) => n + s.length, 0);
200
+ // Age recent → synopsis one-liners (pure). Arc folding of the synopsis is a
201
+ // SEPARATE async step (pendingArcFold + applyArcFold) because it summarizes via
202
+ // LLM; keeping compact pure lets resume replay it deterministically.
161
203
  export function compact(ctx, opts = DEFAULT_COMPACT) {
162
204
  while (ctx.recent.length > opts.recentEpisodes || (ctx.recent.length > 1 && ctx.recent.reduce((n, r) => n + recentChars(r), 0) > 6000)) {
163
205
  const oldest = ctx.recent.shift();
164
206
  if (oldest.summary.trim())
165
- ctx.synopsis.push({ label: `第${oldest.episode}集`, line: oldest.summary.trim() });
166
- }
167
- while (ctx.synopsis.reduce((n, s) => n + s.line.length, 0) > opts.synopsisChars && ctx.synopsis.length > opts.arcFold) {
168
- const fold = ctx.synopsis.splice(0, opts.arcFold);
169
- ctx.synopsis.unshift({ label: `${fold[0].label}–${fold[fold.length - 1].label}`, line: fold.map((f) => f.line).join(";") });
207
+ ctx.synopsis.push({ startEp: oldest.startEp, endEp: oldest.endEp, line: oldest.summary.trim() });
170
208
  }
171
209
  return ctx;
172
210
  }
211
+ // The oldest `arcFold` synopsis entries to compress, if the synopsis is over its
212
+ // char budget; else null. Pure + deterministic, so the fold boundary — and thus
213
+ // the arc summary's cache key [startEp, endEp] — is identical across runs/resumes.
214
+ export function pendingArcFold(ctx, opts = DEFAULT_COMPACT) {
215
+ const total = ctx.synopsis.reduce((n, s) => n + s.line.length, 0);
216
+ if (total <= opts.synopsisChars || ctx.synopsis.length <= opts.arcFold)
217
+ return null;
218
+ return ctx.synopsis.slice(0, opts.arcFold);
219
+ }
220
+ // Replace the oldest `arcFold` synopsis entries with one arc entry carrying the
221
+ // (LLM-produced) summary and the folded range's clean [startEp, endEp].
222
+ export function applyArcFold(ctx, summary, opts = DEFAULT_COMPACT) {
223
+ const fold = ctx.synopsis.splice(0, opts.arcFold);
224
+ if (!fold.length)
225
+ return;
226
+ ctx.synopsis.unshift({ startEp: fold[0].startEp, endEp: fold[fold.length - 1].endEp, line: summary.trim() });
227
+ }
173
228
  // Episodes of recency within which an entity renders in FULL detail; older
174
229
  // (dormant) entities fold to a one-line stub so input doesn't grow with cast.
175
230
  export const DETAIL_EPISODES = 6;
@@ -202,12 +257,12 @@ export function render(ctx, currentEpisode) {
202
257
  if (ctx.synopsis.length) {
203
258
  out.push("", "# 前情");
204
259
  for (const s of ctx.synopsis)
205
- out.push(`- ${s.label}:${s.line}`);
260
+ out.push(`- ${synopsisLabel(s)}:${s.line}`);
206
261
  }
207
262
  if (ctx.recent.length) {
208
263
  out.push("", "# 最近");
209
264
  for (const r of ctx.recent) {
210
- out.push(`## 第${r.episode}集`);
265
+ out.push(`## ${recentLabel(r)}`);
211
266
  if (r.summary.trim())
212
267
  out.push(`梗概:${r.summary.trim()}`);
213
268
  for (const e of r.subEvents)
@@ -1 +1 @@
1
- {"version":3,"file":"serial-context.js","sourceRoot":"","sources":["../../../src/domain/ingest/serial-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serial-context.js","sourceRoot":"","sources":["../../../src/domain/ingest/serial-context.ts"],"names":[],"mappings":"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"}
@@ -155,6 +155,7 @@ export const BUILTIN_LLM_CONFIG = {
155
155
  // everything else (governance/refine/state, synopsis, metadata) falls to
156
156
  // the high `default` model.
157
157
  "ingest.body-start": "ingest-low",
158
+ "ingest.arc-summary": "ingest-low",
158
159
  "ingest.text-normalize": "ingest-low",
159
160
  "ingest.mention-resolve": "ingest-low",
160
161
  "ingest.asset-recall": "ingest-low",
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/llm/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/llm/config.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare const LLM_TASK_REGISTRY: {
25
25
  "synopsis.arc": LlmTaskSpec;
26
26
  "synopsis.script-overview": LlmTaskSpec;
27
27
  "ingest.body-start": LlmTaskSpec;
28
+ "ingest.arc-summary": LlmTaskSpec;
28
29
  "ingest.text-normalize": LlmTaskSpec;
29
30
  "ingest.episode-assets": LlmTaskSpec;
30
31
  "ingest.mention-resolve": LlmTaskSpec;
@@ -27,11 +27,16 @@ export const LLM_TASK_REGISTRY = {
27
27
  // the whole call throws. A big cap costs nothing extra (the call stops when the
28
28
  // model is done); it only prevents truncation, so match normalize's headroom.
29
29
  "ingest.body-start": spec("ingest.body-start", "text", 16000),
30
+ // Compress a folded run of ~10 episodes' aged synopses into one arc paragraph.
31
+ // Fires rarely (only when the synopsis exceeds budget); output is a short
32
+ // paragraph, so a modest budget suffices (headroom for a reasoning model).
33
+ "ingest.arc-summary": spec("ingest.arc-summary", "text", 4096),
30
34
  "ingest.text-normalize": spec("ingest.text-normalize", "text", 16000),
31
- // Serial per-episode asset/state annotation: model reads the running context +
32
- // one episode body, emits a compact `# 更新` md (decisions, not the body), so a
33
- // modest output budget suffices.
34
- "ingest.episode-assets": spec("ingest.episode-assets", "text", 8000),
35
+ // Serial per-WINDOW asset/state annotation: model reads the running context + a
36
+ // token-bounded window of 1+ episodes (~10k body tokens), emits a `# 更新` md
37
+ // covering all their scenes. Output scales with the window's scene count → large
38
+ // cap so a dense window never truncates (a big cap costs nothing when small).
39
+ "ingest.episode-assets": spec("ingest.episode-assets", "text", 32000),
35
40
  "ingest.mention-resolve": spec("ingest.mention-resolve", "text", 8000),
36
41
  "ingest.asset-extract": spec("ingest.asset-extract", "text", 8000),
37
42
  "ingest.asset-curate": spec("ingest.asset-curate", "text", 32000),
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/llm/registry.ts"],"names":[],"mappings":"AAUA,SAAS,IAAI,CAAC,EAAa,EAAE,IAAiB,EAAE,eAAuB;IACrE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE,IAAI,CAAC;IACpE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,KAAK,CAAC;IACnE,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,EAAE,MAAM,EAAE,IAAI,CAAC;IACxE,2BAA2B,EAAE,IAAI,CAAC,2BAA2B,EAAE,MAAM,EAAE,IAAI,CAAC;IAC5E,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,EAAE,IAAI,CAAC;IACtE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE,IAAI,CAAC;IACpE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE,KAAK,CAAC;IACrE,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,EAAE,MAAM,EAAE,KAAK,CAAC;IACjF,kCAAkC,EAAE,IAAI,CAAC,kCAAkC,EAAE,MAAM,EAAE,KAAK,CAAC;IAC3F,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE,KAAK,CAAC;IACrE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,KAAK,CAAC;IACnE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC;IACzD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE,KAAK,CAAC;IACrE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC;IACtD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,CAAC;IAC1D,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC;IAClD,0BAA0B,EAAE,IAAI,CAAC,0BAA0B,EAAE,MAAM,EAAE,IAAI,CAAC;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,6EAA6E;IAC7E,8EAA8E;IAC9E,gFAAgF;IAChF,gFAAgF;IAChF,8EAA8E;IAC9E,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,CAAC;IAC7D,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE,KAAK,CAAC;IACrE,+EAA+E;IAC/E,8EAA8E;IAC9E,iCAAiC;IACjC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE,IAAI,CAAC;IACpE,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,EAAE,IAAI,CAAC;IACtE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,CAAC;IAClE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,EAAE,KAAK,CAAC;IACjE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,EAAE,KAAK,CAAC;IACjE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,EAAE,KAAK,CAAC;IACjE,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,EAAE,KAAK,CAAC;IACvE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,KAAK,CAAC;IACnE,yEAAyE;IACzE,2EAA2E;IAC3E,0DAA0D;IAC1D,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,EAAE,OAAO,EAAE,KAAK,CAAC;IAC1E,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,OAAO,EAAE,KAAK,CAAC;IACpE,2EAA2E;IAC3E,+EAA+E;IAC/E,qEAAqE;IACrE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,KAAK,CAAC;IACnE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,CAAC;IAClE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,EAAE,IAAI,CAAC;IAChE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE,IAAI,CAAC;IACpE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,EAAE,IAAI,CAAC;CACtB,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAE/E,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/llm/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { LlmTaskExecutor } from "../../types.js";
2
+ export declare const ARC_SUMMARY_SYSTEM: string;
3
+ /**
4
+ * Compress a folded run of aged synopses into one arc paragraph.
5
+ * @param range e.g. "第1集–第82集" (for context only)
6
+ * @param foldedText the folded entries, one per line ("<label>:<line>")
7
+ */
8
+ export declare function runArcSummary(executor: LlmTaskExecutor, range: string, foldedText: string, signal?: AbortSignal): Promise<string>;
@@ -0,0 +1,26 @@
1
+ // Arc summary. When the serial context's synopsis grows past its char budget,
2
+ // the oldest ~10 aged-out episode one-liners are folded into a single "arc"
3
+ // paragraph. This compresses the FAR narrative (which the model only needs as
4
+ // background) into a bounded chapter recap, instead of the old zero-LLM
5
+ // concatenation that just kept growing. Cheap model (ingest-low); fires rarely.
6
+ export const ARC_SUMMARY_SYSTEM = "你是短剧连续转写里的「远端剧情浓缩器」。我会给你一段连续集区间的**逐条剧情梗概**(每行一集或一个更早的篇章)。它们是给模型当**背景前情**用的远端剧情,不需要逐集细节。" +
7
+ "\n你的任务:把它们**浓缩成一段连贯的篇章梗概**,只保留:主线走向、关键转折、重要人物与其阵营/目标变化、影响后续的因果与伏笔。" +
8
+ "\n要求:" +
9
+ "\n- 一段连续文字,**不要**逐集罗列、不要分点、不要写「第N集」字样、不要任何标题。" +
10
+ "\n- 保留出现的**关键人物名/组织名/地名**(用原文里的名字),丢掉一次性龙套和琐碎动作。" +
11
+ "\n- 控制在 **200–320 字**,宁可概括也不要流水账。" +
12
+ "\n- 只输出这段梗概正文,不要任何前后缀说明。";
13
+ /**
14
+ * Compress a folded run of aged synopses into one arc paragraph.
15
+ * @param range e.g. "第1集–第82集" (for context only)
16
+ * @param foldedText the folded entries, one per line ("<label>:<line>")
17
+ */
18
+ export async function runArcSummary(executor, range, foldedText, signal) {
19
+ const res = await executor.generateText("ingest.arc-summary", {
20
+ system: ARC_SUMMARY_SYSTEM,
21
+ user: `把下面 ${range} 的逐条剧情浓缩成一段篇章梗概(200–320 字,连贯成段,不要逐集罗列):\n\n${foldedText}`,
22
+ ...(signal ? { signal } : {}),
23
+ });
24
+ return res.text.trim();
25
+ }
26
+ //# sourceMappingURL=arc-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arc-summary.js","sourceRoot":"","sources":["../../../../src/llm/tasks/ingest/arc-summary.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,wEAAwE;AACxE,gFAAgF;AAIhF,MAAM,CAAC,MAAM,kBAAkB,GAC7B,yFAAyF;IACzF,oEAAoE;IACpE,OAAO;IACP,+CAA+C;IAC/C,kDAAkD;IAClD,mCAAmC;IACnC,0BAA0B,CAAC;AAE7B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAyB,EACzB,KAAa,EACb,UAAkB,EAClB,MAAoB;IAEpB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,oBAAoB,EAAE;QAC5D,MAAM,EAAE,kBAAkB;QAC1B,IAAI,EAAE,OAAO,KAAK,8CAA8C,UAAU,EAAE;QAC5E,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC"}
@@ -7,31 +7,34 @@
7
7
  import { parseUpdateMarkdown } from "../../../domain/ingest/asset-state-md-parser.js";
8
8
  export const EPISODE_ASSETS_SYSTEM = [
9
9
  "你是剧本资产/造型标注器。前段只给了正文(场景、台词、动作),**没有任何现成的人物/道具/造型清单**——资产与造型全部由你从正文里逐集发现、逐集维护。",
10
- "结合【已知设定】(到目前为止你已建立的登记)与【本集正文】,输出一份 `# 更新` markdown:不要代码围栏,前后无多余文字,空小节整节省略。",
10
+ "结合【已知设定】(到目前为止你已建立的登记)与【本段正文】,输出一份 `# 更新` markdown:不要代码围栏,前后无多余文字,空小节整节省略。",
11
+ "**【本段正文】可能包含若干集**(每集以 `# ep_NNN` 开头);把它们当作连续推进的一段整体处理,跨集沿用同一 canonical 名字,`# 更新` 覆盖这一整段里的所有场景。",
11
12
  "始终使用【已知设定】里的既有 canonical 名字;同一个人全剧保持同一名字。",
12
13
  "",
13
- "## 新增 本集**首次出现**、且【已知设定】里还没有的实体,每行 `- <类型> <名字> | <重要度> | <简介>`:",
14
+ "## 新增 本段**首次出现**、且【已知设定】里还没有的实体,每行 `- <类型> <名字> | <重要度> | <简介>`:",
14
15
  " 类型=人物/场景/道具;重要度=featured(值得单独出图:有名有戏的人物、反复出现的关键场景/道具)|background(龙套/背景/一次性);简介=一句话是谁/是什么。",
16
+ " **凡在【本段正文】里出现的实体都要登记并给非空简介**——包括场景在场的人物/地点/道具,以及背景龙套(背景也至少给一句最简描述,别留空)。",
17
+ " **简介优先照抄/概括原文自带的描写**(角色卡、场景说明、动作里的外貌服饰刻画);原文没写才结合剧情补一句。",
15
18
  " 群体名或复合名一律 background(轿夫4名、众人、丫鬟们、李叔和张妈)。推动剧情的关键物件即使只出现一两次也 featured(婚书、密信、玉佩、毒药)。已登记的不要重复新增。",
16
19
  " 人物名字**尽量用最完整的姓名**(带姓,如『苏若雪』而非『若雪』、『顾夜渊』而非『夜渊』)。",
17
20
  "## 合并 本集发现某名字其实是某已知实体(化名/别称/先前只用了短名或未点名):`- 本集名字 -> 已知canonical`。方向随意——系统会自动用更完整的姓名做 canonical。",
18
- "## 造型 featured 人物的**视觉扮相**,每种一行 `- 实体 | 造型名(=同义) | 描述`:",
19
- " **每个 featured 人物首次出现时,先给一条『常态』基础造型**(TA 平时/最常见的样子,如『常态』),作为默认外观;之后再给特殊换装。",
20
- " 造型名=需要美术单独画一张造型图的服装/发型/整体外观(常态、婚服、西装、龙形、素缟孝服);同一扮相不同叫法用 `=` 合并(婚服=大红嫁衣)。",
21
- " 描述=这套扮相长什么样的一句话(服饰、颜色、发型、关键配饰),如『大红喜服,凤冠霞帔,金线云纹』。",
22
- " **绝不写心情/身体状况/胖瘦**:满脸泪痕、愤怒、雍容华贵、虚弱濒死、白嫩圆润、消耗福气、受伤、昏迷、消瘦、站立、坐轮椅——这些不是造型。判据:换成它,美术要不要另画一张扮相图。",
23
- "## 场景 本集**每一个**场景谁在场、在哪、什么造型,每场一行:`- <场景id> | 地点:<场景名> | 人物:张三(婚服),李四 | 道具:婚戒`",
24
- " 场景id 用正文里给的(如 scn_012);地点/人物/道具都用 canonical 名;造型写在人物名后的括号里(没换装/沿用上场造型可不写)。凡正文里出现的场景都要有一行。",
21
+ "## 造型 **featured 人物 / 场景 / 道具**的**视觉外观**,每种一行 `- 实体 | 造型名(=同义) | 描述`:",
22
+ " **每个 featured 实体首次出现时,先给一条『常态』基础造型**(它平时/最常见的样子)作为默认外观;之后再给特殊变化。人物=整体扮相;场景=环境外观(布景、光线、氛围);道具=物件外观。",
23
+ " 造型名=需要美术单独画一张图的外观档位(常态、婚服、西装、龙形、素缟孝服;场景的 白天/夜晚/被毁;道具的 破损/发光);同一外观不同叫法用 `=` 合并(婚服=大红嫁衣)。",
24
+ " 描述=这套外观长什么样的一句话(**优先用原文描写**:服饰/颜色/发型/配饰,或场景布景/道具形制),如『大红喜服,凤冠霞帔,金线云纹』。**常态描述不能留空。**",
25
+ " **绝不写心情/身体状况/胖瘦**:满脸泪痕、愤怒、雍容华贵、虚弱濒死、白嫩圆润、消耗福气、受伤、昏迷、消瘦、站立、坐轮椅——这些不是造型。判据:换成它,美术要不要另画一张图。",
26
+ "## 场景 本段正文里**每一个**场景谁在场、在哪、什么造型,每场一行:`- <场景id> | 地点:<场景名> | 人物:张三(婚服),李四 | 道具:婚戒`",
27
+ " 场景id 用正文里给的(如 scn_012);地点/人物/道具都用 canonical 名;造型写在人物名后的括号里(没换装/沿用上场造型可不写)。**凡正文里出现的场景(跨这一段的所有集)都要有一行。**",
25
28
  "## 重要度 需要修订某个已登记实体的重要度时:`- 名字: featured` 或 `- 名字: background`",
26
- "## 子事件 本集关键剧情原子,每条一句话(维护剧情理解与压缩)",
27
- "## 梗概 本集一句话梗概(散文,不加 `-`)",
29
+ "## 子事件 本段关键剧情原子,每条一句话(维护剧情理解与压缩)",
30
+ "## 梗概 本段一句话梗概(散文,不加 `-`);若本段含多集,概括为整段一句话。",
28
31
  ].join("\n");
29
32
  export function buildEpisodeAssetsUser(contextMd, bodyMd) {
30
33
  return [
31
- "【已知设定】(截至上一集你已建立的登记;本集为开篇时为空)",
32
- contextMd.trim() || "(空,从本集开始建立)",
34
+ "【已知设定】(截至上一段你已建立的登记;开篇时为空)",
35
+ contextMd.trim() || "(空,从这一段开始建立)",
33
36
  "",
34
- "【本集正文】",
37
+ "【本段正文】(可能含多集,每集以 `# ep_NNN` 开头)",
35
38
  bodyMd.trim(),
36
39
  ].join("\n");
37
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"episode-assets.js","sourceRoot":"","sources":["../../../../src/llm/tasks/ingest/episode-assets.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,kFAAkF;AAClF,kFAAkF;AAClF,8EAA8E;AAC9E,0EAA0E;AAC1E,6EAA6E;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAItF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,+EAA+E;IAC/E,4EAA4E;IAC5E,2CAA2C;IAC3C,EAAE;IACF,oEAAoE;IACpE,qGAAqG;IACrG,wGAAwG;IACxG,2DAA2D;IAC3D,mGAAmG;IACnG,6DAA6D;IAC7D,qFAAqF;IACrF,oFAAoF;IACpF,6DAA6D;IAC7D,sGAAsG;IACtG,kFAAkF;IAClF,qGAAqG;IACrG,+DAA+D;IAC/D,kCAAkC;IAClC,4BAA4B;CAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,MAAc;IACtE,OAAO;QACL,+BAA+B;QAC/B,SAAS,CAAC,IAAI,EAAE,IAAI,aAAa;QACjC,EAAE;QACF,QAAQ;QACR,MAAM,CAAC,IAAI,EAAE;KACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAyB,EAAE,SAAiB,EAAE,MAAc,EAAE,MAAoB;IACvH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,uBAAuB,EAAE;QACpE,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"episode-assets.js","sourceRoot":"","sources":["../../../../src/llm/tasks/ingest/episode-assets.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,kFAAkF;AAClF,kFAAkF;AAClF,8EAA8E;AAC9E,0EAA0E;AAC1E,6EAA6E;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAItF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,+EAA+E;IAC/E,4EAA4E;IAC5E,gGAAgG;IAChG,2CAA2C;IAC3C,EAAE;IACF,oEAAoE;IACpE,qGAAqG;IACrG,mFAAmF;IACnF,mEAAmE;IACnE,wGAAwG;IACxG,2DAA2D;IAC3D,mGAAmG;IACnG,yEAAyE;IACzE,8GAA8G;IAC9G,mGAAmG;IACnG,+FAA+F;IAC/F,oGAAoG;IACpG,qFAAqF;IACrF,mHAAmH;IACnH,+DAA+D;IAC/D,kCAAkC;IAClC,6CAA6C;CAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,MAAc;IACtE,OAAO;QACL,4BAA4B;QAC5B,SAAS,CAAC,IAAI,EAAE,IAAI,cAAc;QAClC,EAAE;QACF,iCAAiC;QACjC,MAAM,CAAC,IAAI,EAAE;KACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAyB,EAAE,SAAiB,EAAE,MAAc,EAAE,MAAoB;IACvH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,uBAAuB,EAAE;QACpE,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AAChF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export type LlmProtocol = "anthropic" | "openai-compatible" | "google-gemini";
2
- export type LlmTaskId = "direct.episode-titles" | "direct.batch-extract" | "direct.episode-synopsis" | "direct.synopsis-reduction" | "direct.script-synopsis" | "direct.asset-grouping" | "direct.asset-curation" | "direct.asset-curation-audit" | "direct.location-canonicalization" | "direct.state-curation" | "direct.state-binding" | "metadata.global" | "metadata.descriptions" | "synopsis.chunk" | "synopsis.episode" | "synopsis.arc" | "synopsis.script-overview" | "ingest.body-start" | "ingest.text-normalize" | "ingest.episode-assets" | "ingest.mention-resolve" | "ingest.asset-extract" | "ingest.asset-curate" | "ingest.asset-recall" | "ingest.asset-refine" | "ingest.state-reconcile" | "ingest.speaker-audit" | "ingest.video-transcribe" | "ingest.video-correct" | "ingest.roster-recall" | "ingest.roster-refine" | "ingest.roster-canon" | "ingest.roster-remerge" | "ingest.state-merge";
2
+ export type LlmTaskId = "direct.episode-titles" | "direct.batch-extract" | "direct.episode-synopsis" | "direct.synopsis-reduction" | "direct.script-synopsis" | "direct.asset-grouping" | "direct.asset-curation" | "direct.asset-curation-audit" | "direct.location-canonicalization" | "direct.state-curation" | "direct.state-binding" | "metadata.global" | "metadata.descriptions" | "synopsis.chunk" | "synopsis.episode" | "synopsis.arc" | "synopsis.script-overview" | "ingest.body-start" | "ingest.arc-summary" | "ingest.text-normalize" | "ingest.episode-assets" | "ingest.mention-resolve" | "ingest.asset-extract" | "ingest.asset-curate" | "ingest.asset-recall" | "ingest.asset-refine" | "ingest.state-reconcile" | "ingest.speaker-audit" | "ingest.video-transcribe" | "ingest.video-correct" | "ingest.roster-recall" | "ingest.roster-refine" | "ingest.roster-canon" | "ingest.roster-remerge" | "ingest.state-merge";
3
3
  export type LlmTaskMode = "text" | "tool" | "video";
4
4
  export type JsonSchema = Record<string, unknown>;
5
5
  export interface TextGenerationRequest {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AA4JA,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,IAAI,CAAe;IACnB,SAAS,CAAU;IACnB,OAAO,CAAW;IAE3B,YAAY,IAAkB,EAAE,OAAe,EAAE,UAAuD,EAAE;QACxG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AA6JA,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,IAAI,CAAe;IACnB,SAAS,CAAU;IACnB,OAAO,CAAW;IAE3B,YAAY,IAAkB,EAAE,OAAe,EAAE,UAAuD,EAAE;QACxG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;CACF"}
@@ -20,6 +20,7 @@ import { runTextNormalize, parseNormalizeOutput } from "../../llm/tasks/ingest/t
20
20
  import { detectBodyStart } from "./body-start.js";
21
21
  import { mapSettled } from "./fanout.js";
22
22
  import { runSerialGovern } from "./serial-govern.js";
23
+ import { Timings } from "./timings.js";
23
24
  const PIPELINE_VERSION = "1";
24
25
  const pad = (n) => String(n).padStart(3, "0");
25
26
  const serializeJsonl = (records) => records.map((r) => JSON.stringify(r)).join("\n") + "\n";
@@ -52,6 +53,8 @@ export async function runTextIngest(opts) {
52
53
  const store = new WorkspaceStore(opts.workspacePath);
53
54
  store.ensure();
54
55
  checkLifecycle(store, sourceSha, opts.force ?? false);
56
+ // Accurate per-run timing → workspace/timings.json (view --watch / ingest status).
57
+ const timings = new Timings((t) => store.writeJson("timings.json", t));
55
58
  // pass0: locate where the real screenplay body begins and drop the planning
56
59
  // front matter (大纲/角色卡/宏观结构/一卡集纲) before it. Cheap tool-mode LLM scan,
57
60
  // cached under pass1/ so a rerun skips it; --force wipes pass1 and recomputes.
@@ -64,7 +67,11 @@ export async function runTextIngest(opts) {
64
67
  bodyStart = scan.line;
65
68
  store.writeJson("pass1/body_start.json", scan);
66
69
  }
67
- const bodyText = bodyStart > 0 ? text.split("\n").slice(bodyStart).join("\n") : text;
70
+ const lines0 = text.split("\n");
71
+ const bodyText = bodyStart > 0 ? lines0.slice(bodyStart).join("\n") : text;
72
+ // The stripped front matter (角色卡/设定) — capped — is fed to serial govern as an
73
+ // 原文设定 reference so descriptions can draw on the source's own wording.
74
+ const sourceRef = bodyStart > 0 ? lines0.slice(0, bodyStart).join("\n").trim().slice(0, 6000) : "";
68
75
  // pass1: prepare + chunk (the body only; full source kept for reference).
69
76
  const chunks = chunkSource(bodyText);
70
77
  store.writeText("pass1/source.txt", text);
@@ -78,6 +85,7 @@ export async function runTextIngest(opts) {
78
85
  });
79
86
  // pass2: normalize fanout with per-chunk markdown checkpoint.
80
87
  let reused = 0;
88
+ timings.phaseStart("normalize");
81
89
  const settled = await mapSettled(chunks, opts.concurrency ?? 80, async (chunk) => {
82
90
  const mdRel = `pass2/chunk_${pad(chunk.index)}.md`;
83
91
  if (store.has(mdRel) && !opts.force) {
@@ -103,6 +111,7 @@ export async function runTextIngest(opts) {
103
111
  nextSteps: ["Inspect pass2/chunk_NNN.error.json and rerun `scriptctl ingest` to resume."],
104
112
  });
105
113
  }
114
+ timings.phaseEnd("normalize");
106
115
  // pass3 merge → pass4 mention-resolve → assemble = the name-based BODY (正文).
107
116
  // NO asset extraction / id assignment here — the serial pass discovers assets,
108
117
  // 造型 and per-scene presence itself from the body. Reuse body.json on a rerun so
@@ -141,17 +150,36 @@ export async function runTextIngest(opts) {
141
150
  // persists the full context md (= prompt) and the model's `# 更新` md; resume
142
151
  // replays cached `# 更新` (no LLM). Cleared by --force (serial dir wiped).
143
152
  const pad3 = (n) => String(n).padStart(3, "0");
153
+ // One window (1+ contiguous episodes) per `serial/win_<start>_<end>.md`; the
154
+ // filename range is deterministic (pure packing), so resume replays from cache.
155
+ const winRel = (startEp, endEp) => `serial/win_${pad3(startEp)}_${pad3(endEp)}.md`;
144
156
  const serialCheckpoint = {
145
- readUpdate: (ep) => (store.has(`serial/ep_${pad3(ep)}.md`) ? store.readText(`serial/ep_${pad3(ep)}.md`) : undefined),
146
- writeStep: (ep, contextMd, updateMd) => {
147
- store.writeText(`serial/context_${pad3(ep)}.md`, contextMd);
148
- store.writeText(`serial/ep_${pad3(ep)}.md`, updateMd);
157
+ readUpdate: (startEp, endEp) => (store.has(winRel(startEp, endEp)) ? store.readText(winRel(startEp, endEp)) : undefined),
158
+ writeStep: (startEp, endEp, contextMd, updateMd) => {
159
+ store.writeText(`serial/context_${pad3(startEp)}.md`, contextMd);
160
+ store.writeText(winRel(startEp, endEp), updateMd);
161
+ },
162
+ readArc: (startEp, endEp) => {
163
+ const rel = `serial/arc_${pad3(startEp)}_${pad3(endEp)}.md`;
164
+ return store.has(rel) ? store.readText(rel) : undefined;
165
+ },
166
+ writeArc: (startEp, endEp, summaryMd) => {
167
+ store.writeText(`serial/arc_${pad3(startEp)}_${pad3(endEp)}.md`, summaryMd);
149
168
  },
150
169
  };
151
- const serial = await runSerialGovern(body, { executor: opts.executor, checkpoint: serialCheckpoint, force: opts.force ?? false, ...(opts.signal ? { signal: opts.signal } : {}) });
170
+ timings.phaseStart("serial");
171
+ const serial = await runSerialGovern(body, {
172
+ executor: opts.executor, checkpoint: serialCheckpoint, force: opts.force ?? false,
173
+ ...(sourceRef ? { sourceRef } : {}),
174
+ onWindow: (t) => { if (t.index === 0)
175
+ timings.serialStart(t.total, t.totalEpisodes); timings.windowDone(t.startEp, t.endEp, t.ms, t.cached); },
176
+ ...(opts.signal ? { signal: opts.signal } : {}),
177
+ });
152
178
  const governed = serial.doc;
153
179
  reused += serial.reused;
180
+ timings.phaseEnd("serial");
154
181
  // Final clean numbering: contiguous per-kind asset ids + per-asset state ids.
182
+ timings.phaseStart("govern");
155
183
  const { script: renumbered, idMap } = renumberIds(governed);
156
184
  store.writeJson("id_map.json", idMap);
157
185
  const validation = validateScriptV3(renumbered);
@@ -166,6 +194,8 @@ export async function runTextIngest(opts) {
166
194
  });
167
195
  }
168
196
  store.writeJson("script.json", renumbered);
197
+ timings.phaseEnd("govern");
198
+ timings.finish();
169
199
  const g = renumbered;
170
200
  return {
171
201
  workspacePath: store.root,