git:20261013.a364c52 to git:20261013.b62f60a

21 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
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 reference Media across relevant Shots/Scenes, and project the current
+ handling/open/closed state separately. Before sealing, compare the final prompt
+ and actual input bindings with the baseline: silhouette, scale, parts and material
+ must survive without conflicting per-Shot reinvention. A reference in Host context
+ is not evidence that its bytes were sent. Missing required proof holds only the
+ affected production duty; keep unpaid preparation available. Historical sent
+ prompts, candidates and their asset bindings remain 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
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 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
+
+ Review action rhythm against the source-pinned scene and final prompt as well as
+ physical continuity. At normal playback, locate preparation, contact, completion
+ and consequential holds; judge whether the intended speed contrast and partner
+ response survive, including across technical joins. Unmotivated waiting, repeated
+ starts or a habitual task stretched over a whole clip can lose meaning despite
+ correct objects and action order. Name the observed interval and its consequence;
+ do not certify rhythm from total seconds, a "quick" keyword or a contact sheet.
+ Missing continuous playback/listening remains an explicit observation limit.
+ Continuity-ready is not rhythm-approved. Return a material loss to existing
+ Performance/Editorial/Clip planning; no automatic speed-up, paid retry or new Gate.
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.