@oh-story/dsh 0.1.2 → 0.1.4

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 (99) hide show
  1. package/README.md +5 -3
  2. package/lib/client.js +27 -11
  3. package/lib/client.js.map +2 -2
  4. package/lib/drama/manifest.json +141 -136
  5. package/lib/drama/skills/short-drama/SKILL.md +55 -122
  6. package/lib/drama/skills/short-drama/references/audience-reveal.md +14 -67
  7. package/lib/drama/skills/short-drama/references/contract-and-ownership.md +24 -78
  8. package/lib/drama/skills/short-drama/references/creator-documents.md +79 -0
  9. package/lib/drama/skills/short-drama/references/creator-workflow.md +51 -77
  10. package/lib/drama/skills/short-drama/references/knowhow-index.md +2 -0
  11. package/lib/drama/skills/short-drama/references/look-development.md +2 -3
  12. package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +14 -48
  13. package/lib/drama/skills/short-drama/references/production-form-profiles.md +1 -1
  14. package/lib/drama/skills/short-drama/references/reference-roles.md +29 -135
  15. package/lib/drama/skills/short-drama/references/runtime-preflight.md +13 -19
  16. package/lib/drama/skills/short-drama-assets/SKILL.md +40 -161
  17. package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +18 -25
  18. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +13 -15
  19. package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +11 -14
  20. package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +5 -12
  21. package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +8 -11
  22. package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +2 -2
  23. package/lib/drama/skills/short-drama-assets/references/stage-contract.md +10 -105
  24. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +12 -32
  25. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +41 -155
  26. package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +12 -13
  27. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +10 -12
  28. package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +39 -51
  29. package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +3 -4
  30. package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +15 -14
  31. package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +11 -15
  32. package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +1 -1
  33. package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +4 -7
  34. package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +23 -23
  35. package/lib/drama/skills/short-drama-image-prompts/references/stage-contract.md +6 -65
  36. package/lib/drama/skills/short-drama-produce/SKILL.md +26 -10
  37. package/lib/drama/skills/short-drama-review/SKILL.md +61 -123
  38. package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +10 -15
  39. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +15 -16
  40. package/lib/drama/skills/short-drama-review/references/project-calibration.md +7 -9
  41. package/lib/drama/skills/short-drama-review/references/review-method.md +8 -9
  42. package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +9 -13
  43. package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +104 -4
  44. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +15 -19
  45. package/lib/drama/skills/short-drama-review/references/stage-contract.md +4 -63
  46. package/lib/drama/skills/short-drama-storyboard/SKILL.md +49 -240
  47. package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +9 -34
  48. package/lib/drama/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
  49. package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +5 -10
  50. package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +8 -7
  51. package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +24 -62
  52. package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +16 -25
  53. package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +5 -23
  54. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +8 -10
  55. package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +9 -13
  56. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +11 -71
  57. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +44 -219
  58. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +10 -8
  59. package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +3 -5
  60. package/lib/drama/skills/short-drama-video-prompts/references/generability.md +2 -2
  61. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +13 -23
  62. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +8 -11
  63. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +2 -3
  64. package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +34 -63
  65. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +13 -72
  66. package/lib/drama/skills/short-drama-write/SKILL.md +73 -268
  67. package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +7 -0
  68. package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +17 -43
  69. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +15 -15
  70. package/lib/drama/skills/short-drama-write/references/script-craft.md +208 -21
  71. package/lib/drama/skills/short-drama-write/references/stage-contract.md +11 -70
  72. package/lib/index.js +107 -14
  73. package/lib/index.js.map +4 -4
  74. package/lib/oh-story/manifest.json +26 -26
  75. package/lib/oh-story/roles/character-designer.md +4 -4
  76. package/lib/oh-story/roles/narrative-writer.md +11 -11
  77. package/lib/oh-story/roles/story-architect.md +20 -14
  78. package/lib/oh-story/roles/story-explorer.md +8 -5
  79. package/lib/oh-story/skills/story-import/SKILL.md +5 -1
  80. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +1 -1
  81. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +1 -1
  82. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +1 -1
  83. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +1 -1
  84. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +1 -0
  85. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +11 -5
  86. package/lib/oh-story/skills/story-setup/SKILL.md +12 -9
  87. package/lib/types/client/file-activity.d.ts +5 -0
  88. package/lib/types/client/file-activity.d.ts.map +1 -1
  89. package/lib/types/client/index.d.ts.map +1 -1
  90. package/lib/types/index.d.ts +2 -1
  91. package/lib/types/index.d.ts.map +1 -1
  92. package/lib/types/reference-tool.d.ts +6 -0
  93. package/lib/types/reference-tool.d.ts.map +1 -0
  94. package/lib/types/role-provider.d.ts.map +1 -1
  95. package/lib/types/role-tool.d.ts +3 -1
  96. package/lib/types/role-tool.d.ts.map +1 -1
  97. package/lib/types/skill-provider.d.ts.map +1 -1
  98. package/package.json +3 -2
  99. package/lib/drama/skills/short-drama/references/lifecycle-commands.md +0 -130
@@ -2,34 +2,27 @@
2
2
 
3
3
  ## Binding gate (`AST-05`)
4
4
 
5
- 资产接受前,每个下游 binding 都要解析到已接受的 identity,且 variant
6
- 必须在引用的剧情范围内有效。未解决的 occurrence 继续保持 unresolved;不得
7
- 为了让提示词或分镜继续工作,猜一个看似合理的 ID。
5
+ 资产设定完成前,每个下游引用都要解析到明确的身份条目,且变体必须在引用的剧情范围内有效。
6
+ 未解决的出现项继续保持未决;不得为了让提示词或分镜继续工作,猜一个看似合理的 ID。
8
7
 
9
8
  按“机械事实 → 语义判断 → 创作者接受”顺序检查。Owner 可按 finding 修订;修订动作本身
10
9
  不等于审查 verdict。需要 verdict 时另起一次审查动作,自检也可以如实记录有证据支持的结论。
11
10
 
12
11
  ## A. 机械检查(`structural_invariant`)
13
12
 
14
- - [ ] 每个 production-relevant screenplay block 有 occurrence 或明确
15
- `no_asset_change` disposition。
16
- - [ ] 每个文件首行的 `sources` 声明了它用到的全部上游快照,记录里的 `src` 都能解析到
17
- 其中一条。
18
- - [ ] occurrence 的 `source_ref` 指向 accepted screenplay/index 快照,并给出 field、
19
- block、scene。
20
- - [ ] source pointer、derived visible facts、asset reconciliation、continuity pointer 的
21
- 数据角色没有混写。
22
- - [ ] 每个 occurrence 的 decision 恰为 `reuse` / `new_variant` / `new_asset` /
23
- `unresolved`。
24
- - [ ] `new_variant` 有 base、differences、cause、valid_from、valid_until/open-ended。
13
+ - [ ] 每个制作相关的剧本段都有资产处理结果,或明确说明本段没有资产变化。
14
+ - [ ] 每个结果都指向可见场景 ID,并能从当前 `剧本.md` 找到依据。
15
+ - [ ] 来源位置、剧本明示事实、资产判断与连续性变化没有混写。
16
+ - [ ] 每个出现项恰为复用、新变体、新身份或未决之一。
17
+ - [ ] 新变体写清基底、变化、原因、生效位置与结束位置;没有明确终点时标为持续。
25
18
  - [ ] ID 唯一;所有已接受 binding 精确解析到 Character+Look、Location+View 或
26
19
  Prop+State。
27
- - [ ] unresolved 没有伪造 accepted binding,不能流入 prompt/storyboard 编译。
28
- - [ ] 每条 delta 有 before、after、cause/source、effective range、affected bindings。
20
+ - [ ] 未决项没有伪造成已确认身份,不能流入图片提示词或分镜。
21
+ - [ ] 每条变化有前态、后态、原因/来源、生效范围和受影响的可见 ID。
29
22
  - [ ] linked outgoing/incoming 状态一致,或有明确待处理 reconciliation。
30
23
  - [ ] 可读文字政策完整;`exact_readable` 不与 `no_readable_text` 冲突。
31
24
 
32
- 机械失败指出具体 record/field、owner 和修复方向,不回显整段创作文本。
25
+ 机械失败指出具体文件、标题 ID、owner 和修复方向,不回显整段创作文本。
33
26
 
34
27
  ## B. 语义审查(`reviewed_invariant`)
35
28
 
@@ -45,8 +38,8 @@
45
38
  - [ ] occurrence 的 production disposition 合理:提及不被误当出镜,关键操作物不被
46
39
  降成普通布景。
47
40
 
48
- Reviewer finding 应含被引用记录(`src` 与 `record_id`)、evidence、impact、required fix、
49
- owner、severity、status;不能只说“资产不够细”或“看起来 AI”。
41
+ Reviewer finding 应含文件与标题 ID、证据、影响、修订结果、owner、严重程度和状态;不能只说
42
+ “资产不够细”或“看起来 AI”。
50
43
 
51
44
  ## C. Craft 默认(可覆盖,不单独阻断)
52
45
 
@@ -68,7 +61,7 @@ Creator 可用制作原因覆盖,例如需要逐件审批背景陈设;记录
68
61
 
69
62
  不得仅因 reviewer 偏好另一个选项而判失败。
70
63
 
71
- ## E. Creator acceptance(独立 checkpoint)
64
+ ## E. 创作者确认
72
65
 
73
66
  给创作者看的摘要必须列出:
74
67
 
@@ -77,13 +70,13 @@ Creator 可用制作原因覆盖,例如需要逐件审批背景陈设;记录
77
70
  3. 新 asset 及持久区分证据;
78
71
  4. unresolved 的原文证据、候选和不同选择的下游影响;
79
72
  5. continuity deltas 与跨集 outgoing;
80
- 6. 接受后会 stale 的下游文件。
73
+ 6. 确认后需要同步更新的下游文件。
81
74
 
82
- 逐项保存 `proposed/accepted/rejected/superseded` 与 creator decision ref。Creator acceptance
83
- 不自动代表结构检查、审查 verdict 或 delivery-ready;只在对应动作真实发生时分别记录。
75
+ 把创作者确认的结果直接写进 `视觉设定.md`,未确认选择保留为“未决”并说明影响。创作者确认不等于
76
+ 结构检查通过、审查通过或可以投产;这些动作各自独立发生。
84
77
 
85
78
  ## 当前范围完成判据
86
79
 
87
- 本次范围内结构检查通过、每个 occurrence 已决定、无 unresolved binding、continuity 可交接,
88
- 且 creator 接受了新增/复用/变体/delta,即完成当前资产批次。审查与交付是后续独立动作,
80
+ 本次范围内结构检查通过、每个出现项已决定、没有未决引用、连续性可交接,且创作者已确认需要选择的
81
+ 新增/复用/变体/变化,即完成当前资产批次。审查与交付是后续独立动作,
89
82
  不作为图片提示词或 storyboard 这两个并列分支的隐式前置门槛。
@@ -74,13 +74,12 @@ Character 拥有,换鞋、加厚外套、盘发都不改写它(那些属于
74
74
  音色的载体是参考音频,不是一段文字描述。没有参考时保持 `reference: null` 并标「待选型」,
75
75
  不要用形容词冒充音色身份。参考绑定要写清这次借用它的什么、哪些内容不能跟着来
76
76
  (那条参考里的情绪、录音空间、背景内容永远不进身份),以及证据到了哪一步——
77
- 详见 [声音方向](voice-direction.md)。它同时给出 `设定集/voice-casting.md` 的渲染规则:
78
- 那份文本是已接受声音方向的派生投影,不是第二份权威。
77
+ 详见 [声音方向](voice-direction.md)。声音方向直接写在对应人物的 `视觉设定.md` 条目中,不另建
78
+ 配音表或第二份权威。
79
79
 
80
- 文本绑定只能保证角色、台词、声音方向与引用关系没有被改写,不能保证任何真实合成结果、
81
- 口型或音色复现。引用通过文件首行的 `sources` 绑定本地产物快照,不把网址、外部任务字段或
82
- 服务参数写进 设定集;
83
- 参考音频本身留在 `输入/`,不进 设定集,也不进交付包。
80
+ 文本引用只能保证角色、台词、声音方向与引用关系没有被改写,不能保证任何真实合成结果、
81
+ 口型或音色复现。引用使用 `视觉设定.md` 内的可见 ID,不把网址、外部任务字段或服务参数写进设定;
82
+ 参考音频本身留在 `输入/`,不复制进 `视觉设定.md`,也不进公开交付。
84
83
 
85
84
  **资产阶段不生成音频,也不调用任何语音、合成或克隆服务**。 记录先落进文件、由创作者
86
85
  确认;实际 TTS 交给 `$short-drama-produce`,并须对它展示的本次任务预览明确确认。
@@ -100,9 +99,8 @@ Character 拥有,换鞋、加厚外套、盘发都不改写它(那些属于
100
99
 
101
100
  ## 制作形态与身份锚点的可表达性
102
101
 
103
- 写最小稳定识别集之前,先读 `short-drama.json#/creator_authority/{visual_direction,production_profile}`
104
- 中状态为 `accepted` 的视觉方向与制作形态;`unset` 时向创作者给出选择,不从对话记忆补造。
105
- 本阶段需要从制作形态取得哪些输入,见 [阶段契约](stage-contract.md) 的“制作形态需要什么”。
102
+ 写最小稳定识别集之前,先读 `视觉设定.md` 的“项目视觉方向”和已明确的制作形态;尚未决定且会
103
+ 实质影响识别通道时,向创作者给出选择,不从对话记忆补造。
106
104
 
107
105
  原因很直接:**形态决定观众靠什么通道认人**,因而决定哪些锚点在这个项目里根本可被表达。
108
106
 
@@ -117,7 +115,7 @@ Character 拥有,换鞋、加厚外套、盘发都不改写它(那些属于
117
115
  - **`reviewed_invariant`**:形态可以改变锚点的**表达通道与颗粒度**,不得改写身份事实本身。
118
116
  不能因为“不好画”把五十岁写成二十五岁、把厚重体格写成修长,也不能为了轮廓好看新增
119
117
  疤痕、异色瞳或不存在的配饰。
120
- - 已接受身份在当前形态下找不到可靠表达通道时,记 `creator_decision_needed`:由创作者决定
118
+ - 已确认身份在当前形态下找不到可靠表达通道时,标为“需创作者决定”:由创作者决定
121
119
  换形态还是改身份,资产环节不静默调整。
122
120
  - Look 层同理:形态决定服装层次、材质响应能表达到多细,不决定 Look 由哪些单品组成,也不
123
121
  决定 cause、valid_from、valid_until。
@@ -126,20 +124,20 @@ Character 拥有,换鞋、加厚外套、盘发都不改写它(那些属于
126
124
 
127
125
  ### 模板槽位不得覆盖身份锚点
128
126
 
129
- **`reviewed_invariant`**:模板槽位不得覆盖已接受的身份锚点;当模板默认值与已接受身份冲突时,
127
+ **`reviewed_invariant`**:模板槽位不得覆盖已确认的身份锚点;当模板默认值与当前身份冲突时,
130
128
  **身份优先,模板让位**。
131
129
 
132
- 合成例:角色甲的已接受锚点是五十岁上下、体格厚重、肩背略沉。若角色表模板对每一条记录
130
+ 合成例:角色甲的锚点是五十岁上下、体格厚重、肩背略沉。若角色表模板对每一条记录
133
131
  机械填入“九头身黄金比例、极度修长的双腿”,角色甲的身份就在没有任何创作者决定的情况下被
134
132
  改写;而且因为每个角色都带同一句,下游会把它读成风格统一,不会当成冲突。角色乙即使确实
135
- 修长,也应由自己的接受快照写出,不由模板默认值代写。
133
+ 修长,也应由自己的当前视觉设定写出,不由模板默认值代写。
136
134
 
137
135
  排查方式:把同一批角色记录并排看,找出**逐字重复且与该角色无关**的描述句;不能追溯到某条
138
- 接受快照的,删除或改写成该角色的真实锚点,并在决定预览里说明改动。
136
+ 当前视觉设定的,删除或改写成该角色的真实锚点,并在预览里说明改动。
139
137
 
140
138
  ## 合成例:顾禾
141
139
 
142
- Character `CHAR-GUHE` 的已接受锚点:窄长脸、左眉尾短缺口、自然卷黑发、肩背略前倾。
140
+ Character `CHAR-GUHE` 的当前锚点:窄长脸、左眉尾短缺口、自然卷黑发、肩背略前倾。
143
141
  这些锚点不会因本集换装改变。
144
142
 
145
143
  - `LOOK-GUHE-WORK`:灰绿工作夹克、深色长裤、头发低束;渡站值班期有效。
@@ -36,13 +36,11 @@
36
36
  分镜技能负责每个镜头的开始和结束边界,包括姿态、位置、目光、双手、持物和可见状态。
37
37
  资产可以引用这些边界,但不能另写一套相冲突的手位和走位。
38
38
 
39
- **`structural_invariant` CON-04**: 每条变化记录都要有 `before`、`after`、原因或来源、
40
- 有效范围,以及指向现有使用方的 `affected_binding_refs` 或指向未来使用方的
41
- `affected_binding_locators`。没有变化时不能只写“更新了”。
39
+ **`structural_invariant` CON-04**: 每条变化都要有前态、后态、原因或来源、有效范围,以及受影响的
40
+ 现有 `IMG-...`、`SHOT-...` 或 `MOTION-...`。没有变化时不能只写“更新了”。
42
41
 
43
- **`structural_invariant` CON-06**: `affected_binding_refs` 要覆盖所有已经存在的使用方,
44
- 每条写 `src` 加 `record_id`;尚未建立的使用方在真正发布前写
45
- `affected_binding_locators`:`owner`、项目相对路径、`selector` 和 `status`。
42
+ **`structural_invariant` CON-06**:受影响列表要覆盖所有已经存在的使用方;尚未建立的工作只说明
43
+ 负责 owner 和需要同步的事实,不预建占位记录。
46
44
 
47
45
  ## 需要追踪的五组状态
48
46
 
@@ -60,13 +58,12 @@
60
58
  ## 写变化记录的步骤
61
59
 
62
60
  1. 在资产出现记录中发现明确变化或边界不一致。
63
- 2. 读取上一个状态为 `accepted` 的记录,绝不从下游提示词反推。
61
+ 2. 读取 `视觉设定.md` 中上一处明确状态,绝不从下游提示词反推。
64
62
  3. 写清单一的 `before` 和 `after`;一个复合事件可以拆成多条同因变化。
65
- 4. 在首行 `sources` 声明导致变化的剧本快照,`cause_ref` 写 `src` 加 `record_id` 与需要的
66
- `field`。
63
+ 4. 写明导致变化的场景 ID、动作/对白或视觉设定条目,让原因能在当前五文档中直接核对。
67
64
  5. 声明从哪个剧本段、场次或集开始生效,到何时结束;没有明确终点时写 `open_ended`。
68
- 6. 已经存在的使用方写入 `affected_binding_refs`;尚未生成的镜头或提示词写
69
- `affected_binding_locators`,等它发布后再改成 `src` 引用。
65
+ 6. 已经存在的使用方列出受影响的 `IMG-...`、`SHOT-...` 或 `MOTION-...`;未来工作只说明需要
66
+ 同步,不预建占位引用。
70
67
  7. 与下一处相连的开始状态比较:一致就通过,不一致就明确提出修订。
71
68
 
72
69
  ### “未知”不等于“恢复默认”
@@ -106,10 +103,10 @@ SC004 开始:顾禾穿 `LOOK-GUHE-RAIN`;铁皮匣闭合,号牌在里面;
106
103
 
107
104
  ## 修订影响
108
105
 
109
- - 修改伤势开始的剧本段:列出直接读取该段的造型、提示词、镜头或运动规格;需要刷新时由各 owner 重新发布。
106
+ - 修改伤势开始的剧本段:列出直接读取该段的造型、提示词、镜头或运动提示词;需要刷新时由各 owner 更新。
110
107
  - 只修改道具显示名,ID 和事实不变:通常只更新显示文本,不重做无关分镜。
111
108
  - 修改镜头构图:不自动修改资产文件。
112
- - 修改截图说明或提示词文案:不得反向改写已接受状态。
109
+ - 修改截图说明或提示词文案:不得反向改写当前视觉状态。
113
110
 
114
111
  ## 交接检查
115
112
 
@@ -118,6 +115,6 @@ SC004 开始:顾禾穿 `LOOK-GUHE-RAIN`;铁皮匣闭合,号牌在里面;
118
115
  - 伤势、造型、天气和光线不会无原因复位。
119
116
  - 道具内容状态与人物知情情况分开记录。
120
117
  - 变化的有效范围覆盖所有依赖镜头,而且不会提前生效。
121
- - `affected_binding_refs` 覆盖所有已经存在的提示词、镜头和运动规格使用方;修订时重新
118
+ - 受影响列表覆盖所有已经存在的提示词、镜头和运动提示词使用方;修订时重新
122
119
  计算实际使用方,不只沿用旧清单。
123
120
  - 结束状态足以让下一集继续,不依赖创作者脑内记忆。
@@ -56,9 +56,8 @@
56
56
  一条变化记录可能就够了。
57
57
  - 它能否只写差异,而不篡改基础身份?新版本只写变化,不重写成另一个身份。
58
58
 
59
- 同一 `looks.jsonl` 或 `location-views.jsonl` 内的基础关系,分别写 `base_look_id` 或
60
- `base_view_id`。只有基础记录在另一个文件时才用 `base_ref`,它的 `src` 指向那个文件在
61
- `sources` 中的声明。
59
+ 在 `视觉设定.md` 中把基础身份与当前变体放在同一项目下。变体只写相对基础身份发生的变化;
60
+ 跨文档需要引用时直接使用该项目标题或稳定 `IMG-...` ID,不建立隐藏的来源声明。
62
61
 
63
62
  ### D. 只有持续身份不同才建新资产
64
63
 
@@ -109,20 +108,14 @@
109
108
 
110
109
  ## 决定记录要说明理由
111
110
 
112
- 每条决定至少展示:来源出现记录、候选、选择、稳定证据、差异、原因、有效范围、
113
- 下游影响和创作者接受记录。
111
+ 每条决定至少展示:来源场景、选择、稳定证据、差异、原因、有效范围和下游影响。
114
112
 
115
113
  - `new_asset` 要说明为什么不能复用现有资产。
116
114
  - `new_variant` 要说明基础身份中哪些内容不变。
117
115
  - `reuse` 要说明现有版本怎样覆盖本次事实。
118
116
 
119
- 接受前的字段只能叫 `proposed_binding`。只有 `creator_acceptance.status=accepted`,而且
120
- 对应的设定身份或版本已经发布后,发布事务才能生成 `accepted_binding`。下游只读取
121
- 后者;不能因为一个 ID 看起来正式,就把提案当成已接受记录。
122
-
123
- `creator_acceptance.decision_ref` 必须指向一条创作者决策记录,其 `record_id` 以 `CD-`
124
- 开头——检查器据此判定,不合规会直接拦下发布。指向剧本块或资产记录本身的 `decision_ref`
125
- 把「已接受」绑到了一条从未记录过创作者决策的东西上。决策记录本身由创作者决策环节发布在 `创作者决策/` 下,本阶段只引用它。
117
+ 能从剧本与既有视觉事实直接判断的内容直接写入 `视觉设定.md`;真正存在多个成立选择时,把它标为
118
+ “未决”并列出会改变的下游影响,等创作者选择后再改正文。不要伪造决定 ID、接受状态或额外决策文件。
126
119
 
127
120
  **`reviewed_invariant` AST-04**: 审查者检查身份识别点与临时状态是否混写,不以
128
121
  “资产越少越好”作为评价标准。
@@ -16,10 +16,8 @@
16
16
  它对应哪个资产,可以避免把同一人物的几套衣服拆成几个人,也能避免把两个同称谓的人
17
17
  误并成一人。
18
18
 
19
- **`structural_invariant` AST-01**: 每条出现记录都要指向准确的剧本快照、字段、剧本段 ID
20
- 和场次:文件首行的 `sources` 声明剧本产物,`source_ref` 写
21
- `{"src":"screenplay-index","record_id":"BLK-EP003-SC004-A01"}`。行号只能帮助阅读,
22
- 不能代替稳定来源。
19
+ **`structural_invariant` AST-01**: 每个出现判断都要指向 `剧本.md` 中准确的场景 ID,并用动作、
20
+ 对白或必要短引文说明依据。行号只能帮助阅读,不能代替稳定场景来源。
23
21
 
24
22
  ## 逐段检查,而不是只找名词
25
23
 
@@ -48,17 +46,16 @@
48
46
 
49
47
  | 内容 | 字段用途 | 写法 |
50
48
  |---|---|---|
51
- | 剧本段和场次位置 | `source_ref` | `src` 指向首行声明的剧本快照,加 `record_id` 与需要的 `field`;不复制整段权威文本 |
52
- | 剧本明示的可见事实 | `derived_projection` | 简短摘义,并指回准确字段 |
53
- | 拟绑定的资产 | `derived_annotation` | 只保留提案;资产决定记录反向引用本条出现记录,并拥有最终决定 |
54
- | 连续性变化 | `source_ref` | `src` 指向资产技能负责的变化记录产物,加 `record_id` 与需要的 `field` |
49
+ | 剧本段和场次位置 | 来源 | 场景 ID 加动作/对白标签或必要短引文;不复制整段正文 |
50
+ | 剧本明示的可见事实 | 可见事实 | 简短摘义,并指回同一场景 |
51
+ | 拟绑定的资产 | 资产判断 | 只保留复用、新变体、新身份或未决结论 |
52
+ | 连续性变化 | 状态变化 | 指向 `视觉设定.md` 中对应身份与前后状态 |
55
53
 
56
54
  不要把推测伪装成可见事实。可以直接推出的结果也要说明依据,例如“匣盖被推开”可以
57
55
  记为 `open`;“顾禾很内疚”不能只因她低头就升级成资产事实。
58
56
 
59
- 决定尚未创建时写 `decision_locator`:`owner`、项目相对路径、`selector` 和 `status`;
60
- 决定创建后,由决定记录指向出现记录。未来的连续性变化同样先写定位信息。这样不会让两个
61
- 文件互相等待对方先落盘。
57
+ 决定尚未形成时就在对应条目标“未决”,列候选、缺失证据和影响。未来才会发生的连续性变化只写
58
+ “需要同步”的说明,不为尚不存在的文件建立占位记录。
62
59
 
63
60
  ## 称谓、代词和匿名对象
64
61
 
@@ -64,8 +64,8 @@ State 记录可变而需跟踪的事实:
64
64
  文字是剧本事实时,资产环节只保存政策与来源位置,不自行润色。后续提示词不能
65
65
  同时要求 `exact_readable` 和全局 `no_text`。
66
66
 
67
- 若剧情出现网址、号码、合同内容等敏感屏显,必须记录来源、屏显文字声明和创作者的
68
- 交付接受记录;不能把本地引用路径或内部地址带入交付。
67
+ 若剧情出现网址、号码、合同内容等敏感屏显,必须写明来源、准确屏显文字和创作者确认的处理方式;
68
+ 不能把本地引用路径或内部地址带入交付。
69
69
 
70
70
  ## 内容物与知识是两条连续性
71
71
 
@@ -1,105 +1,10 @@
1
- # 资产阶段契约
1
+ # 视觉设定阶段契约
2
2
 
3
- ## 目录
3
+ 本阶段只拥有 `剧集/<EP>/视觉设定.md` 中的人物/造型、地点/视图、道具/状态、声音身份与跨场连续性。
4
+ 它继承剧本事实,不决定镜头瞬态、构图、动作终点或生成提示词。
4
5
 
5
- - [独立运行与项目集成](#独立运行与项目集成)
6
- - [所有权边界](#所有权边界)
7
- - [跨产物引用](#跨产物引用)
8
- - [制作形态需要什么](#制作形态需要什么)
9
- - [本阶段规则](#本阶段规则)
10
-
11
- 本文件是本技能的自包含契约:预检、所有权、形态输入与规则表都在这里,
12
- 不需要读取其他技能的文件。
13
-
14
- ## 独立运行与项目集成
15
-
16
- 本技能可以单独安装并运行;下面几条说明项目工具存在时怎样集成。
17
-
18
- 1. **读取直接输入**:只读取用户明确提供或当前任务实际需要的文件,不批量加载整个项目。
19
- 2. **可选项目集成**:若存在 `short-drama.json` 且 core 项目工具可用,可以运行
20
- `python3 <core>/scripts/project_tool.py status <project>`,使用返回的目录布局和语言设置;
21
- core 不可用时,直接基于已提供输入产出本阶段文件。
22
- 3. **可选发布生命周期**:项目工具可用时,用 `publish` 原子发布并用 `--input <path>`
23
- 声明直接输入;`accept`、`review` 与 `package` 继续承担确认、复核与交付。
24
- 4. **保持职责分离**:创作者确认、内容修订和复核是不同动作;reviewer 提修改要求,负责人改文件。
25
-
26
- ## 所有权边界
27
-
28
- - **本阶段拥有**:人物/地点/道具的身份与变体;资产状态变化记录与场景/单集资产台账;
29
- 出现证据的提取。
30
- - **本阶段继承**:剧本给出的身份、地理与文字政策;故事状态条目是开发/剧本的只读投影。
31
- - **本阶段不越权**:不决定镜头构图与动作终态,不改写剧情事实。台账里的故事状态只带来源
32
- 指针,不构成第二个取值权威。
33
-
34
- ## 跨产物引用
35
-
36
- 引用回答一个问题:**这份产物是从哪些产物做出来的**。
37
-
38
- `sources` 只记录**派生来源**——本文件的内容依赖它、它变了本文件就可能要重做的那些产物。
39
- 同层产物互相指名不是派生:occurrence 可以指向它喂给的 decision,那个 decision 也指回它
40
- 消费的 occurrence,两者都成立,但只有后者是派生。**只有派生关系必须无环**,互相指名不受
41
- 此限。把非派生的指名写进 `sources`,会让派生图出现假环,也会让「上游变了要重做什么」这个
42
- 问题答不准。
43
-
44
- 同一个上游被一个文件反复引用时,在开头声明一次,之后每条引用只写快照键和记录 ID。
45
- 声明本身也占篇幅,所以只被引用一两次的上游直接把 `owner`、`artifact` 写在那条引用里。
46
-
47
- `.jsonl` 的第一行是声明记录:
48
-
49
- ```json
50
- {"record_type":"sources","schema_version":"1.0.0","sources":{"screenplay-index":{"owner":"short-drama-write","artifact":"剧集/EP003/screenplay-index.jsonl"},"characters":{"owner":"short-drama-assets","artifact":"设定集/characters.jsonl"}}}
51
- ```
52
-
53
- `.json` 用顶层 `"sources"` 对象,条目形状相同。
54
-
55
- 条目只有 `owner` 与 `artifact`:**引用指名产物,不携带产物的字节**。产物里不写任何哈希——
56
- 写在引用里的哈希要手工维护,而从来没有任何校验器比对过它。真正在比对字节的只剩生命周期
57
- 状态与交付包校验和,那两处由工具自己维护、会真的重算。
58
-
59
- `sources` 的键短、小写,由产物文件名派生(`characters`、`looks`、`locations`、
60
- `location-views`、`props`、`prop-states`、`occurrences`、`screenplay-index`),在本文件内
61
- 唯一且稳定。
62
-
63
- 引用写成:
64
-
65
- ```json
66
- {"src":"characters","record_id":"CHAR-GUHE"}
67
- ```
68
-
69
- 指向记录中某个字段时加 `field`(JSON pointer);引用方需要区分权威等级时加 `authority`
70
- (`accepted` / `candidate`),它属于这一条引用,不属于来源声明。指向整份产物或产物级字段时
71
- 省略 `record_id`。
72
-
73
- 产物存在不等于它里面有你指的那个东西,所以这两件事分两处判:
74
-
75
- - **同时拿到引用方与被引用文件时,`record_id` 由检查器当场解析**。资产检查器同时读
76
- `characters.jsonl` 与 `looks.jsonl`,所以外观指向不存在的角色会被它直接报出来。
77
- - **跨文件的 `field` pointer 由仓库层的 `tests/test_reference_integrity.py` 判定**,
78
- 它把随发布的模板与一个完整项目里的每条指针都走到底。检查器只拿到命令行给它的那几个
79
- 文件,指向没拿到的文件时它无从解析——这一点此前写成了「都会被检查」。
80
-
81
- ## 制作形态需要什么
82
-
83
- 视觉风格不是贴在提示词前面的标签。创作者已接受的视觉方向与制作形态由项目层决定并传入,
84
- **本技能不加载形态卡,也不自行选择形态**;本节只说明本阶段需要形态回答什么、以及拿到
85
- 答案后投影成哪些字段。
86
-
87
- 形态决定属于 `craft_default`:创作者说明理由即可覆盖。形态不能创造新的
88
- `structural_invariant`,也不能改写身份、地理、持物归属与可读文字政策。审查者不得单凭
89
- 形态偏好阻断交付。
90
-
91
- 不要用“加一句风格前缀”处理形态差异。前缀只改变检索标签;形态改变的是**必须出现和
92
- 可以省略的字段**,只有后者会被执行,也只有后者能被审查。
93
-
94
- 本阶段要向形态决定问四件事:
95
-
96
- - **身份锚点载体**:靠什么让人物跨镜可辨认——轮廓、线条、比例、结构差异还是材质。
97
- - **层级拆分**:身份层、环境层、可动层、效果层各包含什么,同一事实由谁负责。
98
- - **材质与光色**:材料怎样响应光,色彩关系承担什么信息;不罗列质量词。
99
- - **连续性必带项**:本形态下哪些字段必须逐镜传递、哪些可以省。不同形态答案差别很大,
100
- 不要照抄别的形态的必带串。
101
-
102
- 本阶段新增:轮廓、材料、层拆、稳定比例与版本差异。
6
+ 每个判断在同一文档中写成复用、新身份、新变体或真实未决;来源用场景 ID,跨文档消费用可见标题和
7
+ 稳定 ID。不要为身份决定建立 occurrence、decision、ledger 或接受记录。
103
8
 
104
9
  ## 本阶段规则
105
10
 
@@ -107,16 +12,16 @@
107
12
 
108
13
  | ID | Class | Knowledge |
109
14
  |---|---|---|
110
- | AST-01 | structural_invariant | Extract occurrences with a declared source snapshot and block ID before creating or binding an asset. |
15
+ | AST-01 | structural_invariant | Before creating or reusing an asset, point to the scene ID and visible evidence that establishes it. |
111
16
  | AST-02 | reviewed_invariant | Reconcile each occurrence as reuse, new identity, new variant, or unresolved—never guess an ambiguous name/pronoun. |
112
17
  | AST-03 | craft_default | Separate Character/Look, Location/View, and Prop/State. |
113
18
  | AST-04 | reviewed_invariant | Persistent identifying anchors and mutable state are not mixed. |
114
- | AST-05 | structural_invariant | Every downstream binding resolves to an accepted identity and valid variant. |
19
+ | AST-05 | structural_invariant | Every downstream reference resolves to a visible identity item and the stated current variant in `视觉设定.md`. |
115
20
  | AST-06 | craft_default | Track only asset facts needed for recognition, reuse, prompt writing, or continuity. |
116
21
  | AST-07 | reviewed_invariant | Persistent voice identity and pronunciation refs stay separate from scene-level breath, emotion, volume, and delivery state. |
117
22
  | AST-08 | reviewed_invariant | A voice reference binding states what it controls and what it must not; the take's emotion, its recording space, and its background never enter identity. |
118
23
  | AST-09 | reviewed_invariant | A claim about what is audible in a reference requires a creator or rights-holder description, or an authorized listening observation bound to the inspected bytes; otherwise admission stays unverified. |
119
- | AST-10 | structural_invariant | An accepted pronunciation of a proper noun appears in exactly one spelling across the 设定集. |
24
+ | AST-10 | structural_invariant | One accepted pronunciation of a proper noun uses one spelling throughout `视觉设定.md`. |
120
25
  | AST-11 | reviewed_invariant | Characters designed together are not bound to confusable references; each names the audible trait telling it apart from its nearest neighbour, and names that character. |
121
26
  | AST-12 | craft_default | Selection criteria are few, audible and counter-exampled; they judge a candidate reference or a clone result, they do not stand in for one. |
122
27
 
@@ -127,9 +32,9 @@
127
32
  | CON-01 | structural_invariant | Linked end and next start states match or have an explicit owner revision. |
128
33
  | CON-02 | reviewed_invariant | Knowledge, injury, ownership, weather, light, or physical state does not teleport/regress without story cause. |
129
34
  | CON-03 | craft_default | Track downstream-relevant deltas, not the whole 设定集 in every shot. |
130
- | CON-04 | structural_invariant | A delta records before, after, cause/source, effective range, and affected bindings. |
35
+ | CON-04 | structural_invariant | A continuity change states before, after, cause/source scene, effective range, and affected visible IDs. |
131
36
  | CON-05 | taste_option | Declared montage, ellipsis, dream, or subjective imagery may intentionally break ordinary continuity. |
132
- | CON-06 | structural_invariant | A delta's affected refs cover all existing consumers; future consumers remain locators until materialized. |
37
+ | CON-06 | structural_invariant | A continuity change names every existing downstream document it affects; future work is described, not pre-created. |
133
38
 
134
39
  规则分级由高到低:`structural_invariant`(结构缺陷,阻断)、
135
40
  `reviewed_invariant`(需证据判断)、`craft_default`(常用做法,可覆盖)、
@@ -69,7 +69,7 @@
69
69
 
70
70
  ## 绑定不等于听过
71
71
 
72
- `artifact_ref` 只说明绑定了哪条记录,**不能证明有人真的听过这段音频**(`AST-09`)。
72
+ 文件名或可见引用只说明绑定了哪段素材,**不能证明有人真的听过这段音频**(`AST-09`)。
73
73
  每条绑定写清证据到了哪一步:
74
74
 
75
75
  | `admission_status` | 什么情况 | 可以下什么结论 |
@@ -82,9 +82,8 @@
82
82
  参考里有底噪就是有底噪,写「不要底噪」不会让它消失;要么重录、清理、换一条,
83
83
  要么退回参考权利人决策。
84
84
 
85
- 参考音频与授权说明属于创作者输入,放在 `输入/` 下:在文件首行的 `sources` 里按整文件
86
- 声明一次,`artifact_ref` 写 `{"src":"guhe-audition-02"}`——指向整份媒体,不带
87
- `record_id`。**媒体本身不进 设定集,也不进交付包**,只进声明与引用。
85
+ 参考音频与授权说明属于创作者输入,放在 `输入/` 下;`视觉设定.md` 只写项目相对路径、用途、
86
+ 允许控制/不得控制的内容与观察状态。**媒体本身不复制进视觉设定,也不进公开交付**。
88
87
 
89
88
  ## 选型判据
90
89
 
@@ -138,34 +137,15 @@ CHAR-A 与 CHAR-B 最易混:两条参考同为中低音区、语速偏慢。
138
137
  短暂的一场变化不建变体,交给表演。判据和 Look 一样:跨多个场次持续、会重复使用、
139
138
  需要独立参考、或下游必须精确绑定时才升为变体。
140
139
 
141
- ## voice-casting.md 的渲染规则
140
+ ## 写入 `视觉设定.md`
142
141
 
143
- `设定集/voice-casting.md` 是已接受 `voice_direction` 的**派生文本**,交给配音导演、
144
- 选角或克隆操作者使用。它由已接受记录重新生成,是缓存,不是第二份权威——手改它不会改变
145
- 任何身份,下一次渲染就会被覆盖。
142
+ 需要跨集保持声音身份时,在对应人物条目下增加“声音方向”,只保留:
146
143
 
147
- 每个角色一段,固定四块:
144
+ 1. **参考**:项目相对路径、用途、允许借用与不得借用;没有参考时写“待选型”;
145
+ 2. **选型判据**:三到五条可听判据,每条带反例;
146
+ 3. **对比角色**:最容易混淆的是谁,以及靠什么可听差异区分;
147
+ 4. **专名发音**:唯一确认读法;
148
+ 5. **变体**:跨多场持续的伪装、年龄跨度或音色变化,写原因与有效范围。
148
149
 
149
- 1. **参考绑定**:哪条参考、`role`、可借用什么、不可借用什么、`admission_status`;
150
- 没有参考时写「待选型」并列出选型判据;
151
- 2. **选型判据**:三到五条,每条带反例;
152
- 3. **区分说明**:和谁最容易混、用哪条区分;
153
- 4. **专名发音**:已接受的那一份拼法。
154
-
155
- 不写入任何服务商参数、模型名、接口字段、任务 ID 或网址——记录要比任何一次调用活得久。
156
-
157
- **资产阶段不生成音频,也不调用任何语音、合成或克隆服务**。 文本绑定只能保证角色、
158
- 声音方向与引用关系没有被改写;它不能承诺任何真实的合成结果、音色复现或口型同步。
159
- 记录先落进文件、由创作者确认;需要实际 TTS 时再交给 `$short-drama-produce`,由它展示
160
- 精确任务预览并取得本次生产的明确确认。
161
-
162
- 常见失败:
163
-
164
- | 失败 | 症状 | 怎么改 |
165
- |---|---|---|
166
- | 用文字冒充音色 | 没有参考,却写了一整段音色描述当身份 | 保持 `reference: null` 并标「待选型」,判据归判据 |
167
- | 参考的情绪进了身份 | 借用范围里出现「这条里的哽咽」 | 移进 `must_not_control` |
168
- | 录音空间被当成音色 | 身份里写了混响、房间感、话筒距离 | 那属于那次录音,删掉 |
169
- | 声称听过却没听过 | `admission_status` 写着已检查,却没有观察记录 | 退回 `unverified` 并列风险 |
170
- | 两个角色撞声 | 两条参考互换名字也说得通 | 补区分判据;补不出就换参考 |
171
- | 发音两套拼法 | 同一专名在两处不同 | 回到已接受的那一份 |
150
+ 临时情绪、呼吸、重音、音量和空间混响仍由剧本/镜头/视频提示词拥有。声音方向是生产输入,不是
151
+ 合成结果保证;实际 TTS 仍由 `$short-drama-produce` 在精确预览并显式确认后执行。