Preair Rehearsal Containment / 预播排练收束

Preair Rehearsal Containment is the assignable management rite for deciding whether a rehearsal trace remains draft, becomes final-air boundary, is locked by a faction, or leaks into pseudo-reality.

It operates on 预播排练案卷 and the state machine defined by 预播排练污染机制.

Offer condition

Offer this rite only when the docket is concrete.

offer_condition:
  card_present: storyteller.card.preair_rehearsal_docket.v1
  rehearsal_trace_present: true
  authoritative_broadcast_status_any:
    - not_yet_aired
    - prepared
    - corrected_airing_prepared
  trace_holder_present: true
  claimants_min: 2
  future_reader_present: true
  no_fixed_turn_trigger: true

The rite must not appear because a fixed number of turns passed or because a generic production phase began.

Required assignment slots

assignment:
  docket: storyteller.card.preair_rehearsal_docket.v1
  source_rite_or_scene: <id>
  planned_broadcast_version: <version id>
  rehearsal_trace: <trace id>
  trace_holder: <holder or explicit_absence>
  trace_claim: <claim>
  conflict_with_final_intent: <conflict>
  selected_boundary: seal_draft | air_corrected | sponsor_preview_lock | inspector_hold | editor_checksum_rewrite | public_witness_admission | quarantine | explicit_absence
  final_air_carrier_or_absence: <handler card, route asset, proof object, slot, or explicit_absence>
  counterclaimant_or_absence: <claimant or explicit_absence>
  proof_bridge_or_absence: <proof, checksum, receipt, oath, seal, public line, or explicit_absence>
  accepted_cost: <cost id or explicit_absence>
  future_reader: <route, slot, mechanic, asset, or public statement>

A branch is invalid if it selects only a famous handler or pays abstract money without trace holder, proof bridge, boundary, and future reader.

Resolution branches

Branch A — Seal draft

The player names the trace as non-real and preserves a boundary record.

selected_boundary: seal_draft
state_after: draft_sealed
required_any:
  - proof_bridge_or_absence: checksum
  - proof_bridge_or_absence: archive_note
  - proof_bridge_or_absence: public_boundary_note
  - proof_bridge_or_absence: handler_oath
relief_any:
  - rehearsal_contamination_down
  - false_rehearsal_reality_blocked
cost_any:
  - schedule_pressure_up
  - proof_burden_up
  - public_receipt_distrust_up
future_route_effect_any:
  - accepted_after_boundary_note
  - final_air_requires_boundary_note

Branch B — Air corrected version

The player commits slot, proof, and public line to override the rehearsal trace.

selected_boundary: air_corrected
state_after: corrected_airing_prepared
relief_any:
  - reality_drift_down
  - public_receipt_legitimacy_up
  - rehearsal_trace_claim_resolved
cost_any:
  - sponsor_stop_loss_pressure_up
  - inspection_heat_up
  - cutroom_pressure_up
  - audience_churn_up
future_route_effect_any:
  - corrected_airing_required_bridge
  - rehearsal_trace_rejected

Branch C — Sponsor preview lock

The player allows sponsor or management to treat the rehearsal preview as a promise.

selected_boundary: sponsor_preview_lock
state_after: sponsor_preview_locked
relief_any:
  - budget_strain_down
  - sponsor_stop_loss_pressure_down
  - slot_pressure_down
cost_any:
  - contract_capture_up
  - sponsor_preemption_up
  - public_receipt_distrust_up
future_route_effect_any:
  - sponsor_preview_citable
  - public_route_costlier
  - sponsor_only_until_unwound

Branch D — Inspector hold

The player attaches lawful hold or safety blocking to prevent false rehearsal use.

selected_boundary: inspector_hold
state_after: inspector_hold_attached
relief_any:
  - false_rehearsal_reality_blocked
  - custody_clarity_up
  - archive_fraud_down
cost_any:
  - inspection_heat_up
  - bureau_favor_debt_up
  - schedule_pressure_up
future_route_effect_any:
  - lawful_only_until_airing
  - public_route_requires_addendum

Branch E — Editor checksum rewrite

The player lets cutroom transform the trace into a legible final-air boundary.

selected_boundary: editor_checksum_rewrite
state_after: editor_checksum_rewrite
relief_any:
  - continuity_hazard_down
  - slot_legibility_up
  - audience_churn_down
cost_any:
  - edit_debt_up
  - source_ambiguity_up
  - future_raw_proof_cost_up
future_route_effect_any:
  - checksum_required_for_future_use
  - raw_rehearsal_claim_costlier

Branch F — Public witness admission

The player admits that a trace exists before final broadcast and lets public witness rows police it.

selected_boundary: public_witness_admission
state_after: public_witness_admitted
relief_any:
  - public_receipt_legitimacy_up
  - private_capture_blocked
  - fan_trust_up
cost_any:
  - witness_exposure_up
  - public_panic_up
  - sponsor_stop_loss_pressure_up
future_route_effect_any:
  - public_only_until_lawful_bridge
  - final_air_faces_witness_challenge

Branch G — Quarantine

The player blocks route use until the rehearsal boundary has been resolved.

selected_boundary: quarantine
state_after: trace_quarantined
relief_any:
  - false_route_unlock_blocked
  - contempt_risk_down
cost_any:
  - route_delay_up
  - missed_encounter_pressure_up
  - audience_churn_up
future_route_effect_any:
  - route_requires_containment_rite
  - recovery_only_if_unresolved

Branch H — Underfilled or default leak

If the player lacks the docket, holder, proof bridge, final-air carrier, cost, or future reader, the trace becomes leak-ready.

selected_boundary: explicit_absence
event_seen_or_armed: storyteller.event.rehearsal_trace_leak.v1
state_after_any:
  - trace_leaked
  - false_rehearsal_reality
  - rehearsal_recovered_with_scar
cost_any:
  - rehearsal_contamination_up
  - reality_drift_up
  - sponsor_preemption_up
  - inspection_heat_up
  - public_panic_up
future_route_effect_any:
  - route_blocked
  - route_captured
  - route_costlier
  - recovery_only

Success contract

Every successful branch must record:

resolution_contract:
  selected_boundary: <branch>
  state_before: <docket state>
  state_after: <docket state>
  final_air_state_after: <state>
  trace_holder_posture_after: <posture>
  counterclaimant_posture_after: <posture or explicit_absence>
  counter_deltas:
    relief: []
    cost: []
    future: []
  future_route_effect: <effect>

Failure contract

The rite fails if:

  • eligibility uses fixed turn, day, week, chapter, or raw count;
  • the rehearsal trace is not named;
  • no trace holder is visible;
  • no claimant conflict is visible;
  • no future reader checks the boundary;
  • every branch returns a clean final airing;
  • branch costs are only abstract money;
  • default leak is only narration and does not mutate route acceptance.

Non-goals

  • Not a rehearsal mini-game.
  • Not a universal preflight checklist.
  • Not a safe preview of consequences.
  • Not a generic cutroom rite.
  • Not valid if final broadcast and rehearsal trace become interchangeable.