Preair Rehearsal Contamination Lens / 预播排练污染 Lens
This lens observes whether 预播排练污染线 and 预播排练污染机制 correctly make rehearsal traces dangerous before authoritative broadcast.
A passing implementation proves that draft traces are not harmless setup and not clean future assets. A cue sheet, scratch cut, sponsor preview, inspector blocking map, fan-door recording, refusal rehearsal, witness rehearsal, pirate echo, or editor checksum preview can contaminate reality if it is cited before the final broadcast boundary is resolved.
The lens fails if rehearsal prep is a flavor note, a fixed phase, a free preview, or interchangeable with final broadcast and derivative copy logic.
Primary observation link
This lens observes:
It is observed through:
Observable promise
When a planned broadcast has a trace before final airing, Storyteller must answer:
Who holds the trace, what does it seem to prove, how does it conflict with final intent, who wants to cite it, who wants to seal it, what boundary is selected, and what future reader changes because of that boundary?
Must pass
1. Entry is state-triggered before authoritative broadcast
Required evidence:
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
future_reader_present: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_count_trigger: trueThe lens fails if the surface opens from a fixed turn number, day interval, chapter quota, content count, dashboard state, or generic production phase.
2. Rehearsal trace is concrete
预播排练案卷 must name the trace and why it is dangerous.
Minimum card evidence:
preair_rehearsal_docket:
card: storyteller.card.preair_rehearsal_docket.v1
source_rite_or_scene: <id>
planned_broadcast_version: <version id>
authoritative_broadcast_status: not_yet_aired | prepared | corrected_airing_prepared
trace_id: <stable id>
trace_kind: cue_sheet | scratch_cut | sponsor_preview_wording | inspector_blocking_map | stage_mark | call_sheet | refusal_rehearsal | witness_rehearsal | fan_door_recording | pirate_echo | ai_continuity_memory | editor_checksum_preview | route_asset_test_handoff | equivalent
trace_holder: sponsor | inspector | editor | fan_public | artist | witness | pirate_relay | production | archive | explicit_absence
trace_claim: <what the trace seems to prove>
conflict_with_final_intent: <why this is dangerous>
future_reader: <route slot proof package public statement or route asset>The lens fails if a replay only records rehearsal_exists: true or uses an abstract pressure counter.
3. Claimant boundaries are incompatible
The docket must contain at least two claimant rows with different desired uses or boundaries.
Valid desired uses:
cite_as_promise;seal_as_draft;force_correction;sponsor_lock;lawful_hold;public_admission;edit_rewrite;leak;quarantine;suppress.
Minimum evidence:
claimants:
- claimant: <claimant a>
desired_use: <desired use>
minimum_boundary: <acceptance condition>
- claimant: <claimant b>
desired_use: <different desired use>
minimum_boundary: <different acceptance condition>The lens fails if one authority silently decides the trace boundary for everyone.
4. Preair trace is not interchangeable with final air or afterlife copy
The implementation must distinguish:
- rehearsal trace before authoritative broadcast;
- final broadcast version;
- later public package;
- later derivative copy or provenance afterlife.
Required evidence:
version_distinction:
rehearsal_trace_id: <id>
planned_broadcast_version: <id>
final_air_state_before: not_yet_aired | prepared | corrected_airing_prepared
afterlife_copy_state: not_applicable_before_air | explicit_absenceThe lens fails if the same state key satisfies both preair rehearsal and later derivative asset provenance without a boundary decision.
5. Containment rite is assignable
预播排练收束 must require concrete assignments.
Minimum assignment evidence:
assigned_rite:
rite: storyteller.rite.preair_rehearsal_containment.v1
docket: storyteller.card.preair_rehearsal_docket.v1
source_rite_or_scene: <id>
planned_broadcast_version: <version>
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 asset proof 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: <future reader id>The lens fails if the rite can resolve with only generic money, generic authority, or a named handler with no trace boundary.
6. Branches diverge by state, cost, and future reader
At least five branch families must be playable or explicitly blocked by state:
seal_draft;air_corrected;sponsor_preview_lock;inspector_hold;editor_checksum_rewrite;public_witness_admission;quarantine;default_leak.
Each resolved branch must differ by:
branch_non_equivalence:
docket_state_after: <different state>
trace_holder_posture_after: <different posture>
final_air_state_after: <different state>
cost_profile: <different cost>
future_route_effect: <different effect>The lens fails if all branches produce clean final airing, clean public stability, or a universal route unlock.
7. Success has relief, cost, and future gate
Every successful branch must mutate at least three counters or durable states:
counter_deltas:
relief_min: 1
cost_min: 1
future_route_or_reality_min: 1Valid relief surfaces include:
rehearsal_contamination_down;false_rehearsal_reality_blocked;reality_drift_down;public_receipt_legitimacy_up;custody_clarity_up;continuity_hazard_down;private_capture_blocked.
Valid cost surfaces include:
schedule_pressure_up;proof_burden_up;public_receipt_distrust_up;sponsor_stop_loss_pressure_up;contract_capture_up;sponsor_preemption_up;inspection_heat_up;bureau_favor_debt_up;edit_debt_up;source_ambiguity_up;witness_exposure_up;public_panic_up;route_delay_up;future_raw_proof_cost_up.
Valid future gates include:
final_air_requires_boundary_note;corrected_airing_required_bridge;sponsor_only_until_unwound;lawful_only_until_airing;checksum_required_for_future_use;public_only_until_lawful_bridge;route_requires_containment_rite;recovery_only_if_unresolved.
8. Leak event is durable
排练痕迹泄漏 must fire or be armed when no credible boundary exists.
Required event evidence:
leak_event:
event: storyteller.event.rehearsal_trace_leak.v1
trace_id: <id>
trace_kind: <kind>
leak_vector: sponsor_filing | inspector_hold | editor_cut | fan_recording | pirate_relay | artist_refusal | witness_rehearsal | production_absence | equivalent
cited_as: promise | lawful_fact | public_receipt | final_cut | consent | safety_blocking | route_unlock | contradiction
capturing_reader: sponsor | inspector | editor | fan_public | pirate_relay | artist | witness | production | blackout_system | equivalent
harmed_reader_or_claimant: <claimant or explicit_absence>
state_before: <docket state>
state_after: trace_leaked | false_rehearsal_reality | rehearsal_recovered_with_scar
future_route_effect: blocked | captured | costlier | sponsor_only | lawful_only | public_only | checksum_required | public_addendum_required | recovery_onlyThe lens fails if the leak is only narration, reputation loss, or generic money damage.
9. Future route acceptance changes
At least one future route, rite, package, proof test, public statement, lawful hold, or route asset must accept, reject, narrow, or surcharge based on the rehearsal boundary state.
Required evidence:
future_acceptance_check:
future_reader: <reader id>
boundary_state_before: <state>
boundary_state_after: <state>
accepted_boundary_states: []
rejected_or_costlier_boundary_states: []
future_route_effect: <effect>The lens fails if counters move but future offers and blocked reasons remain identical.
10. Recovery keeps a scar
If false rehearsal reality is repaired, the route cannot return to clean unmarked state.
Accepted scars:
- boundary note required;
- lawful addendum required;
- checksum required;
- public admission required;
- sponsor-only label persists until unwound;
- route asset becomes recovery-only;
- witness or artist exposure persists;
- future raw-proof cost rises;
- schedule slot or handler burden remains consumed.
11. Replay evidence is complete
A passing replay must include seed/session ids, entry state, source rite or scene, trace kind, trace holder, claimants, selected boundary, assignment slots, branch result, leak/default branch, counter deltas, and future acceptance check.
Minimal replay evidence shape
lens_id: storyteller.lens.preair_rehearsal_contamination.v1
result: pass | fail
session_id: lens-preair-rehearsal-contamination-v1-<timestamp>
seed: <deterministic-seed>
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
future_reader_present: true
no_fixed_turn_trigger: true
offered:
card: storyteller.card.preair_rehearsal_docket.v1
rite: storyteller.rite.preair_rehearsal_containment.v1
docket:
source_rite_or_scene: <id>
planned_broadcast_version: <version>
trace_id: <id>
trace_kind: <kind>
trace_holder: <holder>
trace_claim: <claim>
conflict_with_final_intent: <conflict>
claimants:
- claimant: <claimant>
desired_use: <use>
minimum_boundary: <boundary>
- claimant: <claimant>
desired_use: <use>
minimum_boundary: <boundary>
future_reader: <reader>
branch_runs:
contained_branch:
selected_boundary: seal_draft | air_corrected | sponsor_preview_lock | inspector_hold | editor_checksum_rewrite | public_witness_admission | quarantine
final_air_carrier_or_absence: <carrier_or_absence>
counterclaimant_or_absence: <claimant_or_absence>
proof_bridge_or_absence: <bridge_or_absence>
accepted_cost: <cost>
state_before: <state>
state_after: <state>
future_route_effect: <effect>
counter_deltas:
relief: []
cost: []
future: []
default_branch:
emitted_or_armed_event: storyteller.event.rehearsal_trace_leak.v1
leak_vector: <vector>
capturing_reader: <reader>
harmed_reader_or_claimant: <claimant>
state_after: trace_leaked | false_rehearsal_reality | rehearsal_recovered_with_scar
future_route_effect: <effect>
future_acceptance_check:
future_reader: <reader>
accepted_boundary_states: []
rejected_or_costlier_boundary_states: []
assertions:
- primary_links_exist
- entry_is_state_triggered_before_authoritative_broadcast
- rehearsal_trace_holder_claim_conflict_and_future_reader_visible
- docket_records_planned_version_trace_claim_conflict_and_default_risk
- containment_rite_requires_boundary_carrier_counterclaimant_proof_bridge_cost_and_future_reader
- preair_trace_not_interchangeable_with_final_air_or_afterlife_copy
- branches_diverge_by_boundary_state_cost_and_future_acceptance
- success_has_relief_cost_and_future_gate
- leak_event_records_vector_capturing_reader_harmed_claimant_and_future_effect
- default_leak_mutates_route_or_broadcast_reality
- recovery_has_scar
- no_fixed_turn_triggerProgress metric
preairRehearsalContaminationProgress = 0..10:
0: no preair rehearsal contamination surface.1: planned broadcast or rite and rehearsal trace are visible.2: trace holder, trace claim, and conflict with final intent are recorded.3: at least two claimant boundaries are incompatible.4: 预播排练案卷 enters play with future reader and default risk.5: 预播排练收束 is offered with full assignment slots.6: at least five branch families are playable or blocked with reasons.7: contained branch mutates boundary state with relief, cost, and future gate.8: future acceptance check changes based on boundary state.9: 排练痕迹泄漏 fires or is armed with vector and future effect.10: recovery, if available, leaves a visible scar and replay evidence proves no fixed trigger.
Failure cases
The lens must fail if any of these are true:
- entry uses fixed turn, day, week, chapter, raw count, or dashboard state;
- rehearsal trace is not named;
- trace holder is hidden;
- trace claim and conflict with final intent are absent;
- no future reader consumes boundary state;
- rehearsal trace, final airing, package, and derivative copy are treated as one universal asset;
- sponsor, inspector, editor, public, quarantine, and default branches collapse to equivalent results;
- success has no cost;
- leak event changes only reputation or money;
- recovery erases the scar.
Non-goals
- Not production methodology.
- Not a generic rehearsal system.
- Not a fixed pre-broadcast phase.
- Not a free preview of future consequences.
- Not satisfied by page existence.
- Not a replacement for after-air drift, package, provenance, claimant briefing, or faction commitment lenses.