Preair Rehearsal Contamination / 预播排练污染机制

Preair Rehearsal Contamination covers the dangerous gap between a planned broadcast and the broadcast that becomes reality.

Storyteller already has strong surfaces for after-the-fact reality drift, copy provenance, package authorship, claimant notice, and faction commitments. This mechanism handles an earlier seam: a rehearsal, scratch cut, sponsor preview, inspector blocking note, cue sheet, or fan-door recording can start being cited before the final broadcast airs.

The player is not choosing a generic prep action. The player is deciding whether a not-yet-real version remains draft, becomes official, is quarantined, is rewritten, is privately captured, is publicly admitted, or leaks into reality as a false proof.

Entry contract

Open this mechanism only from live state pressure.

entry_state:
  trigger_kind: state_pressure
  planned_broadcast_or_rite_present: true
  rehearsal_trace_present: true
  authoritative_broadcast_not_yet_resolved: true
  trace_holder_present: true
  claimants_min: 2
  final_air_decision_can_change_future_route: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true

Valid rehearsal traces include:

  • rehearsal cue sheet;
  • scratch cut or temp edit;
  • sponsor preview wording;
  • inspector-safe blocking map;
  • stage mark or live-floor call sheet;
  • artist refusal rehearsal;
  • witness protection rehearsal;
  • fan-door recording;
  • pirate relay echo;
  • AI continuity rehearsal memory;
  • editor checksum preview;
  • route-asset test handoff.

A trace is eligible only while it is not yet an accepted final broadcast, public package, lawful copy, or fully resolved derivative asset.

Core question

When a rehearsal trace can be mistaken for reality, who controls the boundary between draft and broadcast?

Every branch must answer:

rehearsal_row:
  source_rite_or_scene: <id>
  planned_broadcast_version: <version>
  rehearsal_trace_kind: <kind>
  trace_holder: sponsor | inspector | editor | fan_public | artist | witness | pirate_relay | production | explicit_absence
  trace_claim: <what the trace appears to prove>
  conflict_with_final_intent: <conflict>
  selected_boundary: seal_draft | air_corrected | sponsor_preview_lock | inspector_hold | editor_checksum_rewrite | public_witness_admission | quarantine | default_leak
  final_air_state_after: <state>
  future_route_effect: <effect>

State machine

preair_rehearsal_states:
  no_trace:
    meaning: no rehearsal record can be cited
  trace_recorded:
    meaning: a draft trace exists but has no claimant pressure yet
  trace_contested:
    meaning: at least two claimants can cite or suppress the trace
  draft_sealed:
    meaning: trace is sealed as non-real but costs time, proof, or trust
  corrected_airing_prepared:
    meaning: final broadcast will explicitly override the rehearsal trace
  sponsor_preview_locked:
    meaning: sponsor can cite the preview as promise or leverage
  inspector_hold_attached:
    meaning: lawful hold prevents false use but narrows schedule or public route
  editor_checksum_rewrite:
    meaning: cutroom can make final airing legible while increasing edit debt
  public_witness_admitted:
    meaning: public receipt acknowledges trace before final air
  trace_quarantined:
    meaning: route use delayed or recovery-only until boundary is decided
  trace_leaked:
    meaning: trace is being cited as if it already aired
  false_rehearsal_reality:
    meaning: unbroadcast version has contaminated future route acceptance
  rehearsal_recovered_with_scar:
    meaning: boundary is repaired but leaves cost or narrower future use

Branch families

Seal draft

The player locks the rehearsal trace as non-broadcast proof.

relief_any:
  - rehearsal_contamination_down
  - false_rehearsal_reality_blocked
  - future_route_boundary_clearer
cost_any:
  - schedule_pressure_up
  - proof_burden_up
  - public_receipt_distrust_up
  - handler_burden_up
future_effect_any:
  - final_air_requires_boundary_note
  - route_accepts_only_after_seal

Air corrected version

The player spends a slot, proof bridge, or public line to make the final broadcast override the rehearsal.

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_effect_any:
  - corrected_airing_becomes_required_bridge
  - rehearsal_trace_rejected_by_future_reader

The player accepts sponsor control of the rehearsal boundary.

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
  - artist_boundary_risk_up
future_effect_any:
  - sponsor_preview_citable
  - public_route_costlier
  - route_asset_sponsor_only

Inspector hold

The player attaches lawful hold or safety blocking to the trace.

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_effect_any:
  - lawful_only_until_airing
  - public_route_requires_addendum

Editor checksum rewrite

The player lets cutroom rewrite the boundary between rehearsal and final airing.

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_effect_any:
  - checksum_required_for_future_use
  - raw_rehearsal_claim_costlier

Public witness admission

The player tells the public that the rehearsal exists before final air.

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
  - pirate_heat_up
future_effect_any:
  - public_only_until_lawful_bridge
  - final_air_faces_witness_challenge

Quarantine or hold route

The player delays route use until the trace boundary is settled.

relief_any:
  - false_route_unlock_blocked
  - contempt_risk_down
cost_any:
  - route_delay_up
  - missed_encounter_pressure_up
  - audience_churn_up
future_effect_any:
  - recovery_only_if_unresolved
  - route_requires_containment_rite

Default leak

The player ignores the trace, lacks proof or handler, hides the trace holder, or lets one claimant cite it first.

event_seen_or_armed: storyteller.event.rehearsal_trace_leak.v1
cost_any:
  - rehearsal_contamination_up
  - reality_drift_up
  - sponsor_preemption_up
  - inspection_heat_up
  - public_panic_up
future_effect_any:
  - false_rehearsal_reality
  - route_blocked
  - route_captured
  - route_costlier
  - recovery_only

Counters and durable states

Every branch must mutate at least three counters or durable states. At least one must be relief, one cost, and one future-route or broadcast-reality effect.

Primary counters and states:

  • rehearsal_contamination
  • false_rehearsal_reality
  • rehearsal_trace_pressure
  • trace_holder_leverage
  • final_air_integrity
  • reality_drift
  • continuity_hazard
  • public_receipt_legitimacy
  • public_receipt_distrust
  • sponsor_stop_loss_pressure
  • sponsor_preemption
  • contract_capture
  • inspection_heat
  • bureau_favor_debt
  • edit_debt
  • source_ambiguity
  • witness_exposure
  • public_panic
  • pirate_heat
  • schedule_pressure
  • route_delay
  • future_raw_proof_cost
  • future_route_acceptance

Integration boundaries

Non-goals

  • Not a generic preparation system.
  • Not a fixed rehearsal phase.
  • Not a turn-count or day-count trigger.
  • Not a replacement for broadcast asset provenance afterlife, which handles derivative copies after public or institutional use.
  • Not satisfied by a lore note that a rehearsal happened.
  • Not a free way to preview every branch before paying broadcast cost.
  • Not valid unless future route acceptance or broadcast reality changes.