@oh-story/dsh 0.1.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 (488) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/cordis.patch.yml +3 -0
  4. package/lib/client.js +1201 -0
  5. package/lib/client.js.map +7 -0
  6. package/lib/drama/LICENSE.upstream +21 -0
  7. package/lib/drama/manifest.json +1012 -0
  8. package/lib/drama/skills/short-drama/SKILL.md +153 -0
  9. package/lib/drama/skills/short-drama/agents/openai.yaml +4 -0
  10. package/lib/drama/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
  11. package/lib/drama/skills/short-drama/assets/production-observation.example.jsonl +2 -0
  12. package/lib/drama/skills/short-drama/assets/project-template/short-drama.json +36 -0
  13. package/lib/drama/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
  14. package/lib/drama/skills/short-drama/references/audience-reveal.md +74 -0
  15. package/lib/drama/skills/short-drama/references/contract-and-ownership.md +94 -0
  16. package/lib/drama/skills/short-drama/references/creator-workflow.md +82 -0
  17. package/lib/drama/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +73 -0
  18. package/lib/drama/skills/short-drama/references/form-cards//344/272/214/347/273/264/345/212/250/346/200/201/346/274/253.md +74 -0
  19. package/lib/drama/skills/short-drama/references/form-cards//345/233/275/346/274/253/344/272/214/346/254/241/345/205/203.md +79 -0
  20. package/lib/drama/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
  21. package/lib/drama/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +85 -0
  22. package/lib/drama/skills/short-drama/references/form-cards//351/243/216/346/240/274/345/214/226/344/270/211/347/273/264.md +72 -0
  23. package/lib/drama/skills/short-drama/references/knowhow-index.md +80 -0
  24. package/lib/drama/skills/short-drama/references/lifecycle-commands.md +130 -0
  25. package/lib/drama/skills/short-drama/references/look-development.md +52 -0
  26. package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +58 -0
  27. package/lib/drama/skills/short-drama/references/production-form-profiles.md +126 -0
  28. package/lib/drama/skills/short-drama/references/reference-roles.md +142 -0
  29. package/lib/drama/skills/short-drama/references/runtime-preflight.md +27 -0
  30. package/lib/drama/skills/short-drama/scripts/project_tool.py +1963 -0
  31. package/lib/drama/skills/short-drama/scripts/selftest.py +287 -0
  32. package/lib/drama/skills/short-drama-assets/SKILL.md +187 -0
  33. package/lib/drama/skills/short-drama-assets/agents/openai.yaml +4 -0
  34. package/lib/drama/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
  35. package/lib/drama/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
  36. package/lib/drama/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
  37. package/lib/drama/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
  38. package/lib/drama/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
  39. package/lib/drama/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
  40. package/lib/drama/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
  41. package/lib/drama/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
  42. package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +89 -0
  43. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +164 -0
  44. package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +123 -0
  45. package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +146 -0
  46. package/lib/drama/skills/short-drama-assets/references/location-and-view.md +84 -0
  47. package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +111 -0
  48. package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +107 -0
  49. package/lib/drama/skills/short-drama-assets/references/stage-contract.md +136 -0
  50. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +171 -0
  51. package/lib/drama/skills/short-drama-assets/scripts/asset_check.py +267 -0
  52. package/lib/drama/skills/short-drama-assets/scripts/selftest.py +89 -0
  53. package/lib/drama/skills/short-drama-develop/SKILL.md +157 -0
  54. package/lib/drama/skills/short-drama-develop/agents/openai.yaml +4 -0
  55. package/lib/drama/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
  56. package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +120 -0
  57. package/lib/drama/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
  58. package/lib/drama/skills/short-drama-develop/assets/story-engine.md +181 -0
  59. package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +219 -0
  60. package/lib/drama/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
  61. package/lib/drama/skills/short-drama-develop/references/director-brief-craft.md +113 -0
  62. package/lib/drama/skills/short-drama-develop/references/episode-design.md +509 -0
  63. package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
  64. package/lib/drama/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +112 -0
  65. package/lib/drama/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +51 -0
  66. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +51 -0
  67. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +51 -0
  68. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +51 -0
  69. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +51 -0
  70. package/lib/drama/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +51 -0
  71. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +51 -0
  72. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +109 -0
  73. package/lib/drama/skills/short-drama-develop/references/genre-cards//350/201/214/345/234/272/345/226/234/345/211/247.md +51 -0
  74. package/lib/drama/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +51 -0
  75. package/lib/drama/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +51 -0
  76. package/lib/drama/skills/short-drama-develop/references/genre-cards.md +92 -0
  77. package/lib/drama/skills/short-drama-develop/references/mechanism-loop.md +282 -0
  78. package/lib/drama/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
  79. package/lib/drama/skills/short-drama-develop/references/premise-devices.md +211 -0
  80. package/lib/drama/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
  81. package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
  82. package/lib/drama/skills/short-drama-develop/references/stage-contract.md +88 -0
  83. package/lib/drama/skills/short-drama-develop/references/story-craft.md +359 -0
  84. package/lib/drama/skills/short-drama-develop/scripts/episode_intake.py +699 -0
  85. package/lib/drama/skills/short-drama-develop/scripts/selftest.py +47 -0
  86. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +181 -0
  87. package/lib/drama/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
  88. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
  89. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +37 -0
  90. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
  91. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +31 -0
  92. package/lib/drama/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
  93. package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +154 -0
  94. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +231 -0
  95. package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +122 -0
  96. package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +152 -0
  97. package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +96 -0
  98. package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +38 -0
  99. package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
  100. package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +140 -0
  101. package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
  102. package/lib/drama/skills/short-drama-image-prompts/references/stage-contract.md +89 -0
  103. package/lib/drama/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
  104. package/lib/drama/skills/short-drama-image-prompts/scripts/selftest.py +93 -0
  105. package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +245 -0
  106. package/lib/drama/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
  107. package/lib/drama/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
  108. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
  109. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
  110. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
  111. package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +141 -0
  112. package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
  113. package/lib/drama/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
  114. package/lib/drama/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
  115. package/lib/drama/skills/short-drama-produce/SKILL.md +103 -0
  116. package/lib/drama/skills/short-drama-produce/agents/openai.yaml +4 -0
  117. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +140 -0
  118. package/lib/drama/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
  119. package/lib/drama/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
  120. package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +40 -0
  121. package/lib/drama/skills/short-drama-produce/scripts/fixture_adapter.py +60 -0
  122. package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +1635 -0
  123. package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +964 -0
  124. package/lib/drama/skills/short-drama-produce/scripts/selftest.py +134 -0
  125. package/lib/drama/skills/short-drama-review/SKILL.md +178 -0
  126. package/lib/drama/skills/short-drama-review/agents/openai.yaml +4 -0
  127. package/lib/drama/skills/short-drama-review/assets/finding-template.jsonl +2 -0
  128. package/lib/drama/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
  129. package/lib/drama/skills/short-drama-review/assets/verdict-template.json +32 -0
  130. package/lib/drama/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
  131. package/lib/drama/skills/short-drama-review/examples/minimal-verdict.json +34 -0
  132. package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +114 -0
  133. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +270 -0
  134. package/lib/drama/skills/short-drama-review/references/project-calibration.md +85 -0
  135. package/lib/drama/skills/short-drama-review/references/review-method.md +82 -0
  136. package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +115 -0
  137. package/lib/drama/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
  138. package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +164 -0
  139. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +166 -0
  140. package/lib/drama/skills/short-drama-review/references/stage-contract.md +87 -0
  141. package/lib/drama/skills/short-drama-review/scripts/review_check.py +325 -0
  142. package/lib/drama/skills/short-drama-review/scripts/selftest.py +87 -0
  143. package/lib/drama/skills/short-drama-storyboard/SKILL.md +264 -0
  144. package/lib/drama/skills/short-drama-storyboard/agents/openai.yaml +4 -0
  145. package/lib/drama/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
  146. package/lib/drama/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
  147. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +32 -0
  148. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
  149. package/lib/drama/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
  150. package/lib/drama/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
  151. package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
  152. package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +241 -0
  153. package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +39 -0
  154. package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +169 -0
  155. package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +264 -0
  156. package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +70 -0
  157. package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +39 -0
  158. package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +157 -0
  159. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +192 -0
  160. package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +29 -0
  161. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +110 -0
  162. package/lib/drama/skills/short-drama-storyboard/scripts/selftest.py +191 -0
  163. package/lib/drama/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
  164. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +245 -0
  165. package/lib/drama/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
  166. package/lib/drama/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
  167. package/lib/drama/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
  168. package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +212 -0
  169. package/lib/drama/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
  170. package/lib/drama/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
  171. package/lib/drama/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
  172. package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +46 -0
  173. package/lib/drama/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
  174. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +240 -0
  175. package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +255 -0
  176. package/lib/drama/skills/short-drama-video-prompts/references/generability.md +93 -0
  177. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +304 -0
  178. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +191 -0
  179. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +312 -0
  180. package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +168 -0
  181. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +110 -0
  182. package/lib/drama/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
  183. package/lib/drama/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
  184. package/lib/drama/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
  185. package/lib/drama/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
  186. package/lib/drama/skills/short-drama-write/SKILL.md +284 -0
  187. package/lib/drama/skills/short-drama-write/agents/openai.yaml +4 -0
  188. package/lib/drama/skills/short-drama-write/assets/beats.jsonl +2 -0
  189. package/lib/drama/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
  190. package/lib/drama/skills/short-drama-write/assets/episode-card.json +55 -0
  191. package/lib/drama/skills/short-drama-write/assets/screenplay.md +36 -0
  192. package/lib/drama/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
  193. package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +519 -0
  194. package/lib/drama/skills/short-drama-write/references/production-format-dialect.md +273 -0
  195. package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +51 -0
  196. package/lib/drama/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
  197. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +260 -0
  198. package/lib/drama/skills/short-drama-write/references/script-craft.md +558 -0
  199. package/lib/drama/skills/short-drama-write/references/stage-contract.md +94 -0
  200. package/lib/drama/skills/short-drama-write/references/substitutable-realization.md +107 -0
  201. package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +309 -0
  202. package/lib/drama/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
  203. package/lib/drama/skills/short-drama-write/scripts/selftest.py +229 -0
  204. package/lib/drama/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
  205. package/lib/index.js +756 -0
  206. package/lib/index.js.map +7 -0
  207. package/lib/oh-story/LICENSE.upstream +21 -0
  208. package/lib/oh-story/manifest.json +1351 -0
  209. package/lib/oh-story/roles/chapter-extractor.md +314 -0
  210. package/lib/oh-story/roles/character-designer.md +169 -0
  211. package/lib/oh-story/roles/consistency-checker.md +190 -0
  212. package/lib/oh-story/roles/narrative-writer.md +294 -0
  213. package/lib/oh-story/roles/story-architect.md +195 -0
  214. package/lib/oh-story/roles/story-explorer.md +364 -0
  215. package/lib/oh-story/roles/story-researcher.md +304 -0
  216. package/lib/oh-story/skills/browser-cdp/SKILL.md +175 -0
  217. package/lib/oh-story/skills/story/SKILL.md +116 -0
  218. package/lib/oh-story/skills/story/VERSION +1 -0
  219. package/lib/oh-story/skills/story-cover/SKILL.md +327 -0
  220. package/lib/oh-story/skills/story-cover/references/cover-styles.md +210 -0
  221. package/lib/oh-story/skills/story-deslop/SKILL.md +445 -0
  222. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +582 -0
  223. package/lib/oh-story/skills/story-deslop/references/banned-words.md +147 -0
  224. package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +1371 -0
  225. package/lib/oh-story/skills/story-deslop/scripts/check-degeneration.js +330 -0
  226. package/lib/oh-story/skills/story-deslop/scripts/check-outline-copy.js +241 -0
  227. package/lib/oh-story/skills/story-deslop/scripts/normalize-punctuation.js +410 -0
  228. package/lib/oh-story/skills/story-import/SKILL.md +634 -0
  229. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +82 -0
  230. package/lib/oh-story/skills/story-import/references/format-and-structure.md +169 -0
  231. package/lib/oh-story/skills/story-import/references/length-routing.md +134 -0
  232. package/lib/oh-story/skills/story-import/references/state-tracking.md +108 -0
  233. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +442 -0
  234. package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +175 -0
  235. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +161 -0
  236. package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +1139 -0
  237. package/lib/oh-story/skills/story-long-analyze/SKILL.md +329 -0
  238. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +270 -0
  239. package/lib/oh-story/skills/story-long-analyze/references/material-decomposition.md +530 -0
  240. package/lib/oh-story/skills/story-long-analyze/references/output-templates.md +559 -0
  241. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +80 -0
  242. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +149 -0
  243. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +133 -0
  244. package/lib/oh-story/skills/story-long-scan/SKILL.md +342 -0
  245. package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +197 -0
  246. package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +114 -0
  247. package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +105 -0
  248. package/lib/oh-story/skills/story-long-scan/references/scan-output-format.md +207 -0
  249. package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +78 -0
  250. package/lib/oh-story/skills/story-long-write/SKILL.md +327 -0
  251. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +582 -0
  252. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +302 -0
  253. package/lib/oh-story/skills/story-long-write/references/banned-words.md +147 -0
  254. package/lib/oh-story/skills/story-long-write/references/character-basics.md +445 -0
  255. package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +428 -0
  256. package/lib/oh-story/skills/story-long-write/references/character-relations.md +385 -0
  257. package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +502 -0
  258. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +62 -0
  259. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +282 -0
  260. package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +426 -0
  261. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +209 -0
  262. package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +188 -0
  263. package/lib/oh-story/skills/story-long-write/references/format-and-structure.md +169 -0
  264. package/lib/oh-story/skills/story-long-write/references/genre-catalog.md +480 -0
  265. package/lib/oh-story/skills/story-long-write/references/genre-core-mechanics.md +415 -0
  266. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +51 -0
  267. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +51 -0
  268. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +51 -0
  269. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +51 -0
  270. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
  271. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +51 -0
  272. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +51 -0
  273. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +51 -0
  274. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +51 -0
  275. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +51 -0
  276. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
  277. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
  278. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +51 -0
  279. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +51 -0
  280. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +51 -0
  281. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +51 -0
  282. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +51 -0
  283. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +51 -0
  284. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +51 -0
  285. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +53 -0
  286. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +51 -0
  287. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +51 -0
  288. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +51 -0
  289. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +51 -0
  290. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +51 -0
  291. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +53 -0
  292. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +51 -0
  293. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +53 -0
  294. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +51 -0
  295. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +53 -0
  296. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +53 -0
  297. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +51 -0
  298. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +91 -0
  299. package/lib/oh-story/skills/story-long-write/references/genre-readers.md +235 -0
  300. package/lib/oh-story/skills/story-long-write/references/genre-writing-formulas.md +444 -0
  301. package/lib/oh-story/skills/story-long-write/references/hooks-chapter.md +225 -0
  302. package/lib/oh-story/skills/story-long-write/references/hooks-paragraph.md +146 -0
  303. package/lib/oh-story/skills/story-long-write/references/hooks-suspense.md +352 -0
  304. package/lib/oh-story/skills/story-long-write/references/opening-design.md +349 -0
  305. package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +457 -0
  306. package/lib/oh-story/skills/story-long-write/references/outline-methods.md +287 -0
  307. package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +389 -0
  308. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +326 -0
  309. package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +522 -0
  310. package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +354 -0
  311. package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +711 -0
  312. package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +622 -0
  313. package/lib/oh-story/skills/story-long-write/references/quality-checklist.md +184 -0
  314. package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +109 -0
  315. package/lib/oh-story/skills/story-long-write/references/reversal-toolkit.md +349 -0
  316. package/lib/oh-story/skills/story-long-write/references/state-tracking.md +108 -0
  317. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +409 -0
  318. package/lib/oh-story/skills/story-long-write/references/style-craft.md +347 -0
  319. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +510 -0
  320. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +161 -0
  321. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +140 -0
  322. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +171 -0
  323. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +99 -0
  324. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +284 -0
  325. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +421 -0
  326. package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +1371 -0
  327. package/lib/oh-story/skills/story-long-write/scripts/check-degeneration.js +330 -0
  328. package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +241 -0
  329. package/lib/oh-story/skills/story-long-write/scripts/normalize-punctuation.js +410 -0
  330. package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +1139 -0
  331. package/lib/oh-story/skills/story-review/SKILL.md +483 -0
  332. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +582 -0
  333. package/lib/oh-story/skills/story-review/references/banned-words.md +147 -0
  334. package/lib/oh-story/skills/story-review/references/character-relations.md +385 -0
  335. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +282 -0
  336. package/lib/oh-story/skills/story-review/references/plot-core-methods.md +522 -0
  337. package/lib/oh-story/skills/story-review/references/quality-checklist.md +250 -0
  338. package/lib/oh-story/skills/story-review/references/quality-rubric.md +55 -0
  339. package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +18 -0
  340. package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +19 -0
  341. package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +20 -0
  342. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +161 -0
  343. package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +1371 -0
  344. package/lib/oh-story/skills/story-review/scripts/check-degeneration.js +330 -0
  345. package/lib/oh-story/skills/story-review/scripts/normalize-punctuation.js +410 -0
  346. package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +1139 -0
  347. package/lib/oh-story/skills/story-setup/SKILL.md +495 -0
  348. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +582 -0
  349. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +147 -0
  350. package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +445 -0
  351. package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +428 -0
  352. package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +385 -0
  353. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +282 -0
  354. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +426 -0
  355. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-methods.md +179 -0
  356. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +169 -0
  357. package/lib/oh-story/skills/story-setup/references/agent-references/genre-catalog.md +480 -0
  358. package/lib/oh-story/skills/story-setup/references/agent-references/genre-core-mechanics.md +415 -0
  359. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +51 -0
  360. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +51 -0
  361. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +51 -0
  362. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +51 -0
  363. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
  364. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +51 -0
  365. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +51 -0
  366. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +51 -0
  367. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +51 -0
  368. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +51 -0
  369. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
  370. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
  371. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +51 -0
  372. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +51 -0
  373. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +51 -0
  374. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +51 -0
  375. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +51 -0
  376. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +51 -0
  377. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +51 -0
  378. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +53 -0
  379. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +51 -0
  380. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +51 -0
  381. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +51 -0
  382. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +51 -0
  383. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +51 -0
  384. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +53 -0
  385. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +51 -0
  386. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +53 -0
  387. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +51 -0
  388. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +53 -0
  389. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +53 -0
  390. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +51 -0
  391. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +91 -0
  392. package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +235 -0
  393. package/lib/oh-story/skills/story-setup/references/agent-references/genre-writing-formulas.md +444 -0
  394. package/lib/oh-story/skills/story-setup/references/agent-references/hooks-chapter.md +225 -0
  395. package/lib/oh-story/skills/story-setup/references/agent-references/hooks-suspense.md +352 -0
  396. package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +349 -0
  397. package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +457 -0
  398. package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +287 -0
  399. package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +389 -0
  400. package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +522 -0
  401. package/lib/oh-story/skills/story-setup/references/agent-references/quality-checklist.md +247 -0
  402. package/lib/oh-story/skills/story-setup/references/agent-references/reversal-toolkit.md +349 -0
  403. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +409 -0
  404. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +510 -0
  405. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +421 -0
  406. package/lib/oh-story/skills/story-short-analyze/SKILL.md +278 -0
  407. package/lib/oh-story/skills/story-short-analyze/references/anti-ai-writing.md +582 -0
  408. package/lib/oh-story/skills/story-short-analyze/references/banned-words.md +147 -0
  409. package/lib/oh-story/skills/story-short-analyze/references/character-basics.md +453 -0
  410. package/lib/oh-story/skills/story-short-analyze/references/character-design-methods.md +438 -0
  411. package/lib/oh-story/skills/story-short-analyze/references/character-relations.md +395 -0
  412. package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +79 -0
  413. package/lib/oh-story/skills/story-short-analyze/references/genre-catalog.md +490 -0
  414. package/lib/oh-story/skills/story-short-analyze/references/genre-core-mechanics.md +425 -0
  415. package/lib/oh-story/skills/story-short-analyze/references/genre-readers.md +245 -0
  416. package/lib/oh-story/skills/story-short-analyze/references/genre-writing-formulas.md +453 -0
  417. package/lib/oh-story/skills/story-short-analyze/references/genre-writing-techniques.md +475 -0
  418. package/lib/oh-story/skills/story-short-analyze/references/hooks-chapter.md +225 -0
  419. package/lib/oh-story/skills/story-short-analyze/references/hooks-paragraph.md +146 -0
  420. package/lib/oh-story/skills/story-short-analyze/references/hooks-suspense.md +352 -0
  421. package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +685 -0
  422. package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +165 -0
  423. package/lib/oh-story/skills/story-short-analyze/references/output-templates.md +561 -0
  424. package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +242 -0
  425. package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +90 -0
  426. package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +54 -0
  427. package/lib/oh-story/skills/story-short-scan/SKILL.md +212 -0
  428. package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +90 -0
  429. package/lib/oh-story/skills/story-short-write/SKILL.md +433 -0
  430. package/lib/oh-story/skills/story-short-write/references/banned-words.md +147 -0
  431. package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +62 -0
  432. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +282 -0
  433. package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +179 -0
  434. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +159 -0
  435. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +156 -0
  436. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +163 -0
  437. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +167 -0
  438. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +178 -0
  439. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +166 -0
  440. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +159 -0
  441. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +151 -0
  442. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +153 -0
  443. package/lib/oh-story/skills/story-short-write/references/genre-styles//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272.md +210 -0
  444. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +444 -0
  445. package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +488 -0
  446. package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +225 -0
  447. package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +146 -0
  448. package/lib/oh-story/skills/story-short-write/references/hooks-suspense.md +352 -0
  449. package/lib/oh-story/skills/story-short-write/references/output-contract.md +165 -0
  450. package/lib/oh-story/skills/story-short-write/references/quality-checklist.md +222 -0
  451. package/lib/oh-story/skills/story-short-write/references/reversal-toolkit.md +349 -0
  452. package/lib/oh-story/skills/story-short-write/references/short-craft.md +185 -0
  453. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +133 -0
  454. package/lib/oh-story/skills/story-short-write/references/short-format.md +167 -0
  455. package/lib/oh-story/skills/story-short-write/references/submission-craft.md +35 -0
  456. package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +158 -0
  457. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +153 -0
  458. package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +1371 -0
  459. package/lib/oh-story/skills/story-short-write/scripts/check-degeneration.js +330 -0
  460. package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +241 -0
  461. package/lib/oh-story/skills/story-short-write/scripts/normalize-punctuation.js +410 -0
  462. package/lib/types/client/file-activity.d.ts +30 -0
  463. package/lib/types/client/file-activity.d.ts.map +1 -0
  464. package/lib/types/client/file-tree.d.ts +20 -0
  465. package/lib/types/client/file-tree.d.ts.map +1 -0
  466. package/lib/types/client/index.d.ts +12 -0
  467. package/lib/types/client/index.d.ts.map +1 -0
  468. package/lib/types/client/jsonl-preview.d.ts +15 -0
  469. package/lib/types/client/jsonl-preview.d.ts.map +1 -0
  470. package/lib/types/client/markdown-preview.d.ts +38 -0
  471. package/lib/types/client/markdown-preview.d.ts.map +1 -0
  472. package/lib/types/index.d.ts +25 -0
  473. package/lib/types/index.d.ts.map +1 -0
  474. package/lib/types/native-hooks.d.ts +16 -0
  475. package/lib/types/native-hooks.d.ts.map +1 -0
  476. package/lib/types/role-provider.d.ts +6 -0
  477. package/lib/types/role-provider.d.ts.map +1 -0
  478. package/lib/types/role-tool.d.ts +10 -0
  479. package/lib/types/role-tool.d.ts.map +1 -0
  480. package/lib/types/skill-provider.d.ts +15 -0
  481. package/lib/types/skill-provider.d.ts.map +1 -0
  482. package/lib/types/workspace-request-trust.d.ts +13 -0
  483. package/lib/types/workspace-request-trust.d.ts.map +1 -0
  484. package/lib/types/workspace-route.d.ts +10 -0
  485. package/lib/types/workspace-route.d.ts.map +1 -0
  486. package/lib/types/workspace-security.d.ts +9 -0
  487. package/lib/types/workspace-security.d.ts.map +1 -0
  488. package/package.json +107 -0
@@ -0,0 +1,312 @@
1
+ # 生产视频提示词:边界、连续性与写法选择
2
+
3
+ ## 目录
4
+
5
+ - [表达选择](#一先写核心动作再选择交付格式)
6
+ - [连续性](#二连续性不同镜头类型都适用)
7
+ - [已知能力](#三按已知能力调整写法)
8
+ - [项目参数](#四文本交付读取的项目参数)
9
+ - [文字与缺陷约束](#五文字与缺陷约束)
10
+ - [决策规则](#六决策规则)
11
+ - [范例](#七范例从边界写成通用提示词)
12
+ - [交付文本边界](#交付文本只含交付内容)
13
+ - [自检](#八自检清单)
14
+
15
+ 来自对剧本、分镜边界、参考帧与视频任务之间完整链路的定性案例阅读,示例均为合成
16
+ 改写。本套件的运动说明格式见 [motion-recipe.md](motion-recipe.md);本文档是
17
+ 生产端语法的对照参考:写通用提示词时借用其成熟约定,但套件产物仍以该文档规定的
18
+ 结构为准,且**不调用任何生成服务、不出现供应商与模型产品名**——
19
+ 模型相关规则一律写成"按目标模型确认"的条件规则。
20
+
21
+ 核心认知:
22
+
23
+ 1. **从已接受的镜头起点出发**:若项目使用首帧,它提供起始构图与可见状态,但人物
24
+ 可以按剧本要求从运动中开始。提示词只补足人物和画面如何变化到明确终点。
25
+ 2. **连续性靠前后镜比较,不靠记忆或全文复写**:上一镜终点与下一镜起点逐字段核对
26
+ (CON-01);提示词只携带本次执行容易漂移的关键状态,避免冗长说明变成第二套
27
+ 状态记录。
28
+ 3. **指代必须可解析**:多人同镜或目标模型容易串角色时重复角色名并写物理成因;
29
+ 单人且指代无歧义时不把“禁代词”当成通用规则。比喻若不能转成可见动作,再改写
30
+ 成物理表现。多人同镜时,除了重复角色名,还应给每个参与者附一个**稳定的资产索引**
31
+ (项目档案决定它长什么样),并在该角色每次被提及处一并出现——只在首次出现时标一次,
32
+ 后面的提及仍然要靠模型自己记住是谁,多人场面正是它最容易记错的地方。索引在同一交付
33
+ 范围内保持同一映射,场景与关键道具同样适用。唯一的例外是逐字对白:索引写在说话人
34
+ 标识与描述里,**不写进围栏内的台词文本**,否则会被当成要念出来或要显示的内容
35
+ (见 [delivery-profile.md](delivery-profile.md) 的逐字对白围栏)。
36
+ 4. **上游顺序不可重写**:台词发生在动作前、动作中还是动作后都属于故事语义;提示词
37
+ 必须逐项核对台词相对动作的先后位置,不能只保留同一批内容。
38
+ 5. **手部接触与道具交接必须可执行**:写清放下、换手、双手分离、递交、取回
39
+ 和画外持有;一只手不能同时握笔、分纸并操作另一件工具。
40
+ 6. **文字策略先于通用禁字**:上游或资产声明的 `exact-readable` 字段必须保留并指定
41
+ 受控显示位置;只有没有可读文字义务的镜头才能使用全局 `no-text`。
42
+
43
+ ## 一、先写核心动作,再选择交付格式
44
+
45
+ 先写不绑定供应商的核心动作说明,再决定交付格式。它只回答:从哪个已接受的镜头起点
46
+ 出发,谁因什么触发做什么,摄影机和声音怎样服务本镜目的,最后落到哪个已接受的镜头
47
+ 终点。构图、景别、机位、焦段、光线、情绪标尺或位置式引用只有项目确实需要时才加入,
48
+ 不为凑齐栏目重复参考帧已经承载的事实。
49
+
50
+ ### 可选的自然语言写法
51
+
52
+ 下面只示意一种顺序,不是必填链;已由参考帧或项目字段说明的内容可省略:
53
+
54
+ ```text
55
+ 从 <执行所需的已接受起点状态> 开始。
56
+ 因 <上游触发>,<主体按上游顺序完成动作/可见处理>;<必要反应或并行变化>。
57
+ 摄影机 <固定或运动及其职责>;声音 <必须逐字保留的内容及相对时机>。
58
+ 最终到达 <已接受终点>,并保持 <当前最易漂移的非目标事实>。
59
+ ```
60
+
61
+ 拟声词与实景距离(房间尺度、两处地点的间隔这类空间事实)取自上游内容或已接受项目方案。
62
+ 动作的幅度、角度与锚点秒数属于另一类:它们是本环节自己写的这一拍的组成部分,正常写——
63
+ “肩线下沉约五厘米”“上身向左转约三十度”“起手不动约半秒”说明的是这个动作要做多大、
64
+ 往哪个方向、停多久,是本次的动作决定,不需要上游先给数字。摄影机的角度与轴线侧属于镜头
65
+ 记录,按 `framing.angle` 已接受的值写。越权只发生在这些量替上游做决定的时候:改写已接受
66
+ 时长、改掉镜头已接受的机位角度或轴线侧、声称一个未被接受的空间尺寸、给参考帧里没有的
67
+ 地理定尺。
68
+ 可比较的方向、接触、占画关系与相对阶段同样好用,与量级并列,按哪一种更能消除执行歧义来选。
69
+
70
+ ### 多段交付格式(仅项目已有明确要求时)
71
+
72
+ 交付格式可以要求片段编号、明确时间、位置式参考或文字策略,但这些只是外层格式,不
73
+ 改变创作者确认的镜头边界,也不创造额外动作。每个片段只写执行所需的起点状态;明确
74
+ 区间不得重叠冲突,且各段相加要正好用完已接受时长——多出来会被截断,少下来的余量会被
75
+ 执行端用未经批准的动作填满。若项目使用位置式引用,映射保持稳定且不侵入逐字对白;
76
+ 没有该要求就不生成这些槽位。分段与槽位各自要回答什么,见
77
+ [delivery-profile.md](delivery-profile.md)。
78
+
79
+ ## 二、连续性(不同镜头类型都适用)
80
+
81
+ ### 本镜关键状态
82
+
83
+ ```text
84
+ <角色/道具>-<本镜执行易漂移的字段>:<相对位置、朝向、手、持物或可见状态>。
85
+ 来源:<已接受镜头边界/资产引用>;保持到:<触发、接触或终点>。
86
+ ```
87
+
88
+ 规则:
89
+
90
+ - 覆盖本镜动作、反应、连续性或下一边界依赖的角色;不入画且状态未变化者留在权威
91
+ 状态表,通过引用继承,不为“字段齐全”把全场名单倾倒进提示词;
92
+ - 只有提示词需要执行的继承才用短语重述,其余通过精确引用保持;
93
+ - 动作进程、头身朝向分离、服装或伤势只有参与本镜变化/保留时才写;
94
+ - 画外持物必须来自已接受镜头边界或状态表,不用“可能在背后”等猜测补连续性。
95
+
96
+ ### 表演状态变化
97
+
98
+ 写触发、可见处理、选择与最终状态;跨镜变化或保持都要有人物与后果依据。若创作者已有
99
+ 自己的表演标尺,只把已接受值作为项目记录读取,不由本文档提议档位、增量或
100
+ “每镜升压”公式,也不让数字替代可见表演。
101
+
102
+ ### 空间连续
103
+
104
+ - 位置写**相对参照**("病床右侧""右肩上"),不写绝对坐标;
105
+ - **裸写的"左/右"一律指画面左右**(观众看到的左右);指人物自身的左右必须带主体
106
+ ("他的左手""她的右肩")。两种读法混用是正反打方向翻转的主要来源,而单看每一句
107
+ 都成立,所以文字审查抓不到——必须在写的时候就分清;
108
+ - 场景资产用方位变体逐镜选用(`探视室(北)`/`篝火(近)`),正反打双方各绑
109
+ 各的背景资产防穿帮;
110
+ - 普通连续时间中的位移要有上游动作或过渡;已声明的省略、蒙太奇、梦境或
111
+ 有意跳切可不同,但要记录权限,不能伪装成普通连续。
112
+ - 选择性**折叠、消失、替换**或形变必须写触发、目标范围、结束几何/状态和
113
+ 保持项;非目标人物、道具、已批准文字显示位置和固定空间关系不能随邻近目标一起消失、
114
+ 复制或改形。镜头时长和表演负荷放不下变换路径与保持项核对时拆镜(VID-11)。
115
+
116
+ ### 参考绑定纪律
117
+
118
+ 每条结构化参考先有稳定 `slot_id` 和显式唯一 `order`。若创作者档案使用位置式参考(把角色、
119
+ 道具、场景绑到稳定编号),编号顺序是确定性记账,
120
+ 不是审美选择:
121
+
122
+ - **编号方案由创作者档案声明,本套件不规定具体次序**(角色在前还是场景在前,都是档案
123
+ 的事)。可迁移的要求只有两条:方案一旦发布就固定;新增对象追加到方案指定的位置,
124
+ **不重排已经发出的编号**。重排不会报错,只会拍错——提示词、审查者与执行端对同一
125
+ 编号的理解就此分叉。
126
+ - **同一编号在整条提示词内只指一个对象**,不因为“这次它更像背景”而改指别的东西。
127
+
128
+ **每一次提及都要带绑定**。 一旦某个角色在本条提示词里绑定了参考,该角色的每一次出现
129
+ 都必须带同一个绑定,包括代词式回指和分段之间的重复提及。
130
+
131
+ - 只在首次提及绑定、后文改用裸角色名,比完全不绑定更危险。完全不绑定时,执行端把该
132
+ 角色当作一个未指定的人,前后至少一致;**部分绑定**时,执行端把带绑定的提及和不带
133
+ 绑定的提及读成两个人,同一角色在同一镜里分裂成两副外貌,或在段与段之间换脸。
134
+ - 因此“绑定一半”不是折中方案:要么这条提示词里该角色处处绑定,要么处处不绑定并用
135
+ 重复角色名保持指代(呼应核心认知 3)。
136
+ - 绑定只回答“这是谁、这是哪个物件”。它不自动带入参考图里的构图、服装、文字、道具和
137
+ 故事状态;`role`、`may_control`、`must_not_control` 与检查状态仍按
138
+ [motion-recipe.md](motion-recipe.md) 的参考图用途声明。
139
+ - 项目没有声明位置式参考时不生成占位编号,也不为“字段齐全”给未出场对象编号。
140
+
141
+ ## 三、按已知能力调整写法
142
+
143
+ 只有创作者已经提供或接受目标能力说明时,才按本集主导戏型调整提示词写法;本技能
144
+ 不选购、调用或测试模型,未设置时保留不绑定供应商的通用文本:
145
+
146
+ | 已知能力/限制 | 文本适配问题 |
147
+ |---|---|
148
+ | 支持多段声画 | 哪些已确认镜头可只在交付格式中编组,同时仍能单独审查? |
149
+ | 动作或并发能力有限 | 哪项上游必保内容需要拆镜或请求修订,而不是靠删词假装完成? |
150
+ | 表演依赖清楚触发 | 哪个反应、处理或选择必须可见,哪些情绪形容词可删? |
151
+ | 受控文字、对白或口型 | 哪些上游内容允许进入,哪些必须留给后期或标记为未解决? |
152
+ | 能力未知 | 保留通用文本,不猜时长、质量、并发、文字或声音结果。 |
153
+
154
+ ### 能力说明有三种状态,不是两种
155
+
156
+ “支持/不支持”会漏掉中间那一段。创作者提供的能力说明通常有两条线,不是一条:
157
+
158
+ | 区域 | 含义 | 对写法的影响 |
159
+ |---|---|---|
160
+ | 稳定区 | 在此范围内按说明可执行 | 正常写,不额外收窄 |
161
+ | 不稳定区 | 仍在允许范围内,但需要反复重试才拿到可用结果 | **在写的时候就收窄**:减少同镜并发主体、拆镜、把复合动作分到两镜 |
162
+ | 超出范围 | 说明明确不支持 | 回上游改边界,不靠措辞绕过 |
163
+
164
+ 中间这一区最容易被漏掉,因为落在这里的请求**仍然是合法请求**:允许范围的上界回答的是
165
+ “能不能提交”,稳定区的上界才回答”提交一次大概率可用”。两者之间的差额由重试补齐,
166
+ 而重试的代价由项目承担,不由文字承担。所以它是一个**写作阶段的决策点**,不是提交之后
167
+ 再观察的现象——交出去之后,收窄的机会就没有了。
168
+
169
+ 判断方法不依赖任何具体数字:凡是能力说明里出现“效果较好”“稳定性下降”“可能需要多试几次”
170
+ 这类措辞的地方,就是两条线之间的位置。把它当成本镜的并发预算读,而不是当成质量描述读。
171
+
172
+ 若创作者的说明只给了允许范围、没有区分稳定区,就按只有允许范围处理,**不自行推断一个更
173
+ 保守的数字当成事实**;可以据此提出“是否先小规模试一次再铺开”的问题,由创作者决定。
174
+
175
+ ## 四、文本交付读取的项目参数
176
+
177
+ | 参数 | 规则 |
178
+ |---|---|
179
+ | duration | 从必须保留的动作、反应、对白与最终状态反推,并限制在项目已接受的能力范围;没有已接受值时保持未解决。 |
180
+ | aspectRatio | 读取项目发行/构图约束,本文不自定常见比例。 |
181
+
182
+ 本技能不产出 `amount`、`resolution`、`task` 或其他执行参数。运动幅度与效果范围只有在
183
+ 帮助解释已接受的运动要求时进入提示词,不用供应商字段替代故事边界。
184
+
185
+ ## 五、文字与缺陷约束
186
+
187
+ 1. **无文字要求**(项目确实没有可读文字义务时):
188
+ `画面不要出现任何文字`。若上游或资产要求 `exact-readable`,改为列出唯一允许
189
+ 字段与受控显示位置,禁止同时写全局 `no-text`。
190
+ 2. **参考图检查**:提示词中的无文字要求只约束生成意图,不能擦除参考图像素。人物、场景、道具
191
+ 或关键帧参考若带未批准标牌、界面、号码、水印、字幕或伪字,先**裁切、清理、
192
+ 遮罩或替换**;会破坏身份、地理或构图时退回参考图归属方决策。`exact-readable`
193
+ 镜头只允许批准的显示位置和文字版本,不让旧字样从参考图回流。
194
+ 3. **文字要求一致**:只复述已选择的文字策略;不能用`【不出现任何文字字幕】`抹掉证据文字。
195
+ 4. **语言与文字分别守上游要求**:对白保留原语言;字幕、屏显或无字策略读取已接受的
196
+ 文字方案,不把“出海”自动等同于无字幕,也不让翻译覆盖逐字对白。
197
+ 5. **模型条件只来自已记录观察**:若创作者提供的项目反馈指出身份混淆、比例漂移
198
+ 或其他具体风险,针对该操作补最少的正向状态说明与保持项;不复制通用缺陷补丁,
199
+ 不靠首尾重复同一句增加权重。
200
+ 6. **后处理不在本技能执行**:若项目已有受控文字层或清理决定,只在文本中保留其
201
+ 归属方引用和交接说明;不把未来清理能力当成当前参考图已检查的证据。
202
+ 7. **不要用词表判断审美**:项目已知能力若明确某种表达不可执行,记录它为什么失败、当前
203
+ 替代表达和适用范围;不把一串形容词或生理细节词提升为跨题材禁用清单(VID-10)。
204
+
205
+ ## 六、决策规则
206
+
207
+ 1. **并发过载就拆**:当人物、道具、特效、可读文字与大动作无法在同一镜头时长和表演
208
+ 负荷内各自落地时拆镜。并发上限由目标模型试验与项目记录,不从案例次数推成
209
+ 固定元素配额。
210
+ 2. **台词与动作按注意力判断**:若大动作遮掉逐字对白、反应或口型职责,拆镜
211
+ 或请求修订;若同一表演目的需要声画同在,不为分类把它们机械拆开。
212
+ 3. **人物反应**:权力、关系、信息或代价落到听者身上时必须给可见反应;是否独立成
213
+ 特写和停留多久由后果与剪辑节奏决定,不按台词句数配额插镜。
214
+ 4. **台词负载**:从所选时长、语速、表演动作和口型能力反推;放不下就删减、拆镜或
215
+ 请求剧本修订,不用固定字数替代试听。
216
+ 5. **收到生产反馈后的修订要可解释**:只改变当前诊断所需变量(拆元素、补关键状态
217
+ 或换措辞);必须联动的变量一起记录。若形成补拍或替代版,保留修改前后版本、
218
+ `coverage_scope` 与逐项 `source_obligations` 和 `disposition` 记录;普通母版不增加这层账目。
219
+ 本技能不负责重投。
220
+ 6. **生产预算不由本技能猜**:可读取创作者提供的项目观察来收窄文本,但不移植
221
+ 无来源的通用成本比例,也不从文字规格声称模型效果。
222
+
223
+ ## 七、范例(从边界写成通用提示词)
224
+
225
+ 已接受镜头:乙把仍由右手持有的账页交给甲;甲读到签名后停止辩解。参考帧已经承载
226
+ 身份、服装、桌面地理和基础光线,文字政策只允许账页签名位置显示文字。
227
+
228
+ ```text
229
+ 从乙右手仍握住账页、甲的视线停在乙脸上的已接受起点开始。乙把账页沿桌面推到
230
+ 甲面前,纸张停住后松手;甲先把视线移到签名位置,原本准备开口的动作停下。摄影机
231
+ 保持两人和账页交接都可读的固定构图,不新增纸面文字或旁观者动作。最终账页归甲一侧,
232
+ 乙双手离开纸面,甲注视签名位置并停止辩解。
233
+ ```
234
+
235
+ 这里没有重写外貌、完整场景或所有角色状态;本镜关键状态只保护道具交接、视线、文字显示
236
+ 和镜头终点。若当前项目另需片段编号、位置式参考或明确区间,再从同一动作说明写成交付
237
+ 格式,不能反过来让格式字段创造剧情。
238
+
239
+ ## 交付文本只含交付内容
240
+
241
+ **`VID-22 · reviewed_invariant`**:交给执行端的那段文本里,只能出现要被拍出来的画面内容。
242
+ 任何描述“我们内部怎么做这件事”的流程词都不得进入。本条同样管关键帧的交付文本。
243
+
244
+ 执行端把整段交付文本当作**画面描述**读取,它没有办法区分“这句是给人看的工艺备注”和
245
+ “这句是要画的东西”,于是把文件名渲染成画面上的字符、把版本号读成画面里有两个版本的
246
+ 同一个人、把否定罗列里的名词当成应当出现的物件。这类缺陷和动作超载不是同一种问题:
247
+ 超载只是难以完成,工艺词进入交付文本会直接让画面长出没有人要过的东西,而且是最难在
248
+ 文字审查中被发现的一类——它读起来“信息很全”。
249
+
250
+ 不得进入交付文本:
251
+
252
+ 1. 参考图文件名、版本号、切片编号与目录路径;
253
+ 2. 内部锁定标记、规则 ID、`hash`、字段路径与状态词(`accepted`、`stale`、`provisional`);
254
+ 3. 走位草图、示意图、分镜板格号的指代(“按草图第二格”“沿用上次走位”);
255
+ 4. 任务备注、重投说明、失败记录与待办(“这次重生成”“上次手部崩坏”“重点修手”);
256
+ 5. 成段的否定罗列:把一长串“不要 X”堆在正文首尾。唯一允许的否定是项目确实没有可读
257
+ 文字义务时的无文字要求(见第五节第 1 条)。
258
+ 6. **把本文件的规则本身抄进去**。实测最常见的一种:
259
+ `以竖屏当代写实动画化 SHOT-EP001-01,时长 2.5 秒。戏剧目的:冷开场。表演者:CHAR-JIANGCHEN。
260
+ 只做常见的整体动作,不做精确拦截、不可见内部状态、否定式动作或三步以上双手编排。`
261
+ ——镜头 ID、角色记录 ID、内部工艺词(“戏剧目的”“表演者”)与 `VID-21` 的禁令原文一次踩齐。
262
+ 它读起来“很规范”,但整段没有一个可以画出来的名词:谁、在哪、什么光、手里有什么,一个都没有。
263
+ 判据只有一句:**把这段文本交给一个没读过规格的人,他能不能画出一张确定的画**。
264
+
265
+ 这些内容留在 Markdown 卡片、规格字段和审查记录里;交付文本只承接它们的**结果**:否定
266
+ 意图改写成正向状态,参考图约束改写成可见事实,重投经验改写成本次要保持的状态,而不是
267
+ 失败史。
268
+
269
+ ### 合成反例与改写
270
+
271
+ ```text
272
+ 参考图:角色甲定妆_v3_最终.png / 场景_厅堂_02.png(已锁定,勿改)
273
+ 分镜草图第 2 格,沿用上次走位。上一版手部崩坏,这次重点修手。
274
+ 负面:不要多人、不要变形手、不要模糊、不要出现文字、不要换服装。
275
+ 画面:角色甲从长桌旁站起,走向门口。
276
+ ```
277
+
278
+ 前三行没有一句是要拍的画面:执行端会尝试把文件名与版本号渲染成画面上的字、把“第 2 格”
279
+ 读成分格构图、把“多人”“变形手”“文字”当作应当出现的物件;真正的动作只剩最后一行,
280
+ 起点姿态、触发和终点全部缺失。改写成只含交付内容:
281
+
282
+ ```text
283
+ 角色甲坐在长桌右侧,双手平放桌面,目光落在对面的空椅上。听见门外一次落锁声后,
284
+ 右手先撑住桌沿,身体离开椅背站直,随后沿桌沿走向门口,在门前半步停住并侧身回望空椅。
285
+ 画面内始终只有角色甲一人,双手完整可见并保持在画面内,衣着与起点一致,桌面无字迹。
286
+ ```
287
+
288
+ 改写把每一条工艺备注换成了它对应的可见事实:锁定的参考图变成“衣着与起点一致”,修手
289
+ 备注变成“双手完整可见并保持在画面内”,无文字要求变成“桌面无字迹”,“不要多人”变成
290
+ “画面内始终只有角色甲一人”。
291
+
292
+ ## 八、自检清单
293
+
294
+ 只检查与当前镜头和项目设置有关的项目;不要为通过清单补写无来源内容。
295
+
296
+ 1. 提示词是否从已接受的精确起点出发,并只重述当前执行需要的关键状态?
297
+ 2. 动作、反应、连续性或终点依赖的角色/道具是否可解析?无关画外状态是否留在状态表?
298
+ 3. 多人同镜的指代能唯一解析吗?比喻能转成目标模型可执行的物理表现吗?
299
+ 4. 表演状态的变化或保持有触发与原因吗?表演收束是否承接了后果?
300
+ 5. 文字策略与上游内容及资产一致吗?`exact-readable` 是否被全局 `no-text` 误删?
301
+ 每张参考图是否也完成检查,或已记录裁切、清理、遮罩或替换决定?
302
+ 6. 并发元素是否都能在镜头时长和表演负荷内完成?若不能,拆镜或请求改边界了吗?
303
+ 7. 台词、动作与反应能在所选时长和语速内完成吗?听者承担后果时有可见反应吗?
304
+ 8. 若项目使用位置式参考,映射是否稳定、角色是否明确且未侵入台词?没有该要求
305
+ 时是否避免生成占位引用?
306
+ 9. 是否只使用创作者已接受、带适用范围和证据的能力约束,而非通用负面词表?
307
+ 10. 上游台词相对动作的先后位置逐项一致吗?重写有没有把“事前选择”变成事后解释?
308
+ 11. 手部接触与道具交接可执行吗?放笔、换手、分离、递交和取回都有动作来源吗?
309
+ 12. 交付文本里还剩下工艺词吗?文件名、版本号、锁定标记、草图指代、任务备注或成段
310
+ 否定罗列是否已经改写成可见事实?
311
+ 13. 角色参考是每次提及都绑定,还是只绑了第一次?编号是否始终遵循档案声明的方案、
312
+ 没有重排已发出的编号,并且同一编号始终只指一个对象?
@@ -0,0 +1,168 @@
1
+ # 视频提示词审查量表与合成案例
2
+
3
+ ## 目录
4
+
5
+ 1. 审查顺序
6
+ 2. 证据量表
7
+ 3. 诊断目录
8
+ 4. 合成正例
9
+ 5. 合成反例
10
+
11
+ ## 1. 审查顺序
12
+
13
+ 先验证 refs、显式时长、camera interval、音频否定与 end equality,再由审查者看 performability、action feasibility、camera motivation 和 semantic invention。Reviewer 写 finding,不改 motion、shot 或 screenplay。
14
+
15
+ Finding 必须含被引用快照的 artifact(从该文件 `sources` 声明里读出)、引用片段、影响、
16
+ required fix、owner、severity、status。禁止用 prompt 长度、动词数量、固定动作/秒或“AI 味”替代证据。
17
+
18
+ ## 2. 证据量表
19
+
20
+ | 维度 | 核心问题 | 必须引用 |
21
+ |---|---|---|
22
+ | Start fidelity | 第一动作是否从 keyframe/shot start 真正可接上? | start 字段与 prompt 起始句 |
23
+ | Ordered action | actor、方向、接触、先后和结果是否清楚? | action stages |
24
+ | Performance | 触发、处理、选择、landing 是否可见且符合 agenda? | source beat/shot purpose + motion |
25
+ | Action budget | duration 内能否保留故事动作、对白与 reaction? | duration、距离、台词、动作、camera |
26
+ | Camera | lock/move 是否一致,且因注意/压力/揭示而发生? | camera interval + shot purpose |
27
+ | Environment | 是否只动了有依据的环境,未发明天气/事件? | accepted continuity + environment |
28
+ | Dialogue/audio | exact refs、`speaker_ref`、可选 `voice_direction_ref`、VO/OS/SFX 与本场 delivery 是否分别保持? | source audio fields + character voice direction + prompt |
29
+ | End fidelity | reported end 是否逐项等于 continuity out? | end report + source end |
30
+ | Economy | frame 已承载外观是否被无谓倾倒? | reference contents + copy block |
31
+ | Shot boundary | 是否偷改 duration/end/next shot,或在单个镜头内部藏未声明的 cut? | source shot + motion |
32
+ | Segment integrity | 每个计时段是否只有一个连续视角?各段相加是否正好等于**所属镜头**的已接受时长? | segment 列表 + accepted shot duration |
33
+ | Container arithmetic | 容器承载了哪些已接受镜头?容器时长是否等于成员时长之和?成员是否顺序连续、同一绑定链、不跨场次、各自可单独审查? | container 成员列表 + 各镜 accepted duration |
34
+ | Deliverable text | 交付文本里是否只剩要拍的画面内容,没有文件名、版本号、锁定标记、草图指代或任务备注? | prompt 正文 |
35
+
36
+ 语义 finding 的修复应指出删/改哪一段 motion,或该向哪个 owner 发 revision request,而不是笼统说“动作自然一点”。
37
+
38
+ ## 3. 诊断目录
39
+
40
+ | code | classification | enforcer | 默认 severity | owner | 含义 |
41
+ |---|---|---|---|---|---|
42
+ | VID_SOURCE_REF_UNRESOLVED | structural_invariant | validator | error | video-prompts | shot/keyframe/dialogue/audio ref 未解析:`src` 在本文件 `sources` 里没有对应条目、引用没有给出任何上游绑定,或解析出的记录/字段在目标快照里不存在 |
43
+ | VID_EXPLICIT_TIMING_OVERFLOW | structural_invariant | validator | error | video-prompts | 显式时间终点/非重叠总量超 duration |
44
+ | VID_EXPLICIT_TIMING_SHORTFALL | structural_invariant | validator | error | video-prompts | 裁剪到镜头长度内的分段并集短于 duration;开头留空、中间留空与结尾留空都算,余量会被无来源动作填满 |
45
+ | VID_TIMING_MODE_INCONSISTENT | structural_invariant | validator | error | video-prompts | `timing_plan.mode` 写 `relative` 却有分段标 `explicit`,两种计时同时声明 |
46
+ | VID_EXPLICIT_TIMING_UNDECLARED_OVERLAP | structural_invariant | validator | error | video-prompts | 分段区间重叠但未声明重叠关系,合计无法判定 |
47
+ | VID_EXPLICIT_TIMING_UNPARSEABLE | structural_invariant | validator | error | video-prompts | 声明 explicit 却没有可读秒区间,无法做 VID-04 算术 |
48
+ | VID_DECLARED_TOTAL_MISMATCH | structural_invariant | validator | error | video-prompts | `declared_total_or_endpoint_seconds` 与分段实际覆盖不一致 |
49
+ | VID_DURATION_PROJECTION_STALE | structural_invariant | validator | error | video-prompts | `boundary_refs.duration.value_seconds` 与镜头已接受时长不一致 |
50
+ | VID_CAMERA_INTERVAL_CONFLICT | structural_invariant | validator | error | video-prompts | 同一区间 lock 与 move 等显式冲突 |
51
+ | VID_END_REPORT_MISMATCH | structural_invariant | validator | error | video-prompts | reported end 不等于 storyboard continuity out |
52
+ | VID_BOUNDARY_OVERRIDE | structural_invariant | validator | error | video-prompts | motion 写入 duration/end/next-shot override |
53
+ | VID_ACTION_INFEASIBLE | reviewed_invariant | reviewer | error | video-prompts/storyboard | 一般动作负载不可行或掩盖故事变化 |
54
+ | VID_SEMANTIC_INVENTION | reviewed_invariant | reviewer | error | video-prompts | 新造故事、关系、知识、状态或音频事实 |
55
+ | VID_CAMERA_UNMOTIVATED | craft_default | reviewer | warning | video-prompts | movement 无助于目的/注意变化 |
56
+ | VID_REFERENCE_DUMP | craft_default | reviewer | warning | video-prompts | bound frame 已带外观却重复整本 设定集 |
57
+ | VID_HIDDEN_CUT_IN_SEGMENT | reviewed_invariant | reviewer | error | video-prompts | 单个计时段内藏入视角或空间跳变,等于一次未申报的剪辑 |
58
+ | VID15_SHOT_PACKED_TWICE | structural_invariant | validator | error | video-prompts | 同一镜头被两个容器认领,全集时长凭空多一段 |
59
+ | VID15_MEMBER_IS_NOT_AN_EPISODE_SHOT | structural_invariant | validator | error | video-prompts | 容器成员不属于本集镜头集合 |
60
+ | VID15_MEMBER_SHOT_HAS_NO_DURATION | structural_invariant | validator | error | video-prompts | 被装箱的镜头没有数值时长,容器时长无从成立 |
61
+ | VID15_CONTAINER_DURATION_IS_NOT_THE_SUM | structural_invariant | validator | error | video-prompts | 容器时长不等于成员已接受时长之和 |
62
+ | VID15_EPISODE_TOTAL_DOES_NOT_RECONCILE | structural_invariant | validator | error | video-prompts | 容器加散镜不等于全集镜头时长总和 |
63
+ | VID15_MEMBER_ORDER_IS_NOT_A_SEQUENCE | structural_invariant | validator | error | video-prompts | 成员 `order` 不是从 1 开始、升序、无重复无跳号 |
64
+ | VID15_MEMBER_HAS_NO_ACCEPTED_DURATION | structural_invariant | validator | error | video-prompts | 成员没有投影它所装镜头的时长 |
65
+ | VID15_MEMBER_DURATION_IS_STALE | structural_invariant | validator | error | video-prompts | 成员的 `accepted_duration` 与它所装镜头的值不一致 |
66
+ | VID15_MEMBERSHIP_BASIS_MISSING | structural_invariant | validator | error | video-prompts | 容器没有记录成员为何同属一个容器 |
67
+ | VID15_MEMBERSHIP_BASIS_INCOMPLETE | structural_invariant | validator | error | video-prompts | `membership_basis` 三项里有结论留空 |
68
+ | VID15_CONTAINER_HAS_NO_ID | structural_invariant | validator | error | video-prompts | 容器记录没有 `container_id` |
69
+ | VID15_CONTAINER_HAS_NO_MEMBERS | structural_invariant | validator | error | video-prompts | 容器没有成员 |
70
+ | VID15_CONTAINER_DURATION_MISSING | structural_invariant | validator | error | video-prompts | `container_duration` 缺失或不是秒数 |
71
+ | VID15_MEMBER_HAS_NO_SHOT_REF | structural_invariant | validator | error | video-prompts | 成员没有点名它所装的镜头 |
72
+
73
+ `VID15_*` 由 [container_check.py](../scripts/container_check.py) 执行。未装容器的散镜与
74
+ 时长尚未确定的镜头**只报告不判错**:前者是合法的打包选择,后者是上游还没做完,把它们
75
+ 写成缺陷会让"进行中"和"做错了"无法区分。
76
+ | VID_UNEXECUTABLE_MICRO_METRIC | craft_default | reviewer | warning | video-prompts | 亚秒偏移、厘米位移、角度数等读起来精确却无法执行也无法验证的计量 |
77
+ | VID_INNER_MONOLOGUE_ONLY | craft_default | reviewer | warning | video-prompts | 绝大多数段落只有内心活动,没有可拍的可见事件或有来源的声音 |
78
+ | VID_STYLE_ALTERNATIVE | taste_option | reviewer | note | video-prompts | 表演/摄影/声音风格的非阻断选择 |
79
+
80
+ 语义问题只能由 reviewer 证据化判断;不要写正则把“缓慢”“同时”或动词数量变成错误。
81
+
82
+ ## 4. 合成正例
83
+
84
+ 以下人物、场景、对白均为虚构合成材料。
85
+
86
+ ### Accepted boundary 摘要
87
+
88
+ - `SHOT-EP001-014`,duration `5.0s`,purpose:罗静听见门外有人试锁后,选择隐藏登记簿而非立刻逃跑;
89
+ - start:她坐在检修台边,左手翻开的登记簿,右手握笔,目光在页上;后方安全门位于她右后侧;
90
+ - dialogue:画外男声 `[OS] “里面有人吗?”`;
91
+ - end:她仍坐着,左手把登记簿压在工具盒下,右手握笔停在桌沿,目光锁向右后侧安全门;
92
+ - camera:接受的单镜头、固定轴线,可在触发后轻微推进。
93
+
94
+ ### 合格 generic prompt
95
+
96
+ > 从参考帧的坐姿开始:她的左手仍按在翻开的登记簿上,右手握笔,目光落在页上,右后方是安全门。门外先传来一次短促的试锁声;她的笔尖立刻停住,目光先移向安全门,但身体没有起身。画外男声问“里面有人吗?”,她屏住一拍,没有回答,左手才把登记簿平稳滑入旁边工具盒下方,动作克制,避免纸页发声;右手始终握笔,最后停在桌沿。表演由专注工作转为警觉,再落到压住恐惧后的主动隐瞒。摄影机开头保持固定,在她决定藏起登记簿时做一次很短、很慢的推进,终点仍保持既定轴线,将她的左手、工具盒和望向安全门的视线纳入同一画面。维修间底噪持续,试锁声和画外问话清楚置于门的方向,无音乐突入。5 秒内完成,结尾保持她仍坐着、左手把登记簿压在工具盒下、右手握笔停在桌沿、目光锁向右后侧安全门。
97
+
98
+ 为何有效:开端只重复运动关键事实;动作按声音→接收→决定→隐藏排列;OS 不要求口型;camera 在选择时启动;结尾逐字段落到 accepted boundary,没有写下一镜。
99
+
100
+ ## 5. 合成反例
101
+
102
+ ### 反例 A:外观倾倒与边界改写
103
+
104
+ > 她有窄长脸、断眉、短卷发,穿墨绿工装、米白 T 恤、深色长裤和短靴,维修间墙壁每一处材料都清晰。她站起来跑到门外,把笔交给陌生人,然后下一镜已经来到街上。
105
+
106
+ Finding:reference 已携带外观而 motion 没写关键表演;更严重的是 start 从坐姿跳到站立、end 新增跑出/道具转手,并代写下一镜。修复需回到 accepted 坐姿 end;若逃跑是创作意图,向 storyboard 请求新 boundary/shot。
107
+
108
+ ### 反例 B:动作超载但不能靠计数器判
109
+
110
+ > 5 秒内,她听完整句问话,翻完三页,把册子锁入抽屉,走过房间关闭两扇窗,拆下墙上话筒,打电话说两句,再回到原座位保持完全静止。
111
+
112
+ Reviewer 应引用房间距离、物件操作、对白和 landing 说明不可行;不能只说“有七个动词”。优先保留与隐藏决定有关的动作,其余删减或请求 split/extend。
113
+
114
+ ### 反例 C:camera 显式矛盾
115
+
116
+ ```text
117
+ 0–5s:摄影机绝对锁定、没有任何移动。
118
+ 1–4s:摄影机持续向前 dolly 并手持环绕角色一周。
119
+ ```
120
+
121
+ 同一区间的 lock/move 可结构阻断。创作者可选择 lock 或 move;若需先锁后推,写不重叠 transition。
122
+
123
+ ### 反例 D:音频语义发明
124
+
125
+ > 画外问话后,突然响起爆炸,所有灯熄灭,她大喊“我承认了”。
126
+
127
+ 若 source 没有爆炸、停电和这句对白,这会改变故事与 continuity。由 reviewer 引用 source 缺失与 prompt 新句给 `VID_SEMANTIC_INVENTION`,不是因关键词“爆炸”本身被正则禁止。
128
+
129
+ ### 反例 E:段内藏切
130
+
131
+ ```text
132
+ 段 2(1.6–3.4s):她把登记簿推入工具盒下方;随即是走廊外一只手停在门把上的近景;
133
+ 再回到她的侧脸,眉心收紧。
134
+ ```
135
+
136
+ 技能正文已经规定单个镜头内部只保持一个剪辑边界,但违规通常不出现在 `camera` 字段冲突里,
137
+ 它藏在**一个计时段内部**的连续叙述中,读起来只是“镜头很有节奏”。量表要能抓到它,
138
+ 而不只是禁止它:逐段列出空间锚点、被摄主体和机位关系,段内出现没有过渡的空间或主体
139
+ 跳变,就是一次未申报的剪辑。修复是向 storyboard 请求拆成两个 authored shots,或删掉插入的
140
+ 外景段落;不能靠补一个转场词把它说圆。
141
+
142
+ 注意与多镜容器区分:容器内**成员镜头之间**的空间与主体跳变是已申报的剪辑,不是缺陷。
143
+ 判据是跳变落在哪里——落在成员镜头边界上,且该边界能追溯到一个已接受镜头,就成立;落在
144
+ 某个成员镜头的计时段内部,就是段内藏切。容器时长与成员时长之和不符时另记一条容器算术
145
+ 缺陷,不要把两者混成同一条 finding。
146
+
147
+ ### 反例 F:不可执行的微计量
148
+
149
+ ```text
150
+ 0.00–0.37s:眉心下压 0.4 厘米;0.37–0.92s:右手向左平移 3 厘米,头部旋转 7 度;
151
+ 0.92–1.41s:瞳孔收缩,肩线下沉 1.2 厘米。
152
+ ```
153
+
154
+ 这类写法读起来像精度,实际没有指定任何可执行的东西:执行端无法把厘米和度数对到画面
155
+ 尺度,审查者也无法验证是否照做;同时它挤掉了真正需要写清的触发、接触与结果。修复是
156
+ 换成可比较的相对量与接触事实——“手指移到杯沿并停住”“视线从对方脸上落到桌面签名处”。
157
+ 只有上游提供、且确实能消除歧义时才写具体秒段(见 `motion-recipe.md` 3.6)。
158
+
159
+ ### 反例 G:整段独白
160
+
161
+ ```text
162
+ 段 1:她想起母亲临走前那句话。段 2:她意识到自己再也回不去了。段 3:她下定决心。
163
+ ```
164
+
165
+ 三段都只有内心活动,没有一件可拍的事。没有可执行内容时,执行端会自行发明动作与表情
166
+ 去填满时间,结果与剧本无关。修复是让每段至少落到一个可见事件(目光、接触、位移、决断
167
+ 动作)或一段有来源的声音;确实需要内心过程时,用已接受的画外音承载,并写清它与画面
168
+ 事件的相对时机。内心独白本身不是缺陷,把它当作整条提示词的唯一内容才是。
@@ -0,0 +1,110 @@
1
+ # 视频提示词阶段契约
2
+
3
+ ## 目录
4
+
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
+ 答案后投影成哪些字段。
39
+
40
+ 形态决定属于 `craft_default`:创作者说明理由即可覆盖。形态不能创造新的
41
+ `structural_invariant`,也不能改写身份、地理、持物归属与可读文字政策。审查者不得单凭
42
+ 形态偏好阻断交付。
43
+
44
+ 不要用“加一句风格前缀”处理形态差异。前缀只改变检索标签;形态改变的是**必须出现和
45
+ 可以省略的字段**,只有后者会被执行,也只有后者能被审查。
46
+
47
+ 本阶段要向形态决定问:**运动层、接触、节奏、声源与结果**在本形态下怎么写。
48
+
49
+ 运动段的默认值随形态改变(默认全动作 / 默认保持姿态并声明例外 / 一镜一因果 / 把全动作
50
+ 预算集中给情绪转折镜)。拿到形态运动预算后,本阶段只负责把它落成有因果顺序的动作与
51
+ 可比较的终点,不重新选择形态。
52
+
53
+ 本阶段新增:运动层、接触、节奏、声源与结果。
54
+
55
+ ## 参考媒体与补拍
56
+
57
+ - **参考图能决定什么要逐张写明**:每张参考的用途、可以照搬什么、不可以照搬什么。身份参考
58
+ 不自动决定构图;构图、尺度或效果参考不自动带入图中人物、服装、文字、道具与故事状态。
59
+ - **像素主张需要证据**:关于参考图上可见内容(尤其文字、水印、标牌、界面)的断言,必须
60
+ 来自创作者/参考图权利人的可核对说明,或运行环境获授权后形成的输入参考观察记录,并绑定
61
+ 被检查的字节。两者都没有时保持 `unverified`,负面提示词不能代替证据。
62
+ - **观众揭示时机**:某一事实何时可被观众看到,由已接受的可见性决定绑定其来源、载体、
63
+ 权限、触发与保护方式。构图既不能提前泄露该事实,也不能遮掉本环节必须传达的载体。
64
+ - **母版、补拍与替代**:补拍默认只补充、不替代母版。普通母版不增加版本范围字段;只有
65
+ 补拍/替代版才声明 `pickup | alternate`,用同一文件内稳定的记录 ID 说明母版与补充关系,并把每项原文要求对应到当前字段或说明
66
+ 去向。只有下游审查结论才能批准替代,不得回写形成循环引用。
67
+
68
+ ## 本阶段规则
69
+
70
+ ### `VID`
71
+
72
+ | ID | Class | Knowledge |
73
+ |---|---|---|
74
+ | VID-01 | structural_invariant | Motion reads but cannot rewrite shot start/end/duration/dialogue and next-shot state. |
75
+ | VID-02 | craft_default | Write start anchor, ordered subject motion, camera behavior, timing, and end report; add performance change and environment/audio only when this shot actually carries them. |
76
+ | VID-03 | craft_default | When a reference frame carries appearance/composition, focus prose on change instead of repeating the 设定集. |
77
+ | VID-04 | structural_invariant | Explicit segment timing sums exactly to its shot's accepted duration—neither exceeding it nor leaving an unallocated remainder. |
78
+ | VID-05 | reviewed_invariant | Untimed action load must be feasible enough to preserve the intended performance and story change. |
79
+ | VID-06 | structural_invariant | Locked and moving camera instructions cannot govern the same interval without an explicit transition. |
80
+ | VID-07 | taste_option | Camera may be locked or moving; audio/lip-sync detail follows the chosen production profile. |
81
+ | VID-08 | reviewed_invariant | Structured motion names this shot's exact subjects, actions, contacts, and results rather than reusable placeholders; when a performance path is present, it names only the actors and visible changes this shot actually carries. |
82
+ | VID-09 | structural_invariant | Next-start is an existing canonical ref whose `src` resolves through the file's `sources` declaration, or an explicit provisional locator; never an invented record, source key, or hash. |
83
+ | VID-10 | craft_default | Resolve one accepted production profile for the current delivery scope; local variants may coexist when their range and precedence are explicit, without overriding source coverage or exact-readable obligations. |
84
+ | VID-11 | reviewed_invariant | A selective transform names its trigger, exact target scope, end geometry/state, and preserve set so non-target people, props, text surfaces, and spatial anchors do not change with it. |
85
+ | VID-12 | reviewed_invariant | A pickup/alternate names stable master/supplement motion IDs and maps each source requirement to a field or disposition; motion may request replacement, but only a downstream independent verdict can approve it. |
86
+ | VID-13 | structural_invariant | A delivery container carries one or more accepted shots that are contiguous in source order, share one accepted geography/asset binding chain, and do not cross a scene boundary—a Location/View change ends the container. Its duration equals the sum of their accepted durations, and packing changes neither shot boundaries nor per-shot reviewability. |
87
+ | VID-14 | craft_default | Music intent may be annotated per shot as a relative entry/exit/duck against neighbours, but its realization belongs to the timeline layer; no deliverable—single-shot or multi-shot container—carries a baked-in music bed unless the project accepted otherwise or the source is diegetic. Dialogue, off-screen sources, ambience, and event effects stay with the deliverable. |
88
+ | VID-15 | structural_invariant | Within one episode a shot belongs to at most one container, so container durations sum without double-billing. Containers need not cover every shot, but the containers plus the shots left loose must account for the episode's shot set exactly once; an unaccounted or twice-counted shot is a defect, not a packing preference. |
89
+ | VID-16 | reviewed_invariant | When performance changes, multi-character motion differentiates the actors who actually carry it and keeps each chosen signal readable in the accepted framing; it does not require an arc for non-performing shots, force every craft field, or duplicate one emotion across the cast. |
90
+ | VID-17 | reviewed_invariant | Every multi-reference binding carries a stable `slot_id` and explicit unique `order`, so array reordering or insertion cannot silently change a reference's role; until a project validator owns this check, the reviewer cites conflicting slots/orders rather than claiming mechanical enforcement. |
91
+ | VID-18 | reviewed_invariant | Per-shot text readiness is a scope-aware review/status projection derived from current accepted refs and real blocking gaps, not a persisted motion fact. A missing input blocks only dependent claims; overall delivery-ready requires all applicable scopes. Readiness never claims generated identity, performance, lip-sync, mix, edit, or market quality. |
92
+ | VID-19 | reviewed_invariant | When the creator profile declares required literal tokens for a delivery route, that route's delivery text preserves them byte-for-byte and outside the verbatim-dialogue fence. Paraphrase, translation, reordering, or omission is treated as a defect because a literal-matching surface has no reason to reject the rewritten text—the failure is silent rather than reported. The suite asserts no specific surface's behaviour, and whether a given result took the route is returned adherence, provable only by a bound production observation. Tokens declare a route and never substitute for the start state, action, or endpoint. Absent a declared token list the suite invents none; until the profile exposes a machine-readable list at a pinned field path, the reviewer cites the profile against the delivery text rather than claiming mechanical enforcement. |
93
+ | VID-20 | reviewed_invariant | Packing routes change delivery granularity only, leaving shot boundaries, shot purpose, and per-shot reviewability intact. A single long-form generation carrying several accepted shots *is* a multi-shot container and is billed under VID-13 and VID-15; it introduces no separate accounting and no exemption from the contiguity, binding-chain, and scene-boundary constraints. A continuation route instead starts from a previously generated result, which is observation evidence and not an accepted artifact: the accepted shot start boundary stays the sole authority, and any claim about the observed state binds a production observation record or remains `unverified`. |
94
+ | VID-21 | craft_default | When the project's accepted production profile has generated imagery carry the frame, actions are written as high-frequency, whole-body or single-limb movements common in everyday footage; precise interception, invisible internal states, negative actions, and three-or-more-step two-handed choreography are rewritten into equivalent common-action combinations, with the dramatic information carried by combination and timing. The rule is inactive for live action or an undeclared profile, and a rewrite may never change accepted shot boundaries, terminal states, or screenplay fact. |
95
+ | VID-22 | reviewed_invariant | Delivery text carries only what will be filmed. Record and rule IDs, lifecycle status words, hashes, field paths, reference filenames, craft notes, and run-on negative lists stay in the spec fields and review records; the delivery text takes their result — a negative intent rewritten as a positive state, a reference constraint rewritten as a visible fact. A prompt that recites its own constraints reads as complete and renders as nothing. Until a project validator owns this check, the reviewer cites the delivery text against this rule rather than claiming mechanical enforcement. |
96
+
97
+ ### `CON`
98
+
99
+ | ID | Class | Knowledge |
100
+ |---|---|---|
101
+ | CON-01 | structural_invariant | Linked end and next start states match or have an explicit owner revision. |
102
+ | CON-02 | reviewed_invariant | Knowledge, injury, ownership, weather, light, or physical state does not teleport/regress without story cause. |
103
+ | CON-03 | craft_default | Track downstream-relevant deltas, not the whole 设定集 in every shot. |
104
+ | CON-04 | structural_invariant | A delta records before, after, cause/source, effective range, and affected bindings. |
105
+ | CON-05 | taste_option | Declared montage, ellipsis, dream, or subjective imagery may intentionally break ordinary continuity. |
106
+ | CON-06 | structural_invariant | A delta's affected refs cover all existing consumers; future consumers remain locators until materialized. |
107
+
108
+ 规则分级由高到低:`structural_invariant`(结构缺陷,阻断)、
109
+ `reviewed_invariant`(需证据判断)、`craft_default`(常用做法,可覆盖)、
110
+ `taste_option`(创作者选择,不作缺陷)。创作者已接受的事实优先于本表。