git:20261022.df83ac9 to git:20261022.3d69bfd

25 added, 0 removed. Audit A to A.

---
name: shot-production
description: Produce image, video, or audio media for an approved historical-drama Shot. Use when combining Shot and Scene context, selected stable Assets, and prior Media into start frames, end frames, video, dialogue, ambience, or other physical media outputs.
---
# Shot Production
## Required cross-shot continuity judgment
Before each new media goal, the Host must supply `GenerationTask.crossShotContinuity`.
Choose OPENING only when there is no preceding shot; otherwise name the exact
predecessor shot and judge camera relation, inherited visible state, target state
and a concrete reason. This is Host preparation, not another user approval.
Use CONTINUE only for a genuine same-take endpoint continuation through the existing
first-frame path. With a changed lens/viewpoint, prefer FRAME_REFERENCE: retain the
reviewed predecessor's official tail via `retain_source_film_last_frame`, bind it
as `REFERENCE` with `pictureFrameRef` and a narrowly authored continuity duty.
The target camera owns the new framing; identity portraits retain identity duties.
INDEPENDENT requires an explicit reason why prior picture is not useful, such as
an unrelated place/time; do not mechanically require an image for every cut.
If a predecessor is being replaced, use PENDING_PREDECESSOR. Prepare target designs
locally but do not freeze a submittable request against the superseded result.
Refresh the decision and exact media after that new predecessor is reviewed.
`return_last_frame` requests an output; it never proves inherited input. Check the
actual request slot/hash and compare outgoing/incoming action state before approval.
Historical sealed runs remain recoverable; new goals without this judgment fail.
## Optional external Blender skills
After adopted shot design and references are clear, the Host may call the installed
`scenario-blender-expert` and `scenario-blender-blockout`; use
`scenario-blender-animation` only when the shot needs articulated action. Use
`scenario-blender-rigging` when the actual skeleton, IK/FK controls or deformation
cannot express the required contact or range; a rig is not needed for every proxy.
For the selected external skills, read the relevant expert notes, procedure and
critique, not just the function names. Their stylized defaults, fixed frame counts,
beat quotas and demonstration thresholds are examples; current adopted medium,
action and camera determine applicability. Distinguish a solver/rig fault, missing
motion reference and an artistic choice before adding motion or prompt limits.
`DramaPlugin.prepare_shot_preview(package_ref, task, previsualization=plan)`
returns the source-pinned CREATE/ADJUST handoff and expert/blockout/animation
locations. Read those actual installed instructions and resources; missing skills
use the existing skill-installer with the returned repository paths. If rigging
is needed, discover it through the Host skill registry or the same sibling skill
root; install `skills/dcc/blender/scenario-blender-rigging` from the same source
repository when absent, then read it. Record any additional skill version and
actual module path in the external handoff notes. These full sibling directories
remain external to this Plugin. All Blender production and
inspection methods belong to those skills; use their local capabilities only.
Receive the external result through ADOPT (handoffRef, outputs and inspection),
or REUSE its adopted previousRef; SKIP records the Host's reason and removes its
video binding. Keep the returned task for existing Prompt compilation, Media
reference delivery and configured Seedance production. External video supplies
spatial/motion guidance; adopted images and professional designs retain their
assigned duties. Scenario platform generation is outside this route.
Comfy Cloud MCP is retired: do not call it for discovery, prompt guidance,
image/video generation or fallback. Use only configured, authorized official HTTP
APIs. Preserve historical Comfy records without creating new Comfy operations.
For new native production, consume narrative asset preparation from the existing
Professional entry. Do not bypass a pending `specialized-asset-preparation` with
temporary character/room prose. Resolve its exact requirements through Asset
Resolution, then resume the same Run. Shooting order remains independent of asset
creation order; previous Scenes' videos are not asset prerequisites. Prefer the
accepted character/location library references over whole-shot video reuse. A
character reference's background carries no location authority, and reference
capacity/delivery still use the selected model's existing checks.
Include continuity-critical props in that preparation. Consume their Prop Design
original and Asset Manifest, reuse the exact accepted PROP identity/design version
and verified Media. Resolve the target entry, change and exit from current Action;
an inherited result or a construction view is not another event to perform.
Select only this unit's necessary facts from those originals; keep history and
future action as context. Check that current state reaches the final projection,
not merely an attached Bible. Repeated reminders are not stronger physical proof.
Compare the final request's actual inputs with each reference's intended duty and
target state; an earlier preview or available Host image is not proof of delivery.
Preserve accepted identities and useful footage when a use fails; return the
specific deviation to its owner. Missing required proof holds only the affected
duty, with unpaid preparation available. Sent prompts and bindings stay immutable.
For selected Seedance native audio/video production, resolve the current Sound and
spoken-event design before freezing the request. Verify applicable delivery,
space, environmental priority, dramatic transitions and performance in the final
Seedance prompt, and synchronous audio in the actual API body. Keep full Bibles,
review notes and future/completed events out of executable prose. Preserve the
native track by default and assess the heard result separately from compiler tests;
do not introduce automatic TTS, fixed shot duration or a new approval gate.
## Host review of generated prompts
+ ### Shot context in the final prompt
+
+ Include a source-grounded shot reading in the final video-model text, in at most
+ two concise paragraphs. From the current Work, screenplay, Director intent and
+ relevant adjacent shots, select the predicament, relationships and expressive
+ stakes that change how this shot should be understood. Keep that meaning explicit;
+ do not reduce it to generic mood adjectives, a synopsis or another action list.
+ Let the selected performance, framing, light, sound or hold answer that reading,
+ without prescribing a fixed scene template or requiring every department to be named.
+
+ Identify prior events as circumstances already established and later events only
+ as interpretive limits when needed. Neither becomes something to stage in this
+ shot. Keep uncertainty and the character's current arc stage; do not invent a
+ revelation, reconciliation or emotional resolution to make the reading tidier.
+ Use current source/owner prose in the existing handoff and compilation path;
+ do not paste an untraced explanation onto an already sealed request.
+
+ During the existing full-text Host review, read the actual provider request's
+ text after projection and any compression. Check that the brief reading survives
+ there and that the concrete design supports it without extra events or conflicting
+ directions. Merge repeated explanation and action wording, retaining necessary
+ identity, reference-use and continuity constraints. Keep source pins and local
+ labels in review metadata. This is part of current authoring and review, not a
+ new step, schema requirement, automated check or submission blocker.
+
After every new or revised prompt is compiled, the Host must actively review the
final provider-facing text and applicable negative instructions, reference duties,
unit boundaries and audio parameters before sealing or reserving that request.
Compiler success alone does not prove that its prose is consistent. Follow
[prompt conflict review](references/production-rules.md#prompt-conflict-review).
Resolve expression conflicts and redundant wording through new versions of the
existing professional execution inputs and the same compiler, then review the
result again. Preserve approved action, dialogue, timing, references and Shot art;
return genuine source disagreements to their existing professional owner.
Keep the assessment in existing preparation/review originals or Agent Run Context.
This is Host creative preparation, not a new Runtime gate, user approval step or
permission to spend. Historical sealed prompts and sent requests stay immutable;
textual consistency never substitutes for actual media or sound review.
For a performance-bearing exchange, trace its consequential receiving and attention
events into the existing final execution projection. A referenced DPD or complete
Bible is not evidence that the request retained the selected listener behavior,
current speaker, cue/release or adjacent-shot entry. Read the projected action and
sound in order: what reaches which actor before this response, and what remains
future context? Keep the addressee distinct from a gesture's referent. Repair a
lost relation through its existing professional owner and recompile; do not append
a second psychological prompt or repeat every source note. Apply the
[received-action and attention review](../dramatic-performance-direction/references/received-action-review.md)
only to the relevant turns and boundaries. An offline execution excerpt checks a
design handoff; it is neither an actual provider-request review nor observed acting.
For authorized native Film production, retain the original Film and completed
children/operations. Read `source_film_status` before scheduling and report its
Scene → Shot → phase coverage, adoption, remaining content and next boundary.
Use the adopted FilmPlan and media adoption receipts to select the next unit's
exact Scene/Shot/Package versions; do not reuse the opening Package across a cut.
Queue bounded units through `queue_source_film_media`; the existing Film
execution capability drives them in order. Select the requested authored Action
phase, rather than repeatedly selecting the opening phase. Pin reviewed native
Media through execution reference bindings with exact source duties and hashes.
The Target Seedance video-reference route reuses the original reviewed provider
output; signed locators are delivery details beneath the immutable input seal.
For consecutive segments of one take, a global identity/room video is not a
continuation endpoint. After the preceding child completes and is reviewed, use
`prepare_source_film_continuation` to bind its retained official last JPEG as the
next `image_to_video` first frame. A bounded queue may carry later source/profile
descriptors, but Runtime freezes their child/preparation only after the preceding
result and review exist; it binds each actual endpoint automatically. The runtime
checks contiguous phases within each Action and disjoint new speech/action work;
a new Action starts at its own phase 0. Use `prepare_source_film_unit` for the
designed boundary. CONTINUE inherits the immediate official tail; CUT exits that
chain even inside one Scene/Shot; MATCH is a separate start with authored reference
use, not an automatic I2V continuation. A designed cross-Scene CONTINUE is retained
across Scene IDs. Recover frozen work with its pinned boundary and references,
never by discovering the latest media again. Hard cuts use the ordered edit
assembly; they do not require equal endpoint frames or remove dialogue.
A completed generation or visual PASS does not mean its entire selected spoken
line was realized. Record listened, byte-pinned spoken IDs in the existing review
observation before advancing that line; otherwise preserve unverified coverage
and stop progress rather than silently skipping its unfinished words. When the
user explicitly permits a bounded visual continuation with unreliable listening,
the new batch may retain `SPOKEN_CONTENT_COVERAGE_UNVERIFIED` and carry that pending
coverage forward. This is not speech completion or Scene acceptance. An observed
omission or repetition still stops the next generation.
Whole-shot establishing camera prose stays pinned as context, not a new event.
When a retained candidate shows unmotivated movement, ask the existing cinematography owner for a phase-bound inherited state, motion decision, narrative trigger, motive, trajectory, extent and end state. Bind the exact scoped accepted `CameraExecutionDirection`; compile its background separately from current execution. Use `revise_source_film_segment` for the same phase and actual predecessor, retaining the failed candidate, requests, costs and deferred goals. No clip boundary, whole-Scene clock or generic hold sentence may substitute for a beat decision. Review the entire new output and join against that decision; lack of movement alone is not a PASS.
Seedance first-frame and multimodal reference inputs cannot be mixed. Request
`return_last_frame` for new chain operations, retain its real provider result,
and inspect the actual POST `image_url`/`first_frame` slot. A missing official
last frame is not proof that a local extraction is a trusted portrait input.
Rebuild previews through `source_film_preview_manifest`: this I2V route returns
new segments, each logical completion appears once, and no fixed prefix trim is
allowed. Raw repeated performance needs regeneration; frame similarity never
authorizes removing dialogue. Historical frozen requests/reviews are retained.
Each new clip requires fresh exact financial terms within the shared user budget.
Seedance 2.0 can select its output duration when the Host has not specified exact
seconds: call the native `resolve_profile` with `duration_ms=None` (or omit it).
The retained profile marks `durationMode=AUTO`; the request sends the documented
`duration=-1`, not an assumed default from omitting the API field. The positive
`requestedDurationMs` then denotes the provider maximum for budget/feasibility,
not promised or observed length. Quote/reserve for that maximum; recover actual
duration from returned media. Automatic selection remains within 4–15 seconds
for Seedance 2.0, never proves full coverage of a longer authored Shot, and does
not authorize automatic splitting, shortening dialogue, or new paid requests.
Keep explicit fixed-duration requests and historical seals unchanged.
A scoped `FilmSegmentRevision` consumes its own approved replacement intent once, together with fresh exact cost terms; never clear or reuse its predecessor's consumed intent. A RESERVED operation has not crossed dispatch and remains eligible for its original single submission. Only a retained local `RECOVERY_TRANSPORT_READ_ONLY` definitely-not-submitted refusal permits that same dispatch to reopen; UNKNOWN is never treated this way.
A created task with an exact terminal FAILED receipt and no media may use the same scoped segment revision only within an explicit additional-create authorization and fresh costs. Preserve the task, failure, consumed intent and count; never fabricate a REVISE media review when no output exists. Do not weaken Provider moderation. Release a fee reserve only from source-pinned applicable billing evidence; policy-based reconciliation and the actual invoice remain separate. An UNKNOWN or running task cannot enter this path.
A user-authorized replacement opening uses `restart_source_film_media` on the
same completed parent boundary. The immutable batch retains its preceding
checkpoint and Runtime completion; old child operations, requests and fees remain.
Use a new text-only opening with `return_last_frame=true`, then deferred I2V
descriptors. Never feed old rejected Media into that batch. Persist every official
tail through `retain_source_film_last_frame`, including the final segment; each
continuation takes the immediately preceding batch output. Its preview contains
only this batch's new raw segments, without trims or transitions.
When deriving the retained context for a continuation, apply that predecessor's
reference dispositions: OUT_OF_UNIT age/place duties stay out, and multiple
authored purposes for the same role/subject share one binding duty. I2V still
sends only the immediate official first frame.
A failed continuity review stops the next child; a passing frame review never
proves unobserved native audio or complete Scene coverage.
An explicit current-unit rights approval may carry the existing bounded
unverified-audio policy when the old batch did not. Validate the exact rights
scope and receipt; retain earlier listening doubts, and still stop reliable
missing/repeated speech. Never rewrite the old batch or mark speech verified.
If a native parent reconciliation times out after its current child has an exact
known provider receipt, resume that same result through the bounded read repair.
Pin the child in the retained failure evidence; this does not authorize a create
POST, an UNKNOWN supplement, or a new fee reservation.
Cross-Shot reuse keeps immutable source scope/review/hash and adds the target use
and current Action state separately. Select adopted sources by shared character
identity and typed LocationDesign/SceneLocationBinding, including historical
returns; source adoption does not prove suitability for a new purpose. Project
the target location override separately from the place geometry. Keep age,
costume, light/time, pose, camera progress and spoken content in the target design.
An adult source is narrative identity evidence, not a verified child portrait or
voiceprint. Missing qualified face/voice media remains UNVERIFIED; do not upload
external human images or mix unsupported Seedance slots to bypass that limit.
For a child/youth start, a mismatched or unknown-age adopted face stays in the
narrative identity record; do not send it as an executable face reference. Use
the already qualified text-only start when no applicable visual input exists.
Determine source subjects from that media's frozen unit, not the entire Shot's
roster. A school output does not prove university or street crowds declared in
other phases; known mismatched ages also stay out of adult face inputs. Identical
source/use prompt obligations appear once, while conflicting obligations fail.
Project the Work's adopted historical era alongside the current location/time;
source-only metadata does not count as an executable period requirement.
An observed age/location failure may use the existing same-content segment
revision with a derived professional Package and corrected legal input route.
Keep canonical Action/lines, boundary and any actual continuation endpoint fixed.
Bound replacements per content position and count every paid former candidate;
earlier Scene camera repairs do not consume a later position's revision bound.
Apply source-pinned unit fragments to WORLD/SOUND/age facts without replaying
future montage events. In a continuing place, a completed pre-entry/vignette cue
stays background; retain valid current-event relations such as "before he speaks".
Model-specific audio projection must distinguish VOICE_OVER
and OFF_SCREEN from on-screen DIALOGUE; pictured children must not lip-sync an
adult retrospective confession. Structured fields and prompts are requirements,
not deterministic Provider controls or observed consistency proofs.
Speech ordering refers to exact utterance events/spokenContentId, including
successive lines by one speaker; model text identifies those utterances without
turning the relation into extra speech. Global constraints retain global scope;
only an authored subject row receives that subject's label. Cross-age narrator
identity must not attach to a mocking crowd. Keep review status, unresolved
evidence and raw IDs in records, outside executable model prose.
Silent interactive groups may use sparse BeatDPD bindings projected from their
exact approved Performance subject actions; do not invent group psychology.
An actor's goal toward a presence-only destination remains the actor's goal.
Scope span/reference inventories compare independently of serialization order.
A corrected pre-submission scope failure resumes the exact child and retains its
failure evidence; repairs for earlier children do not exhaust a new child's bound.
If an Action phase exceeds route duration feasibility, a source-pinned whole-line
`spoken_range` may split its existing spoken IDs without rewriting that Action,
Scene, Shot or Package. Preserve contiguous ranges and all lines exactly once;
later parts of the same phase use its immediate official tail, never replay the
hard-cut start. A phase is covered only when all assigned lines are covered.
For authorized autonomous production, `select_source_film_working_input` records
a persisted PASS candidate as HOST_WORKING_INPUT. Production coverage/reference
selection may advance from it; user adoption and actual sound verification stay
separate and pending. Never fabricate an ADOPTION receipt for a new candidate.
If final playback exposes a concrete defect in an unadopted completed candidate,
append its exact scoped REVISE through `record_source_film_candidate_reassessment`.
Preserve the original review and successful generation; progress and reference
selection exclude that candidate. Record dependent continuation separately rather
than claiming a new visible defect or silently reusing the rejected starting state.
An explicit user adoption may accept that exact completed version with its known
findings. Append the existing ADOPTION receipts for the retained source Media and
the delivered bundle, keeping REVISE and listening evidence intact. Adopted
assigned content advances native production progress; accepted repair/dependency
plans no longer requeue it. Preserve each finding's restrictions on future
reference use; adoption does not qualify flawed scenery or group appearance.
Use `resume_source_film_status` to continue the existing Run and deliver the
program's coverage announcements at a written paragraph/Scene end. A successful
parent operation is not completed film content. Keep user adoption, actual sound
verification, accepted uncertainties, subtitles and remote persistence separate.
Coverage counts adopted assigned phases/lines; it does not verify actual Russian.
Accepted uncertainties do not requeue the same adopted content. Planning duration
and actual adopted duration remain distinct, without duration-based filler clips.
`preview_source_film_next_unit` produces a volatile, explicitly NOT_AUTHORIZED
request rehearsal through the native compiler/Provider projection. It creates no
formal child, Preparation, cost reservation or POST; reference locators are media
identity placeholders. Use `scripts/preview-native-film.py` against a snapshot
for offline progress and request delivery. No real result is implied by a test.
Before preparing or submitting new video generation, use the Host's current per-model enabled status. Skip disabled models even if an earlier route selected them or a preference pins them. Re-select only within existing continuity and authorization gates. Disabling a model stops new submissions; it does not discard or prevent recovery of an already submitted task. Image generation is unaffected.
## Every performance-bearing Shot and silent Beat (R3)
Read [full performance coverage and isolation](../../docs/full-performance-coverage.md). Require standard acting direction for every actor-bearing Shot and significant silent action; complexity only increases detail. NO_ACTOR_PERFORMANCE_REQUIRED needs an explicit reason and no actors, vocal performance or performing ensemble. Validate source/scene/target/prop refs and context fingerprint; no sample-prose fallback. Preserve each group layer's attention, received cue, response latency and continuing task instead of synchronized NPC acting.
After authorized production, collect observations for all performance-bearing fragments, not only critical Beats. Actual observation/adoption is separate from full design coverage. Apply the current full inventory to FilmReview; one missing ordinary Beat blocks completion. No formal Shot or Media is created by a screenplay-only coverage fixture.
## Actor / visual projection and realized evidence (R2)
Read the [shared performance contract](../../docs/cross-modal-performance-direction.md) for all performance-bearing fragments. Extend the existing VisualPerformanceBrief with the validated Director projection: observable body, posture, weight, gaze, head, hands, breathing, prop, partner, distance, timing, release, continuity and DO NOT. An adjective alone is not an instruction. Stillness has attention and an active task. CG projection reads the current CG Performance Grammar; DPD and Director intent stay route-independent.
For cinematic-shot-v1 transfer the visual projection and native voice direction into the single CinematicShotSpec via `attach_cinematic_performance`; never dispatch a parallel visual prompt. After authorized production, record actual visible events in RealizedPerformanceSnapshot, pinned to bytes, speaker and Beat. Preserve a deviating observation. Story-meaning deviation requires VISUAL_REVISION_REQUIRED, not corrective dialogue; observation/persistence does not authorize dubbing or adoption. Audio evidence requires listening, never inference from still frames.
Honor the sealed Host execution identity and source-bound capability requirements.
Invoke only the qualified backend/model/transport; unavailable capability or drift
fails closed without an alternate GUI, direct API or provider fallback. The
[current Host adapter contract](../../docs/visual-provider-host-integration.md#mcp-first-execution)
owns connection discovery, invocation and result identity checks. Its supported
transport does not become a creative rule or imply support for another transport.
New Shot production consumes a frozen `CinematicShotSpec` from cinematic-direction
before video-model-selection. Use the existing [director handoff](../../docs/cinematic-direction-contract.md)
to carry acting beats, camera motivation, reference duties and execution demands
into the same route/request checks. Do not replace it with a free emotional label,
skip its frozen projection, or change an adopted original AV while adding direction.
Use `shot.get_shot` and `scene.get_scene` when their stable IDs are known and the approved production context was not already supplied. For a continuous Scene, establish one shared Sequence Context before producing its Shots. Load [references/production-rules.md](references/production-rules.md) to plan stable facts, references, Shot deltas, review, and revision. When a Shot has `spokenContentBindings`, also load the [Dialogue Layer content convention](../../docs/dialogue-layer-content-convention.md), resolve every binding against the Scene's canonical `spokenContent`, and require numeric `plannedDurationMs` plus a passed `DURATION_FEASIBILITY` check before physical media production. Keep these decisions in Agent Run Context rather than creating new domain records.
Discover reference candidates from named visible characters, the Scene, focal props, costume variants, and other relevant stable visual entities. Use `asset.get_asset`, `asset.list_assets`, or `asset.search_assets` without inventing references. Inspect stable reference Media with `media.get_media`; use `media.list_media` only for a clear structural media scope, not broad discovery. For image preparation consume the approved Reference Plan. The currently verified image adapter supports no more than three stable Asset-plus-Media references; if required duties exceed its capacity, return `REFERENCE_CAPABILITY_CONFLICT` rather than dropping a duty. Official video consumes the qualified Canonical Continuity Pack under the unified VideoRequest; its required multimodal bundle is governed by the video registry, not the image cap. Record selected and omitted candidates with rationale. Return `MISSING_STABLE_REFERENCE` for a key visible character whose stable identity is absent; do not silently omit it, substitute an informal image, or generate an unreviewed master inside Shot production. This blocks only media that must show that character; it does not invalidate the Work-scoped `speakerKey`, Scene dialogue authoring, narration, or non-visual speaker identity.
Do not require a visual provider for context reads, non-visual planning, Shot design, or other non-visual work. For image or video planning and execution, load [references/visual-provider.md](references/visual-provider.md) so the plan includes the complete reference-to-provider-to-Media handoff. Before actual execution, preflight only the Drama and visual capabilities required by that request. Return `DRAMA_PROVIDER_UNAVAILABLE`, `VISUAL_PROVIDER_UNAVAILABLE`, or `VISUAL_PROVIDER_CAPABILITY_MISSING` when the corresponding capability is unavailable; stop rather than installing, configuring, or simulating a provider.
Before preparing new video inputs, consume a qualified ProductionRoute from [video model selection](../video-model-selection/SKILL.md). Select only after Shot narrative, performance and sound requirements are fixed. This planning record has input duties, not placeholder Media. Seal the executable video decision only after its actual inputs are reviewed and formally recoverable. For video and its necessary input images, use one stage budget in [first-pass production](references/first-pass-production.md); submit only the reserved request and requalify after any material change.
Before visual generation, compile each approved Shot into stable identity and environment facts plus current action, composition, representative keyframe intent, required visual evidence, forbidden visual outcomes, and continuity constraints. For new image production and image revisions, load [first-pass production](references/first-pass-production.md) and use its executable request preflight and persistent reservation/review gate before calling the Host provider. Qualify up to three representative planned Shots before expansion, preserve reference versions and actor/action ownership, and change strategy when material failures repeat. Use resolved dialogue only for the visible delivery, reaction, off-screen, or voice-over intent relevant to the binding; never copy its text into the Shot or provider-owned state. Resolve each selected input through `media.resolve_media`, execute the available visual capability, and apply the per-Shot review defined in the production rules. Reject an unsuitable candidate without ending the task. One focused correction is a useful default, not a target limit. The Host may reassess prior candidates, select a suitable working input, or replan composition, supported inputs, model or template within the existing task and stage totals, without another creative approval. Preserve core story facts and user adoption; record the reason, next choice, key change and incremental cost, then continue. Do not regenerate a suitable candidate for ordinary flaws.
When an authoritative `DPDSnapshot` is supplied for a visible speaker, first project it into a typed, provider-neutral `VisualPerformanceBrief`. The brief owns only current visible behavior such as body activity, head behavior, gaze, facial tension, gesture policy, interaction orientation, pre-speech behavior, and visible control. Stable Character/Scene appearance remains in Asset/Media; framing, lens, angle, composition, and camera movement remain in Shot design. The projection must not reinterpret objective, tactic, relationship, subtext, or historical context. Materialize the brief together with the separate Shot camera/design facts, and record unsupported or approximate Provider controls without pretending they are exact.
After technical/source checks, preserve a worthwhile paid output as CANDIDATE even while content review is pending. Use the production gate `persist` operation for an existing visual attempt: call `media.import_media` or reuse by stable source, get/resolve/download, verify full bytes and ownership, and write/read back its formal business binding. Keep content review and user adoption independent. Any required identity annotation is a separate derived version; it is not a Provider quality criterion and must not replace already adopted bytes. Keep the verified `mediaId` and role in both the formal business record and Agent Run Context. For a DPD-directed performance video, inspect playback or a controlled set of representative frames and record an accepted `RealizedPerformanceSnapshot` from actual visible facts, including only the minimum useful timing windows. Describe the video even when it deviates from DPD; a conformance diagnostic may inform regeneration but must not block candidate Media/Snapshot preservation and must never rewrite the observation. A meaning-changing or unreviewed deviation can block dubbing and adoption until the responsible owner resolves it. Unknown or obscured facts remain `UNKNOWN`. Observation never infers objective, tactic, relationship, subtext, or internal activation. Compare only Review-PASS Shots during cross-Shot continuity review. If two or more Shots require continuity regeneration, stop with `SEQUENCE_CONTINUITY_REQUIRES_REPLAN`. When audio production is explicitly requested, `production.generate_role_dubbing` may consume the resolved Scene text, Work-scoped speaker identity, performance intent, provenance, estimated duration, and Shot coverage intent; it must not rewrite, delete, split, merge, or replace canonical `spokenContent`. There is no mandatory image-to-video-to-audio sequence and no separate Dialogue record or Audio timeline in this Skill. An explicitly adopted existing AV may go directly to Host assembly preparation with its original sound; source dialogue bindings are not a mandate to add external speech to an already adopted performance. Record a material narrative gap separately without silently rewriting the screenplay or automatically scheduling dubbing.
Use `context.build_context` only when required Shot context was not supplied, and use `context.refresh_context` only after stable generated Media makes the current context stale. Never expose temporary URLs, storage locations, filenames, provider task IDs, workflow documents, node IDs, or provider-specific responses as Drama domain facts. For a DPD-directed performance video, stop when both the stable Media role and accepted Realized Performance Snapshot are clear; otherwise stop when the requested media exists in stable Drama memory and its role is clear. Do not redesign the Shot or continue to another Skill automatically.
## Dialogue-coupled execution
When complete actual Audio exists, derive this Video's execution timing from its measured durations, the immutable DialogueTimingPlan's protected reactions/holds, and the production target. Never let original estimates exclusively determine speech phases. Consume the derived material in the schema-authoritative projection (legacy VisualPerformanceBrief or new CinematicShotSpec) and the real request; emit active speaker, listener, visible action, reaction, transition purpose and performance boundaries rather than only hashing them.
Keep monolithic production for the current single-Shot baseline. New Video requires new shot-level RP and speaker-specific snapshots with observedSpeakerKey; null denotes aggregate only. Observe visible participation and handoff, not guessed psychological states or mouth-as-speech-onset. A physical fit does not prove visual fit. Respect latest user rejection and the current task's explicit intermediate-review authorization. Record one shared corrective visual rebuild budget; if that fails, do not enter an unbounded Audio/Video loop. Mouth derivatives require fresh face/non-speaker/identity/continuity observation, preserving original source Media and timing authority.
## Durable completion and recovery
For retained image, video, audio or derived AV, formal completion requires full
readback SHA-256/size, decodable media, correct business ownership and a queryable
stable business binding. A local path, upload name, returned ID or temporary URL
alone is PERSISTENCE_PENDING. Content PASS, user adoption and persistence are
independent; persistence must never rewrite an existing adoption decision.
The shared completion entry `complete_retained_media` implements import/reuse,
readback and binding. Visual attempts call it through `visual_preflight.py persist`;
role speech calls it before returning a production result; an explicit mux calls
it on the new output before formal delivery. Adopted native AV consumption uses
`prepare_bound_media(adopted=True)` to recover the selected original from its formal
business reference. It performs no dubbing, separation, mixing or remuxing.
After a successful generation, resume at import/readback/binding with the same
job, output hash and sourceRef. After an uncertain import, query the exact stable
source first; ambiguity, permission denial, hash conflict or unknown ownership
blocks completion. Retry transient reads with finite backoff and fresh resolve.
Never generate again to repair missing cache or persistence. Do not import
unneeded DEBUG/REJECTED files or invent an output that was never generated.
## New-story route gate
For a new production Work, finish narrative and text identity first, jointly
plan the route and its minimum input duties with video-model-selection, and save
that route using the existing Work contract. Asset discovery before route selection
is read-only. A shared reviewed image may establish several necessary identities;
do not automatically create separate character, location, prop and endpoint sets.
Use `shot-production/scripts/route_preflight.py` for the Work-owned stage. Paid
images must match a current necessary duty and explicit whole-stage budget.
Materialize and review only the inputs for the current representative target;
no full-episode asset expansion follows from route selection. Keep all result,
review, settlement and persistence updates on that same formal stage.
Initial visual identity creation belongs to asset-resolution and may share a
necessary first frame. Mark `identity_bootstrap` explicitly in the existing image
preflight; it is a creation intent, never a claim of identity continuity PASS.
After inspection and formal persistence, bind a joint image once and enumerate
its `reference_members`; preserve distinct named actor blocking. Subsequent
frames require the reviewed reference and cannot use bootstrap to bypass identity
review. Fixed reference limits remain unchanged.
## Use-based content review and autonomous recovery
Record the Host's use/skip reason for rehearsal against current adopted sources;
load external methods for the actual uncertainty. A stable rig proves control,
not natural effort. Compare loaded, releasing and next-task poses in the intended
view, using diagnostic angles where contact or reach remains unclear. Prior stroke
counts, camera locks and end holds remain shot-specific choices.
At normal playback, judge action, speech, attention and sound across the coverage
group. Frame samples and curves locate faults but cannot certify rhythm; record
missing playback/listening as an observation limit. Keep meaningful stillness.
When expression lapses, return the interval and consequence to existing
Performance/Editorial/Clip planning. Update those originals and recompile; retire
obsolete rehearsal bindings while preserving their history. No automatic speed-up
or paid retry follows from this review.
Separate generation length from intended editorial sourceIn/sourceOut. Do not
stretch acting to fill a minimum clip. Test cuts and sound relations in continuous
temporary AV; only an adopted motion guide goes into its declared reference slot.
A temp mix or storyboard does not silently become a provider input.
Judge whether the shot works at normal viewing size, duration and in context. Natural occlusion, imprecise background/type detail, unlocked initial appearance preferences, minor costume/light/framing differences and unconfirmed contact do not by themselves block. An input still is not a magnifiable technical diagram. Do not infer an error from missing evidence. A major failure must describe the visible observation, the core requirement it breaks and why that affects this use; a category label alone is insufficient. Missing action-critical props, contradictory action causality, serious established identity/continuity errors, explicit distortion of important historical facts or severe normal-playback audio/visual defects remain failures.
Record applicable checks, notes and major findings in existing reviews. Omit irrelevant dimensions; relevant unknown evidence remains pending and the Host first seeks observations. Pending sound does not block independent visual work or become sound PASS. Append reassessments without replacing original review or paid/rework events. Consume the latest effective review for the stated use. The Host can choose a verified suitable Media as HOST_WORKING_INPUT; this never implies USER_SELECTED or final artistic acceptance.
Use existing route_preflight revise-review, select-input, resume and replan operations. Old TARGETED_REVISION_FAILED records remain historical; normal Host replanning releases the content pause without resetting attempts or requesting an exception. Requalify changed routes and compile/seal changed requests normally. Confirmed created jobs count toward stage totals; confirmed noncreation stays a bounded technical attempt; unknown creation first receives finite automatic recovery, then may consume an explicitly authorized supplemental attempt while retaining its possible charge and full reserve. Unknown settlement retains its reserve but is not a running generation. Never repeat a failed approach without changed strategy or reasonable success evidence.
## One visual execution authority
For `creative_schema = cinematic-shot-v1`, DPD is the dramatic authority and
CinematicShotSpec is the only visual/time/camera execution projection. The
VisualPerformanceBrief instructions above apply only to legacy schemas; keep old
briefs as lineage, never another compiled motion prompt. RealizedPerformanceSnapshot
remains observation of actual Media after generation.
The existing Host adapter must preserve every execution-critical semantic in its
projection manifest. REQUIRED references need formal Media identity, sourceRef,
hash/type, reviewed duty and actual slot, or an explicit supported equivalent.
Static portraits cannot fulfill performance references. Check observed endpoint
state against frozen Opening/Ending; conflict requires re-plan. Input caps remain.
SourceSoundIntent covers generation-time native speech, diegetic/ambient sound,
silence, unwanted music and continuity. It does not choose voices or mix audio.
Original AV stays immutable; authorized repairs create new derivatives.
`scripts/compile_video.py` uses the actual compiler/seal offline and always emits
non-submittable dry requests. Paid use requires fresh canon/Media through
`route_preflight.py`, current capability, complete quote and the existing stage
reservation. Unknown complete cost stays unknown. Only verified provider metadata
may impose a prompt limit; no shared 2000-character cap or silent truncation.
Formal Sequence submissions, including retries, must validate the [ProductionDesignFreeze entry](../../docs/sequence-production-contract.md#production-design-freeze-and-executable-closure) before execution. In the packaged MCP adapter, this is enforced through `hosts.sequence_execution.invoke_sequence_reserved` before submission. Other Hosts must implement equivalent gates before their route can be qualified. Run `scripts/sequence_preflight.py` for offline readiness. Refresh approval/Asset/Media evidence, bind the exact compiled request to package/freeze/clip fingerprints, and keep existing route, projection, quote and budget gates. INCOMPLETE freeze blocks submission; never bypass it by invoking the single-Shot helper or treating old formal casting as user approval.
A [visual route](../../docs/visual-route-contract.md) is separate from provider/input route. Before any future route-specific production, verify every input against the same resolved visual route and existing approved design. A V3-02 design sidecar is not production approval; never silently drop a CG route marker into the legacy paid path.
## Official video lifecycle
For a qualified official video route, use the [unified video contract](../../docs/video-provider-contract.md) and `scripts/video_provider.py` Host entry. It uses the same Work route, stage authorization, exact reservation and Media completion as existing production. Skills supply creative requirements and stable references; provider translation, credentials and asynchronous vendor identity stay below the Host boundary.
For uncertain submission, first perform finite automatic queries and resume any exactly recovered task. When none is recoverable, the current cumulative cost authorization may permit a bounded supplemental attempt on the same logical operation and unchanged request. Preserve the UNKNOWN attempt, count it as possibly charged, retain its full reservation, and append the new attempt with its exact approval and prior-attempt link. Never reset counts or reinterpret UNKNOWN as free/noncreation. No additional user task ID or absolute noncreation proof is needed within the authorized count and budget. After the authorized supplemental attempt is UNKNOWN, retain a queryable wait and do not add another submission. Expired media links never justify new generation. A retained candidate is not content approval or user adoption. Preserve the canonical continuity/style fingerprint in every attempt and result. Historical Comfy evidence remains readable; it cannot authorize discovery, prompting, new generation or fallback through the retired MCP.
When the supplemental result has completed the same business goal, use `reconcile_historical_unknown` for one bounded read and retain `COMPLETED_BY_SUPPLEMENT` together with `PENDING_RECONCILIATION`. Keep the original attempt and its original reserve attribution exactly once. The historical accounting record cannot reopen the completed goal, request another supplement or duplicate its reserve in a revision/new batch. No exact recovery or invoice means the old result/fee stays unknown, never zero or settled; this does not block an independently authorized current candidate.
## Route-owned expression
Consume the frozen route-specific expression via the existing cinematic projection; never append actor realism to heroic CG or carry CG exaggeration into live action. Pending casting candidates cannot become approved references by production. Read [expression route contract](../../docs/expression-route-contract.md) when using character or action expression profiles.
## Character Package ownership
Consume locked package identity and the selected visual envelope read-only. Missing production-ready identity blocks dedicated-character production; provider prompts are task projections only.
Use the unified read-only `CharacterRepository.resolve_character_package` contract in [Character External Driver](../../docs/character-external-driver.md). Pin characterPackageRef, characterPackageVersion and checksum. Never create or overwrite Character Core in this Skill. Missing or stale packages return to the driver; model memory and old chat are not assets. DESIGN_REVIEW access does not authorize casting or production.
## Still live-action professional knowledge
For an explicitly selected STILL/LIVE_ACTION knowledge profile, use the shared source mapper and Host preparation described in [still professional mapping](../../docs/still-professional-mapping.md). Freeze approved originals and receipt before FrameSpec.professional_sources and the IR fingerprint. reserve and begin-submission re-read Work-owned current pins and exact approvals. Existing compile_ir/image_serializer remains the sole static writer; no face/camera prompt appendix. Nonempty imaging_character cannot silently pass an unsupported consumer.
Use the evidence-based face/camera criteria through the existing Review handoff in that document. A face looks game-like only as a summary of specific regional evidence, never as a standalone FAIL or beauty score. Invisible evidence is UNKNOWN, minor observations do not request regeneration, and each actual failure routes one responsible owner. F40 scopes a proposed repair around original anchors and preserved facts; it does not spend or retry. C35's one-variable rule is an A5 experimental control, not a limit on authorized production repairs.
Read [mapping and evidence profile](../../docs/still-professional-mapping.md) when preparing these still records. Knowledge remains LOCAL_EXPERIMENTAL until scoped A5 media evidence.
For the native source-to-reviewed-media path, consume professional beat and spoken-ID applicability before compilation. A beat may span distinct camera events and a designed hard cut; derive the missing execution mapping through the existing Professional / FilmPlan / Package versions, retaining original Action and dialogue coverage. Structured movement leaves remain camera motion in the final model request. Refresh an expired official reference-video delivery URL by querying its exact retained task; retain provenance and immutable Media, never recreate or locally substitute its face video. A definite HTTP create rejection may use the existing bounded segment revision with fresh execution/cost authorization; preserve its failure and do not classify it as UNKNOWN or successful media.
Current-age reference selection uses positive authored state or observed appearance, with the source state read from its frozen production owners. A prohibition such as “do not become a child” does not prove a child age. Prefer qualified current-Scene identity evidence when available; retain relevant historical location selection and all source/use checks. This choice expresses an input purpose, not verified likeness or voice identity.
A new professional-derived Package applies to new production. Completed native clips retain their exact frozen Package, Preparation, media hash and adopted Canon/Scene/Shot identity. Recovery verifies these immutable links separately from the current Package; it must not reject old completed clips merely because a later professional version exists or replace their frozen owners to pass validation.
Changed reference purposes/authority versions create a new immutable target-use binding even when the source media and Action state are unchanged. Source-view descriptions such as a reference video's final close view are current identity evidence, not future Scene events to remove from the request.
### Current-shot supply and local-reference timing
Before compiling, map each adopted instruction to its actual owner: shared action sequence, individual visible behavior, camera, visible setting, or current sound. Supply each meaning once; do not fill multiple fields with the director paragraph. Optional fields can remain absent. Exact utterances come from Canon spoken IDs; performance text describes their relationship to action without quoting them again. Version/adoption history and cross-shot edit/sound work stay in the existing production records.
A local motion reference is not the full performance clock. Place its supported action within the complete shot's entry, preparation, contact, release and cut; review the remaining actions at normal speed too. On adjoining shots, put a handoff/release/withdrawal on one side of the cut with an explicit matching state on the other. After inspecting the current rendered clip, adopt only the useful scope or keep it as director previs and SKIP its video input.
When adopting a local video, set `referencePurpose` to its concrete supported interval and use. Set `referenceSemantics` to `["motion"]` when it supplies only action, `["camera"]` when it supplies only camera, or both when both are deliberately adopted. The default supports both for existing plans; it must not broaden an explicitly authored purpose.
## Single-actor trajectories and endpoint-state review
For a continuity-sensitive shot with repeated identity references, require the
final projection to carry the authored cross-image identity mapping and one
body trajectory for each intended single actor. When that actor moves from
background to foreground, specify the vacated origin and the same body arriving;
a short no-duplicate-face/body restriction may reinforce this, not replace it.
Do not apply that restriction to intentionally doubled people or reflections.
Check the opening, intervening action and ending for each critical prop contact
against the actual predecessor. Express the positive relation (such as a held
instrument below the mouth), the allowed change and any forbidden reset. Preserve
natural motion; do not invent a recovery action to hide a state mismatch.
Read the actual compiled reference preamble as well as the action prose. Repair
conflicting reference semantics and owner facts, then recompile; do not append
an override to a sealed request. Offline checks establish mapping and design
consistency only. Review future actual entrance/transition/end frames for duplicate
bodies and contact resets, and playback for motion and speech. Record untested
generation efficacy as unknown; no generic negative phrase guarantees success.
## Critical prop transfer review
For a consequential set-down or handover, consume Action's same-instance chain
and Reference's similar-object findings. Review the final request for entry-only
grips accidentally expressed as permanent states. Ensure a scoped “禁止复制”
restriction, when needed, accompanies the positive receiving support and release
rather than substituting for them; do not append it to a sealed request.
Review applicable milestones: before movement, receiving contact, release, the
next hand task and the endpoint. Track the same object across both its former
and new locations, including the other hand and nearby container. Verify not
only that a placement occurs but that the old holder no longer retains a copy.
Shared contact during a real handover is allowed; occlusion is UNKNOWN, not proof
of disappearance or duplication. Use normal playback for consequential motion
and samples to locate faults; separate speech review from prop review.
A free sketch or proxy can check count conservation, supports and accessibility;
it cannot certify the input's ambiguous shapes or a future model result. Record
which uncertainty justified using or skipping it. If generation violates the
chain, retain the exact interval, source/request and observed consequence, route
the issue to the responsible owner, and respect the current retry authorization.
## Mandatory Host review of the compiled request
Before submission, the Host must read the complete actual compiled text and selected
input roles/hashes, not only a source package, summary, schema PASS or earlier
preview. Retain a review against the exact Package/Preparation/final-prompt
fingerprint and reference bindings using existing preparation/review records.
Review temporal scope (entry, interval, transition, ending, invariant), identity
through movement and occlusion, speech-relative performance, and whether required
reference findings actually reached the request. Missing or stale review means
not ready to submit. Any changed owner, binding or compiled text requires review
again. This is a required Host procedure within the existing production flow, not
a new Runtime gate or user approval and not automatic semantic certification.
When a conflict is found, the Host must intervene: revise the responsible original
or binding, compile again, and review the whole affected trajectory. Never patch
a sealed prompt or append an override. Preserve the previous versions and findings.
Check absolute terms such as “always” against intended release/change; do not
ban these terms globally. Camera stability must not freeze an actor's entry pose.
For a group reference, verify distinguishable subject anchors and the same body
before, during and after consequential occlusion. Counts alone cannot catch one
actor acquiring another's face. Local diagrams prove authored constraints only;
model compliance and playback/listening remain untested until actual production.
## Host verification of changed-view continuity
For an exit followed by a new view, compare the actual outgoing travel interval,
new camera/path relation and target exit, not just two endpoint frames. If geometry
is unresolved, use a scoped free sketch/proxy to test that relation; inability to
prove face identity or lighting is not a reason to skip a useful geometry check.
Keep assumptions explicit and do not claim an empty tail establishes motion.
Read the compiled request for compatible world path, screen entry/exit, occluder
sweep, final focus/readability and motivated light. Check actual selected input
roles against their visible competing cues. Record separately: source projected,
design feasible in the inspected sketch, and future media result unverified.
Host must repair conflicts in the responsible original/binding and recompile;
a projection PASS or a prohibition does not discharge the spatial/visual review.
Retain the exact prompt and input hashes with the reviewed sketch version in the
existing preparation notes. This adds no Runtime gate, automatic approval, paid
call or fixed shot template.
## Compression after complete prompt compilation
When shortening an approved or reviewed prompt, first retain the complete native
compiled text with its source/package and input-binding hashes. Read
[meaning-preserving compression](references/meaning-preserving-compression.md).
Derive deduplicated and compact expression candidates from that exact original,
never from a summary or directly from upstream designs while skipping the full
prompt. Keep the sealed request unchanged. Character targets are advisory: no
truncation, silent omissions or automatic preference for the shortest candidate.
## Model-facing context must be self-contained
Exclude local task/shot/version identifiers, run names, paths, approval labels and
provenance hashes from model-facing prose unless they are explicitly required
visible/spoken story content. Keep them in Host metadata. Replace their creative
meaning with concrete state, direction, timing or the exact bound reference ordinal;
“match shot K02” is not an executable lighting instruction. Do not merely delete
the identifier and lose the relation. Review all authored and compiler-added prose,
including reference preambles, for unresolved local shorthand. Defined character
aliases and actual provider reference tokens remain valid when unambiguous.