Schedule Preemption Claims Lens / 档期抢占认领 Lens

This lens observes whether 档期抢占认领线 makes schedule choice change encounter and route availability instead of behaving like a passive calendar.

A passing implementation proves that two or more claims compete for a finite broadcast surface; the player sees the authority, on-slot effect, off-slot effect, displacement receipt, branch choice, counter deltas, and future reader. The winning claim must gain availability with cost. The losing claim must become delayed with receipt, missed, hostile, lawful-only, public-only, pirate-only, blackout-folded, recovery-only, or equivalent. If no valid receipt exists, 落档遭遇默认 must fire or arm.

The lens fails if entry depends on fixed turn number, fixed day/week interval, chapter quota, raw content count, dashboard health, or generic schedule pressure without a named collision.

This lens observes:

It is observed through:

Observable promise

The player must decide which claim receives a reality-making schedule surface and how the displaced claim remains playable, scarred, hostile, or lost.

The implementation must show:

  • the finite schedule surface;
  • at least two competing slot claims, or one claim plus a named live object that will be displaced;
  • authority or explicit absence;
  • if-on-slot and if-off-slot effects for each relevant claim;
  • a branchy hearing with at least five divergent branch families;
  • a durable default event when no valid displacement receipt exists;
  • future reader effects for both the awarded and displaced claim.

Must pass

1. Entry is state-driven by slot collision

Required entry evidence:

entry_state:
  trigger_kind: state_pressure
  finite_schedule_surface_present: true
  competing_slot_claims_min: 2
  at_least_one_claim_changes_encounter_or_route_availability: true
  slot_authority_present_or_explicit_absence: true
  displaced_claim_can_default: true
  future_reader_consumes_preemption_result: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true

The lens fails if the package opens because a numbered turn, day count, chapter quota, raw content count, or lens-health target has arrived.

2. Finite schedule surface is visible

The replay must name the schedule surface.

Valid surfaces include:

  • live_broadcast;
  • rehearsal;
  • legal_airing;
  • apology_surface;
  • public_testimony;
  • route_debut;
  • emergency_delay;
  • counterbroadcast;
  • blackout_containment;
  • equivalent.

The lens fails if the conflict is only described as general urgency.

3. Slot claims are visible

档期抢占案卷 must show at least two claims or one claim plus a named displaced live object:

claims_before:
  - claim_id: <claim a>
    claimant_surface: <surface>
    requested_encounter_or_route: <id>
    proof_or_authority: <proof or explicit_absence>
    if_on_slot: <effect>
    if_off_slot: <effect>
  - claim_id: <claim b or displaced object>
    claimant_surface: <surface>
    requested_encounter_or_route: <id>
    proof_or_authority: <proof or explicit_absence>
    if_on_slot: <effect>
    if_off_slot: <effect>

The lens fails if there is only one claim and no named displaced object.

4. Authority or explicit absence is recorded

Valid authority includes:

  • producer license;
  • schedule contract;
  • mirror or screen right;
  • archive receipt;
  • fan mandate;
  • sponsor letter;
  • inspector stamp;
  • pirate packet;
  • explicit absence.

A character’s status is not authority by itself. Han Yanshuang can stamp, Shen Luo can sell, Baiya can mask, Yu Lan can receipt, and 海盗频段童声 can relay, but the authority field must still be visible.

5. Hearing assignment slots are explicit

档期抢占听证 must require:

assignment:
  docket: storyteller.card.schedule_preemption_docket.v1
  slot_window: <slot id>
  selected_claim: <claim id or explicit_absence>
  preempting_authority: <authority or explicit_absence>
  handler_or_absence: <handler or explicit_absence>
  displaced_claims:
    - claim_id: <claim id>
      displacement_treatment: receipt | lawful_deferral | public_deferral | sponsor_clean | editor_mask | pirate_aperture | no_receipt | equivalent
      future_reader: <route_or_reader id>
  support_or_absence: <support or explicit_absence>

Generic choices such as pick schedule, delay the other route, or handle later cannot satisfy this lens.

6. Branch families diverge

A satisfying implementation must expose at least five branch families, including one default branch:

  • award_official_slot;
  • split_surface;
  • lawful_deferral_with_receipt;
  • sponsor_or_management_preemption;
  • editor_mask_or_patch;
  • pirate_or_public_off_slot_breach;
  • blackout_or_default_selects.

Branches must not collapse to the same counter deltas or future availability.

7. Branch assertions

Official slot assertion

selected_branch: award_official_slot
selected_claim_state_after_any: [official_slot_awarded, encounter_available, route_unlocked_with_cost, lawful_use_unlocked]
displaced_claim_state_after_any: [delayed_with_receipt, hostile, missed, recovery_only, lawful_only, public_only]
relief_any: [slot_collision_down, selected_route_unlocked, broadcast_reality_stabilized]
cost_any: [off_slot_debt_up, displaced_claim_hostility_up, inspection_heat_up, sponsor_pressure_up]

Split surface assertion

selected_branch: split_surface
selected_claim_state_after_any: [public_only, lawful_only, sponsor_only, split_surface]
displaced_claim_state_after_any: [public_only, lawful_only, contradiction_pending, recovery_only]
relief_any: [multiple_claims_partially_available, private_capture_blocked, legal_continuity_preserved]
cost_any: [source_ambiguity_up, schedule_pressure_up, audience_confusion_up, archive_review_required]

Lawful deferral assertion

selected_branch: lawful_deferral_with_receipt
selected_claim_state_after_any: [official_slot_awarded, lawful_use_unlocked]
displaced_claim_state_after_any: [delayed_with_receipt, lawful_only, audit_required, route_costlier]
relief_any: [legal_breach_down, slot_collision_down, selected_slot_cleaner]
cost_any: [bureau_favor_debt_up, public_distrust_up, missed_encounter_pressure_up]
selected_branch: sponsor_or_management_preemption
selected_claim_state_after_any: [sponsor_route_unlocked_with_capture, preempted_by_sponsor]
displaced_claim_state_after_any: [hostile, public_only, missed, recovery_only]
relief_any: [sponsor_stop_loss_pressure_down, immediate_slot_pressure_down, budget_strain_down]
cost_any: [contract_capture_up, public_receipt_distrust_up, fan_oxygen_resentment_up, artist_boundary_pressure_up]

Editor mask assertion

selected_branch: editor_mask_or_patch
selected_claim_state_after_any: [encounter_available, continuity_patch, official_slot_awarded]
displaced_claim_state_after_any: [source_ambiguity, lawful_only, blackout_folded, recovery_only]
relief_any: [broadcast_reality_drift_down, immediate_slot_pressure_down, witness_or_source_exposure_down]
cost_any: [edit_debt_up, source_ambiguity_up, archive_signature_legitimacy_down, future_fraud_cost_up]

Pirate or public breach assertion

selected_branch: pirate_or_public_off_slot_breach
selected_claim_state_after_any: [official_slot_awarded, sponsor_only, lawful_only]
displaced_claim_state_after_any: [public_only, pirate_only, counterbroadcast_chain_open]
relief_any: [hidden_claim_visible, private_capture_down, public_receipt_legitimacy_up]
cost_any: [inspection_heat_up, relay_custody_risk_up, black_screen_pressure_up, sponsor_retaliation_up]

Default assertion

selected_branch: blackout_or_default_selects
event_seen_or_armed: storyteller.event.off_slot_encounter_default.v1
displaced_claim_state_after_any: [missed, hostile, blackout_folded, recovery_only]
cost_any: [black_screen_slots_up, broadcast_reality_drift_up, missed_encounter_pressure_up, off_slot_debt_up]

8. Displaced claim mutates future availability

Every resolution must record at least one displaced claim state:

  • delayed_with_receipt;
  • missed;
  • hostile;
  • lawful_only;
  • public_only;
  • pirate_only;
  • blackout_folded;
  • recovery_only;
  • equivalent.

The lens fails if losing claims simply remain available for later without cost.

9. Success has relief and cost

Every non-default branch must improve one pressure while worsening, spending, narrowing, or exposing another.

Valid costs include:

  • off_slot_debt;
  • displacement_receipt_legitimacy_down;
  • missed_encounter_pressure;
  • hostile_recruit_pressure;
  • recovery_only_window;
  • contract_capture;
  • inspection_heat;
  • bureau_favor_debt;
  • public_receipt_distrust;
  • fan_oxygen_resentment;
  • archive_review_required;
  • source_ambiguity;
  • relay_custody_risk;
  • black_screen_slots.

Clean universal availability fails.

10. Off-slot default is durable

落档遭遇默认 must fire or arm when:

  • no docket exists for a required collision;
  • authority is missing or falsely filed;
  • a losing claim has no displacement receipt;
  • sponsor/inspector/editor/pirate/blackout narration hides displacement;
  • future reader consumes the missing or off-slot state.

The event payload must identify source docket or explicit absence, displaced claim, preempting claim, missing receipt reason, default narrator, future reader, and recovery requirement.

11. Future reader consumes both sides

A passing replay must show at least one future reader for the awarded claim and one for the displaced claim.

Valid future readers include:

  • route asset access;
  • character encounter or recruit window;
  • archive audit;
  • fan oxygen audit;
  • sponsor gate;
  • inspection hearing;
  • correction slot;
  • production triage desk;
  • broadcast reality drift reader;
  • black-screen release;
  • recovery-only route.

Flavor-only schedule dialogue fails.

Replay evidence shape

lens_id: storyteller.lens.schedule_preemption_claims.v1
session_id: lens-storyteller-schedule-preemption-claims-v1-<timestamp>
seed: <deterministic seed>
entry_state:
  trigger_kind: state_pressure
  finite_schedule_surface_present: true
  competing_slot_claims_min: 2
  slot_authority_present_or_explicit_absence: true
  displaced_claim_can_default: true
  future_reader_consumes_preemption_result: true
  no_fixed_turn_trigger: true
offered_choices:
  - card.schedule_preemption_docket
  - award_official_slot
  - split_surface
  - lawful_deferral_with_receipt
  - sponsor_or_management_preemption
  - editor_mask_or_patch
  - pirate_or_public_off_slot_breach
  - blackout_or_default_selects
branch_result:
  selected_branch: <branch>
  awarded_claim_or_absence: <claim or explicit_absence>
  displaced_claims_after:
    - claim_id: <claim>
      availability_after: <state>
      displacement_receipt: present | missing | contested | impossible
  event_seen_or_armed: storyteller.event.off_slot_encounter_default.v1 | none
  future_reader_effects:
    awarded_claim: <effect>
    displaced_claim: <effect>
  counter_deltas:
    relief: []
    cost: []

Non-goals

  • Not a raw-count content expansion.
  • Not a fixed-turn trigger.
  • Not a calendar cooldown.
  • Not a generic production triage check.
  • Not a correction slot after an aired version has settled.
  • Not valid if one official slot keeps every encounter available for free.