@lingjingai/scriptctl 0.53.9 → 0.55.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.
Files changed (60) hide show
  1. package/changes/0.54.0.md +17 -0
  2. package/changes/0.55.0.md +22 -0
  3. package/dist/cli/register-workflows.js +6 -0
  4. package/dist/cli/register-workflows.js.map +1 -1
  5. package/dist/domain/ingest/jsonl-parser.js +5 -1
  6. package/dist/domain/ingest/jsonl-parser.js.map +1 -1
  7. package/dist/domain/ingest/serial-context.d.ts +5 -8
  8. package/dist/domain/ingest/serial-context.js +28 -21
  9. package/dist/domain/ingest/serial-context.js.map +1 -1
  10. package/dist/domain/ingest/video-context.d.ts +1 -1
  11. package/dist/domain/ingest/video-context.js +77 -44
  12. package/dist/domain/ingest/video-context.js.map +1 -1
  13. package/dist/domain/ingest/video-serial-md.d.ts +6 -5
  14. package/dist/domain/ingest/video-serial-md.js +7 -7
  15. package/dist/domain/ingest/video-serial-md.js.map +1 -1
  16. package/dist/infra/llm/gemini-upload.d.ts +4 -0
  17. package/dist/infra/llm/gemini-upload.js +54 -15
  18. package/dist/infra/llm/gemini-upload.js.map +1 -1
  19. package/dist/infra/llm/gemini-video-model.d.ts +5 -3
  20. package/dist/infra/llm/gemini-video-model.js +49 -18
  21. package/dist/infra/llm/gemini-video-model.js.map +1 -1
  22. package/dist/llm/composition.d.ts +2 -2
  23. package/dist/llm/config.d.ts +1 -0
  24. package/dist/llm/config.js +7 -3
  25. package/dist/llm/config.js.map +1 -1
  26. package/dist/llm/router.d.ts +11 -7
  27. package/dist/llm/router.js +54 -20
  28. package/dist/llm/router.js.map +1 -1
  29. package/dist/llm/tasks/ingest/episode-assets.js +25 -8
  30. package/dist/llm/tasks/ingest/episode-assets.js.map +1 -1
  31. package/dist/llm/tasks/ingest/name-fix.d.ts +2 -2
  32. package/dist/llm/tasks/ingest/name-fix.js +20 -29
  33. package/dist/llm/tasks/ingest/name-fix.js.map +1 -1
  34. package/dist/llm/tasks/ingest/text-normalize.js +2 -0
  35. package/dist/llm/tasks/ingest/text-normalize.js.map +1 -1
  36. package/dist/llm/tasks/ingest/video-serial.d.ts +2 -2
  37. package/dist/llm/tasks/ingest/video-serial.js +26 -21
  38. package/dist/llm/tasks/ingest/video-serial.js.map +1 -1
  39. package/dist/llm/tasks/schemas.js +33 -21
  40. package/dist/llm/tasks/schemas.js.map +1 -1
  41. package/dist/llm/types.d.ts +31 -5
  42. package/dist/llm/types.js +1 -0
  43. package/dist/llm/types.js.map +1 -1
  44. package/dist/usecases/ingest/command.js +91 -2
  45. package/dist/usecases/ingest/command.js.map +1 -1
  46. package/dist/usecases/ingest/pipeline.js +1 -3
  47. package/dist/usecases/ingest/pipeline.js.map +1 -1
  48. package/dist/usecases/ingest/serial-govern.d.ts +0 -2
  49. package/dist/usecases/ingest/serial-govern.js +61 -41
  50. package/dist/usecases/ingest/serial-govern.js.map +1 -1
  51. package/dist/usecases/ingest/status.d.ts +4 -0
  52. package/dist/usecases/ingest/status.js +39 -4
  53. package/dist/usecases/ingest/status.js.map +1 -1
  54. package/dist/usecases/ingest/video-pipeline.d.ts +9 -1
  55. package/dist/usecases/ingest/video-pipeline.js +73 -13
  56. package/dist/usecases/ingest/video-pipeline.js.map +1 -1
  57. package/package.json +1 -1
  58. package/skills/scriptctl/SKILL.md +1 -1
  59. package/skills/scriptctl/references/ingest-workflow.md +42 -4
  60. package/skills/scriptctl/references/production-writing-standard.md +5 -0
@@ -0,0 +1,17 @@
1
+ # 0.54.0
2
+
3
+ ## Added
4
+ - None.
5
+
6
+ ## Changed
7
+ - None.
8
+
9
+ ## Fixed
10
+ - `scriptctl ingest` now records an explicit default look for every discovered entity, requires name repair to cover every unresolved actor/location, and no longer copies or implicitly creates assets with missing semantics.
11
+ - `scriptctl ingest` normalizer now explicitly requires non-empty body-record content, matching the runtime parser and preventing deterministic empty-content retry loops.
12
+ - Serial ingest now preserves later names for an already-registered look as aliases and canonicalizes look changes, so equivalent look names retain their visual description.
13
+ - `scriptctl ingest` now routes unresolved-name repair through the serial function-calling model, avoiding default-model tool request rejection.
14
+ - `scriptctl ingest` now rejects punctuation-only person speaker names during normalization, so unknown voices are retried as structured non-person speakers instead of becoming ghost assets.
15
+
16
+ ## Breaking
17
+ - Text ingest workspaces now use pipeline version 10; resume older workspaces with `scriptctl ingest --force`.
@@ -0,0 +1,22 @@
1
+ # 0.55.0
2
+
3
+ ## Added
4
+ - `scriptctl ingest --step` processes only the next unfinished video episode and reports `completed`, `remaining`, `complete`, and `next_episode` for external orchestration.
5
+ - `scriptctl ingest` supports `--upload-mode file-api|base64` and runtime Gemini provider overrides for base URL, API key, and model.
6
+
7
+ ## Changed
8
+ - `scriptctl ingest status` keeps a validated partial video script in `incomplete` state until every source episode is complete.
9
+ - `scriptctl ingest` 视频解析按生产行为节拍保留每个新动作、反应、接触、道具结果和空间变化,只去重重复展示的同一节拍,并在单次解析结束前复核全部人声与视频尾段。
10
+ - `scriptctl ingest` 视频解析仅在书面姓名或台词本名提供直接证据时逐步升级人物规范名,历史描述名与简称统一成为同一资产的 aliases。
11
+ - 视频 Action 只描述可见表演和嵌套画面的字面事实;`parenthetical` 仅在确有声音或同时发生的短动作提示时输出。
12
+ - 视频串行上下文只携带最近三集剧情摘要;长期连续性继续由人物 registry 和未闭合线索承载,避免旧剧情无限累积干扰当前集解析。
13
+ - `scriptctl ingest` 视频解析的内置默认模型现在是 `gemini-3.6-flash`。
14
+
15
+ ## Fixed
16
+ - `scriptctl ingest` keeps both phases of Gemini Files API uploads on an explicitly configured provider base URL.
17
+ - `scriptctl ingest` rejects explicitly empty video provider options instead of silently selecting the default provider and fallback chain.
18
+ - Video provider credentials are redacted from transport errors and ingest error sidecars.
19
+ - `scriptctl ingest status` derives completed video episodes from the accepted `context.json` prefix and requires `script.json` to contain the same prefix before reporting finalization complete.
20
+
21
+ ## Breaking
22
+ - 视频 ingest workspace 现在使用 pipeline version 12;version 11 及更早 workspace 需改用新的 `-w` 重新 ingest。
@@ -23,6 +23,12 @@ export function registerWorkflowCommands(program, state, llm) {
23
23
  .option("--llm-config <path>", "LLM configuration file")
24
24
  .option("--concurrency <n>", "Maximum concurrent model calls")
25
25
  .option("--fps <n>", "Video sampling rate")
26
+ .option("--upload-mode <mode>", "Video transport: file-api (default) or base64")
27
+ .option("--provider-base-url <url>", "Gemini-compatible provider service root")
28
+ .option("--provider-api-key <key>", "Provider API key (visible in process arguments; prefer --provider-api-key-env)")
29
+ .option("--provider-api-key-env <name>", "Environment variable containing the provider API key")
30
+ .option("--provider-model <model>", "Gemini-compatible provider model")
31
+ .option("--step", "Process only the next unfinished video episode")
26
32
  .option("--force", "Rebuild completed stages")
27
33
  .addHelpText("after", "\nExample:\n scriptctl ingest --source-path ./draft.md --workspace-path ./workspace\n")
28
34
  .action(dispatch((options) => commandIngest(options, llm), state));
@@ -1 +1 @@
1
- {"version":3,"file":"register-workflows.js","sourceRoot":"","sources":["../../src/cli/register-workflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-workflows.js","sourceRoot":"","sources":["../../src/cli/register-workflows.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,11 @@ function parseSpeaker(v, line) {
75
75
  return ref;
76
76
  }
77
77
  requireKeys(v, ["name", "state"], line);
78
- const ref = { name: str(v, "name", line) };
78
+ const name = str(v, "name", line);
79
+ if (!/[\p{L}\p{N}]/u.test(name)) {
80
+ throw new JsonlParseError("speaker.name must contain a letter or number", line);
81
+ }
82
+ const ref = { name };
79
83
  const state = optStr(v, "state", line);
80
84
  if (state !== undefined)
81
85
  ref.state = state;
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl-parser.js","sourceRoot":"","sources":["../../../src/domain/ingest/jsonl-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonl-parser.js","sourceRoot":"","sources":["../../../src/domain/ingest/jsonl-parser.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,6EAA6E;AAC7E,6DAA6D;AAE7D,OAAO,EAKL,uBAAuB,EACvB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACF;IAAtC,YAAY,OAAe,EAAW,IAAY;QAChD,KAAK,CAAC,QAAQ,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QADE,SAAI,GAAJ,IAAI,CAAQ;IAElD,CAAC;CACF;AAID,SAAS,KAAK,CAAC,CAAU;IACvB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,WAAW,CAAC,GAAQ,EAAE,OAAiB,EAAE,IAAY;IAC5D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,kBAAkB,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,CAAU,EAAE,IAAY;IAC3C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACjE,WAAW,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACxG,MAAM,IAAI,eAAe,CAAC,gDAAgD,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;IACD,IAAK,UAAqB,IAAK,QAAmB;QAAE,MAAM,IAAI,eAAe,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC;IAC5H,OAAO,EAAE,KAAK,EAAE,KAAe,EAAE,UAAU,EAAE,UAAoB,EAAE,QAAQ,EAAE,QAAkB,EAAE,CAAC;AACpG,CAAC;AAED,SAAS,GAAG,CAAC,GAAQ,EAAE,GAAW,EAAE,IAAY;IAC9C,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE;QAAE,MAAM,IAAI,eAAe,CAAC,IAAI,GAAG,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAC9G,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,MAAM,CAAC,GAAQ,EAAE,GAAW,EAAE,IAAY;IACjD,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE;QAAE,MAAM,IAAI,eAAe,CAAC,IAAI,GAAG,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAC9G,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,eAAe,CAAC,CAAU,EAAE,GAAW,EAAE,IAAY;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,IAAI,GAAG,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACpF,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,IAAI,GAAG,2BAA2B,EAAE,IAAI,CAAC,CAAC;QACtF,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAiB,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,CAAU,EAAE,IAAY;IAC5C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,wCAAwC,EAAE,IAAI,CAAC,CAAC;IACzF,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAChB,WAAW,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACpB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAE,uBAA6C,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/F,MAAM,IAAI,eAAe,CAAC,+BAA+B,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACtG,CAAC;QACD,MAAM,GAAG,GAAe,EAAE,IAAI,EAAE,IAAgD,EAAE,CAAC;QACnF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,eAAe,CAAC,8CAA8C,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,GAAG,GAAe,EAAE,IAAI,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,GAAQ,EAAE,IAAY;IACzC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAE,YAAkC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,eAAe,CAAC,4BAA4B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE7C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,eAAe,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;YAC7H,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAkB,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,KAAK,KAAK,SAAS;gBAAG,GAA0B,CAAC,KAAK,GAAG,KAAK,CAAC;YACnE,OAAO,GAAG,CAAC;QACb,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YAClG,MAAM,GAAG,GAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACtD,IAAI,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9C,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;gBAC/H,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACxB,CAAC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;oBAAE,MAAM,IAAI,eAAe,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;gBAC9F,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;gBACtD,MAAM,WAAW,GAAsC,EAAE,CAAC;gBAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACrD,IAAI,KAAK,KAAK,SAAS;oBAAE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACzC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,MAAM,IAAI,eAAe,CACvB,iFAAiF,EACjF,IAAI,CACL,CAAC;oBACJ,CAAC;oBACD,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBACD,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;YAChC,CAAC;YACD,IAAI,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,MAAM,IAAI,eAAe,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;gBACxF,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;gBACnD,MAAM,GAAG,GAA4B,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC/E,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC/C,IAAI,EAAE,KAAK,SAAS;oBAAE,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;YACrB,CAAC;YACD,IAAI,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;gBAAE,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1G,IAAI,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;gBAAE,GAAG,CAAC,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACrG,OAAO,GAA8B,CAAC;QACxC,CAAC;QACD,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAkB,CAAC;QACnD,CAAC;QACD,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAChD,MAAM,GAAG,GAA4B,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACxE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI,OAAO,KAAK,SAAS;gBAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YACjD,OAAO,GAA8B,CAAC;QACxC,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,GAAG,GAA4B,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC/D,IAAI,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;gBACzB,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;oBAC7E,MAAM,IAAI,eAAe,CAAC,4DAA4D,EAAE,IAAI,CAAC,CAAC;gBAChG,CAAC;gBACD,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;YACrB,CAAC;YACD,OAAO,GAA8B,CAAC;QACxC,CAAC;QACD;YACE,MAAM,IAAI,eAAe,CAAC,mBAAmB,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,UAAU,GAAG,CAAC;IACrD,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,GAAG,KAAK,EAAE;YAAE,SAAS;QACzB,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,8BAA8B,EAAE,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QAClG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,14 +1,16 @@
1
- import type { Importance } from "../script/shared/types.js";
2
1
  export interface Look {
3
2
  name: string;
4
3
  aliases: string[];
5
4
  description: string;
6
5
  }
6
+ export interface DefaultLook {
7
+ name: string;
8
+ description: string;
9
+ }
7
10
  export interface RegEntity {
8
11
  kind: "actor" | "location" | "prop";
9
12
  canonical: string;
10
13
  aliases: string[];
11
- importance?: Importance;
12
14
  description: string;
13
15
  looks: Look[];
14
16
  currentLook?: string;
@@ -39,12 +41,6 @@ export interface GlobalContext {
39
41
  lookChanges: Record<string, LookChange[]>;
40
42
  recent: RecentEpisode[];
41
43
  synopsis: SynopsisLine[];
42
- autoCreated: Array<{
43
- canonical: string;
44
- kind: RegEntity["kind"];
45
- from: string;
46
- startEp: number;
47
- }>;
48
44
  }
49
45
  export interface Delta {
50
46
  newEntities: Array<{
@@ -52,6 +48,7 @@ export interface Delta {
52
48
  kind: RegEntity["kind"];
53
49
  description: string;
54
50
  aliases: string[];
51
+ defaultLook: DefaultLook;
55
52
  }>;
56
53
  merges: Array<{
57
54
  from: string;
@@ -2,7 +2,7 @@
2
2
  // only the body (scenes + dialogue/action, speakers by name); it does NOT feed any
3
3
  // pre-extracted assets/states. This module maintains a registry that starts EMPTY
4
4
  // and grows episode by episode: the model, reading one episode's body plus the
5
- // context-so-far, discovers entities (with importance + 造型/looks + descriptions),
5
+ // context-so-far, discovers entities (with 造型/looks + descriptions),
6
6
  // merges identities, and states — per scene — who is present and in which 造型.
7
7
  //
8
8
  // Nothing here is seeded from the jsonl roster. render() shows only what has been
@@ -26,7 +26,7 @@ const stripParen = (s) => {
26
26
  export const recentLabel = (r) => r.startEp === r.endEp ? `第${r.startEp}集` : `第${r.startEp}集–第${r.endEp}集`;
27
27
  export const synopsisLabel = (s) => s.startEp === s.endEp ? `第${s.startEp}集` : `第${s.startEp}集–第${s.endEp}集`;
28
28
  export const emptyDelta = () => ({ newEntities: [], merges: [], looks: [], lookChanges: [], subEvents: [], summary: "" });
29
- export const emptyContext = () => ({ entities: [], lookChanges: {}, recent: [], synopsis: [], autoCreated: [] });
29
+ export const emptyContext = () => ({ entities: [], lookChanges: {}, recent: [], synopsis: [] });
30
30
  export const DEFAULT_COMPACT = { recentEpisodes: 6, synopsisChars: 3500, arcFold: 10 };
31
31
  // Serial windowing: pack contiguous episode bodies up to this token budget and
32
32
  // parse them in ONE call. Context still flows window→window (serial), so a window
@@ -177,7 +177,14 @@ export function applyDelta(ctx, delta, startEp, endEp = startEp) {
177
177
  if (n && norm(n) !== norm(canon) && !ownerOf(ctx, ne.kind, n))
178
178
  aliases.push(n);
179
179
  }
180
- ctx.entities.push({ kind: ne.kind, canonical: canon, aliases: [...new Set(aliases)], description: ne.description, looks: [], lastSeen: endEp });
180
+ ctx.entities.push({
181
+ kind: ne.kind,
182
+ canonical: canon,
183
+ aliases: [...new Set(aliases)],
184
+ description: ne.description,
185
+ looks: [{ name: ne.defaultLook.name, aliases: [], description: ne.defaultLook.description }],
186
+ lastSeen: endEp,
187
+ });
181
188
  continue;
182
189
  }
183
190
  for (const a of ne.aliases) {
@@ -187,6 +194,11 @@ export function applyDelta(ctx, delta, startEp, endEp = startEp) {
187
194
  }
188
195
  if (!dst.description && ne.description)
189
196
  dst.description = ne.description;
197
+ const registeredDefault = dst.looks.find((look) => norm(look.name) === norm(ne.defaultLook.name));
198
+ if (registeredDefault)
199
+ registeredDefault.description = ne.defaultLook.description;
200
+ else
201
+ dst.looks.unshift({ name: ne.defaultLook.name, aliases: [], description: ne.defaultLook.description });
190
202
  promoteCanonical(dst);
191
203
  }
192
204
  // merges: a body 称呼 (`from`) that is NOT yet registered is an alias of `into`.
@@ -196,16 +208,9 @@ export function applyDelta(ctx, delta, startEp, endEp = startEp) {
196
208
  const intoCanon = stripParen(into);
197
209
  if (!intoCanon)
198
210
  continue;
199
- let dst = findEntity(ctx, intoCanon);
200
- if (!dst) {
201
- // The model merged into an entity it never declared (it tends to merge rather
202
- // than newEntity on first sighting). Rather than drop the merge — which would
203
- // leave the entity unregistered forever — the ENGINE creates `into` here. This
204
- // is an implicit creation, so it's recorded in autoCreated for inspection.
205
- dst = { kind: "actor", canonical: intoCanon, aliases: [], description: "", looks: [], lastSeen: endEp };
206
- ctx.entities.push(dst);
207
- ctx.autoCreated.push({ canonical: intoCanon, kind: "actor", from: stripParen(from), startEp });
208
- }
211
+ const dst = findEntity(ctx, intoCanon);
212
+ if (!dst)
213
+ continue;
209
214
  const f = stripParen(from);
210
215
  if (!f || norm(f) === norm(dst.canonical))
211
216
  continue;
@@ -226,9 +231,10 @@ export function applyDelta(ctx, delta, startEp, endEp = startEp) {
226
231
  if (existing) {
227
232
  if (description)
228
233
  existing.description = description;
229
- for (const n of names.slice(1))
230
- if (!existing.aliases.some((a) => norm(a) === norm(n)))
234
+ for (const n of names) {
235
+ if (norm(n) !== norm(existing.name) && !existing.aliases.some((a) => norm(a) === norm(n)))
231
236
  existing.aliases.push(n);
237
+ }
232
238
  }
233
239
  else
234
240
  e.looks.push({ name: canonical, aliases: names.slice(1), description });
@@ -238,13 +244,14 @@ export function applyDelta(ctx, delta, startEp, endEp = startEp) {
238
244
  for (const lc of delta.lookChanges) {
239
245
  const scene = lc.scene.trim();
240
246
  const entity = resolveCanon(ctx, lc.entity);
241
- const look = lc.look.trim();
242
- if (!scene || !entity || !look)
247
+ const rawLook = lc.look.trim();
248
+ if (!scene || !entity || !rawLook)
243
249
  continue;
250
+ const registered = findEntity(ctx, entity);
251
+ const look = registered ? resolveLook(registered, rawLook) : rawLook;
244
252
  (ctx.lookChanges[scene] ??= []).push({ entity, look });
245
- const e = findEntity(ctx, entity);
246
- if (e)
247
- e.currentLook = look;
253
+ if (registered)
254
+ registered.currentLook = look;
248
255
  }
249
256
  // Mark every entity referenced this episode as freshly seen (drives render
250
257
  // detail gating: recent entities render in full, dormant ones fold to one line).
@@ -305,7 +312,7 @@ export const DETAIL_EPISODES = 6;
305
312
  // Render the discovered-so-far context as md — BOTH the prompt and the per-step
306
313
  // trace. Empty at episode 1. When `currentEpisode` is given, only entities seen
307
314
  // within DETAIL_EPISODES render in full (简介 + 造型 + 描述); dormant ones fold to a
308
- // one-line stub (name + aliases + importance) so identity is still recognizable
315
+ // one-line stub (name + aliases + current look) so identity is still recognizable
309
316
  // on their return without bloating the input.
310
317
  export function render(ctx, currentEpisode) {
311
318
  const detailed = (e) => currentEpisode === undefined || e.lastSeen >= currentEpisode - DETAIL_EPISODES;
@@ -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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"}
@@ -2,6 +2,7 @@ import type { SerialOutput } from "./video-serial-md.js";
2
2
  import type { VideoEpisodeDoc } from "./video-records.js";
3
3
  export type EntityKind = "actor" | "location" | "prop";
4
4
  export interface RegistryEntity {
5
+ identitySeed: string;
5
6
  name: string;
6
7
  kind: EntityKind;
7
8
  status: "canonical" | "provisional";
@@ -13,7 +14,6 @@ export interface RegistryEntity {
13
14
  states: string[];
14
15
  firstEpisode: number;
15
16
  lastEpisode: number;
16
- resolvesTo?: string;
17
17
  }
18
18
  export interface EpisodeDigest {
19
19
  episode: number;
@@ -4,15 +4,21 @@
4
4
  // known outfit states) plus a compacting plot digest and open story threads.
5
5
  // renderContext() serializes it into the markdown block fed back into the next
6
6
  // episode's parse so the model resolves identity by plot — not by re-matching
7
- // faces in isolation. Provisional identities carry an anchor until a later,
8
- // better-informed episode reveals who they are (resolve → resolvesTo), which the
9
- // deterministic finalize sweep (buildAliasMap → renameDocs) folds into real ids.
7
+ // faces in isolation. identitySeed stays fixed while direct naming evidence may
8
+ // upgrade the current canonical name; previous names accumulate as aliases for
9
+ // the deterministic finalize sweep (buildAliasMap → renameDocs).
10
10
  import { isCrowdName } from "./serial-context.js";
11
11
  export function emptyContext() {
12
12
  return { lastEpisode: 0, registry: [], digests: [], openThreads: [] };
13
13
  }
14
14
  const norm = (s) => s.normalize("NFC").replace(/\s+/g, " ").trim();
15
15
  const clip = (s, n) => (s.length > n ? `${s.slice(0, n)}…` : s);
16
+ function findRegistryEntity(registry, name) {
17
+ const key = norm(name);
18
+ return registry.find((entity) => norm(entity.name) === key
19
+ || norm(entity.identitySeed) === key
20
+ || entity.aliases.some((alias) => norm(alias) === key));
21
+ }
16
22
  const RECENT_N = 3; // recent episodes kept with full synopsis
17
23
  const CHAR_BUDGET = 12000; // renderContext output ceiling; shrink the window to fit
18
24
  function pushUniq(arr, v) {
@@ -47,7 +53,7 @@ function enrichEntity(e, d, episode, overwrite = false) {
47
53
  // Fold one episode's serial output into the context. Mutates and returns ctx
48
54
  // (called once per episode in the serial loop).
49
55
  export function applyDelta(ctx, out, episode) {
50
- const find = (name) => ctx.registry.find((e) => norm(e.name) === norm(name));
56
+ const find = (name) => findRegistryEntity(ctx.registry, name);
51
57
  for (const ne of out.registry_delta.new_entities) {
52
58
  const name = ne.name.trim();
53
59
  if (!name)
@@ -66,6 +72,7 @@ export function applyDelta(ctx, out, episode) {
66
72
  for (const a of ne.aliases ?? [])
67
73
  pushUniq(aliases, a);
68
74
  ctx.registry.push({
75
+ identitySeed: name,
69
76
  name,
70
77
  kind: ne.kind,
71
78
  status: ne.status,
@@ -86,11 +93,50 @@ export function applyDelta(ctx, out, episode) {
86
93
  continue;
87
94
  enrichEntity(e, en, episode, true);
88
95
  }
89
- for (const rs of out.registry_delta.resolve) {
90
- const e = find(rs.provisional_name);
91
- const to = rs.canonical_name.trim();
92
- if (e && to && norm(to) !== norm(e.name))
93
- e.resolvesTo = to;
96
+ for (const change of out.registry_delta.canonicalize) {
97
+ const source = find(change.from_name);
98
+ const canonicalName = change.canonical_name.trim();
99
+ if (!source || !canonicalName || norm(canonicalName) === norm(source.name))
100
+ continue;
101
+ const target = find(canonicalName);
102
+ if (target && target !== source) {
103
+ // Preserve the identity that entered the story first; on a tie, prefer the
104
+ // already-canonical target. Display metadata comes from the named target,
105
+ // while lists and appearance history are combined without loss.
106
+ const stable = source.firstEpisode < target.firstEpisode ? source : target;
107
+ const other = stable === source ? target : source;
108
+ const stableStates = [...stable.states];
109
+ const aliases = new Set([
110
+ ...source.aliases,
111
+ ...target.aliases,
112
+ source.identitySeed,
113
+ target.identitySeed,
114
+ source.name,
115
+ target.name,
116
+ change.from_name,
117
+ ].map((name) => name.trim()).filter(Boolean));
118
+ stable.name = canonicalName;
119
+ stable.status = "canonical";
120
+ stable.importance = source.importance === "featured" || target.importance === "featured" ? "featured" : "background";
121
+ stable.anchor = target.anchor || source.anchor;
122
+ if (target.appearance || source.appearance)
123
+ stable.appearance = target.appearance || source.appearance;
124
+ stable.role = target.role || source.role;
125
+ stable.states = [];
126
+ for (const state of [...stableStates, ...other.states])
127
+ pushUniq(stable.states, state);
128
+ stable.aliases = [...aliases].filter((alias) => norm(alias) !== norm(canonicalName));
129
+ stable.firstEpisode = Math.min(source.firstEpisode, target.firstEpisode);
130
+ stable.lastEpisode = Math.max(source.lastEpisode, target.lastEpisode, episode);
131
+ ctx.registry.splice(ctx.registry.indexOf(other), 1);
132
+ continue;
133
+ }
134
+ pushUniq(source.aliases, source.name);
135
+ pushUniq(source.aliases, change.from_name);
136
+ source.name = canonicalName;
137
+ source.status = "canonical";
138
+ source.aliases = source.aliases.filter((alias) => norm(alias) !== norm(canonicalName));
139
+ source.lastEpisode = episode;
94
140
  }
95
141
  let seq = 0;
96
142
  for (const op of out.open_threads.opened) {
@@ -124,7 +170,7 @@ function renderActor(e, hard) {
124
170
  L.push(`- 已知造型: ${e.states.join(" / ")}`);
125
171
  L.push(`- 出现: ep ${e.firstEpisode}–${e.lastEpisode}`);
126
172
  if (e.status === "provisional")
127
- L.push(`- 身份未确认:本集若看清他是谁,用 resolve 回填 {provisional_name:"${e.name}", canonical_name:"真名"}`);
173
+ L.push(`- 身份未确认:本集若出现书面姓名或台词本名,用 canonicalize 从「${e.name}」升级规范名`);
128
174
  return L;
129
175
  }
130
176
  function renderAsset(e, hard) {
@@ -151,11 +197,11 @@ function render(ctx, recentN, hard) {
151
197
  L.push(renderAsset(e, hard));
152
198
  L.push("");
153
199
  }
154
- if (ctx.digests.length) {
200
+ const recentDigests = ctx.digests.filter((digest) => digest.episode > ctx.lastEpisode - recentN);
201
+ if (recentDigests.length) {
155
202
  L.push("## 剧情进展", "");
156
- for (const d of [...ctx.digests].sort((a, b) => a.episode - b.episode)) {
157
- const detailed = d.episode > ctx.lastEpisode - recentN;
158
- L.push(detailed ? `第${d.episode}集:${d.synopsis}` : `第${d.episode}集:${clip(d.synopsis, hard ? 40 : 80)}`);
203
+ for (const d of [...recentDigests].sort((a, b) => a.episode - b.episode)) {
204
+ L.push(`第${d.episode}集:${hard ? clip(d.synopsis, 40) : d.synopsis}`);
159
205
  }
160
206
  L.push("");
161
207
  }
@@ -168,8 +214,9 @@ function render(ctx, recentN, hard) {
168
214
  return L.join("\n");
169
215
  }
170
216
  // Serialize the context for the next episode's prompt. Registry + open threads
171
- // are load-bearing identity anchors and are NEVER compacted; only the plot
172
- // digest window shrinks to fit CHAR_BUDGET (recent N full, older one-lined).
217
+ // are load-bearing identity anchors and are NEVER compacted. Plot history is a
218
+ // rolling window: older resolved events would otherwise grow without bound and
219
+ // compete with the current episode's audio/visual evidence.
173
220
  export function renderContext(ctx) {
174
221
  for (let n = RECENT_N; n >= 1; n--) {
175
222
  const out = render(ctx, n, false);
@@ -178,34 +225,23 @@ export function renderContext(ctx) {
178
225
  }
179
226
  return render(ctx, 1, true); // n==1 still over budget → hard-trim digests/appearance
180
227
  }
181
- // ===== provisional → real name backfill (finalize) =====
182
- // Flatten resolve chains (湿发男→A→江总→江文博 ⇒ 湿发男→江文博) into a one-hop
183
- // alias map. Mirrors video-pass3 resolveFinal's transitive closure.
228
+ // ===== historical surface name → current canonical name (finalize) =====
184
229
  export function buildAliasMap(registry) {
185
- const direct = new Map();
186
- for (const e of registry)
187
- if (e.resolvesTo && norm(e.resolvesTo) !== norm(e.name))
188
- direct.set(e.name, e.resolvesTo);
189
- const resolve = (n, seen = new Set()) => {
190
- if (!direct.has(n) || seen.has(n))
191
- return n;
192
- seen.add(n);
193
- return resolve(direct.get(n), seen);
194
- };
195
- const flat = new Map();
196
- for (const k of direct.keys()) {
197
- const v = resolve(k);
198
- if (v !== k)
199
- flat.set(k, v);
230
+ const aliases = new Map();
231
+ for (const entity of registry) {
232
+ for (const surface of [entity.identitySeed, ...entity.aliases]) {
233
+ if (norm(surface) !== norm(entity.name))
234
+ aliases.set(surface, entity.name);
235
+ }
200
236
  }
201
- return flat;
237
+ return aliases;
202
238
  }
203
239
  // The video path bypasses runGovern (which used to inject importance + aliases),
204
240
  // so stamp both deterministically from the registry before governDeterministic.
205
241
  // Importance: unmatched assets default to "featured" (never silently hidden),
206
- // matching apply-plan. Aliases: registry surface names + resolved provisional
207
- // descriptors are folded onto the canonical asset (renameDocs collapsed them to
208
- // one name, so assignProvisionalIds saw no aliases).
242
+ // matching apply-plan. Historical names from identitySeed + aliases are folded
243
+ // onto the canonical asset (renameDocs collapsed them to one name, so
244
+ // assignProvisionalIds saw no aliases).
209
245
  export function stampImportance(script, registry) {
210
246
  const imp = new Map();
211
247
  const surfaceFor = new Map(); // canonical norm name → surface aliases
@@ -218,16 +254,13 @@ export function stampImportance(script, registry) {
218
254
  surfaceFor.set(k, new Set());
219
255
  surfaceFor.get(k).add(a);
220
256
  };
221
- const flat = buildAliasMap(registry); // provisional name → resolved real name
222
257
  for (const e of registry) {
223
258
  imp.set(norm(e.name), e.importance);
224
259
  for (const a of e.aliases)
225
260
  imp.set(norm(a), e.importance);
226
- const canon = flat.get(e.name) ?? e.name;
227
- for (const a of e.aliases)
228
- addSurface(canon, a);
229
- if (e.resolvesTo)
230
- addSurface(canon, e.name); // provisional descriptor → alias of the real one
261
+ imp.set(norm(e.identitySeed), e.importance);
262
+ for (const alias of new Set([e.identitySeed, ...e.aliases]))
263
+ addSurface(e.name, alias);
231
264
  }
232
265
  const stamp = (list, nameKey) => {
233
266
  for (const a of list ?? []) {