Forced Main Slot Collision Lens / 强制主档撞槽 Lens
This lens observes whether 强制主档撞槽线 turns a full producer-license board plus forced main intake into visible, branchable state.
Entry oracle
entry_state_required:
trigger_kind: state_pressure
forced_main_contract_visible: true
license_slots_total_visible: true
license_slots_free: 0
occupied_or_scarred_slots_visible: true
incoming_main_reader_visible: true
no_free_slot_forced_main: true
player_can_assign_resolution_or_explicit_refusal: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_contract_count_trigger: true
no_dashboard_or_lens_health_trigger: trueThe lens fails if entry is a fixed weekly phase, raw slot count report, dashboard health warning, or generic game-over without a named forced main.
Docket oracle
Forced Main Slot Docket must record:
docket_required:
forced_main_contract: <contract id>
license_slots_total: <number>
license_slots_free: 0
occupied_or_scarred_slots: []
incoming_main_reader: <reader>
proposed_resolution: preempt_existing_slot | fold_blackout_slot | borrow_scoped_capacity | defer_with_public_receipt | refuse_with_scar | producer_deplatforming_default
displaced_or_harmed_reader: <reader or explicit_absence>
authority_or_absence: <authority or explicit_absence>
future_reader_or_route: <reader route or ending surface>Hearing oracle
Forced Main Slot Hearing must expose these branch families:
preempt_existing_slotfold_blackout_slotborrow_scoped_capacitydefer_with_public_receiptrefuse_with_scarproducer_deplatforming_default
Each branch must have relief, cost, and future_effect_any.
Default oracle
Producer Deplatforming Default must record:
producer_deplatforming_default:
forced_main_contract: <contract id>
missing_or_false_capacity_claim: <claim>
default_narrator: <actor>
displaced_or_harmed_reader: <reader or explicit_absence>
license_state_after: <state>
future_reader_effect: blocked | hostile | sponsor_only | lawful_only | public_only | recovery_only | ending_costlierThe default fails if it grants free capacity or ends play without a future scar.
Progress metric
- 20%: storyline, mechanism, docket, rite, event, and lens links exist.
- 40%: entry is forced-main plus zero free slots, not a timer.
- 60%: docket names forced main, full board, displaced reader, and future route.
- 80%: hearing branches diverge with relief, cost, and future effect.
- 100%: default records false capacity/deplatforming and recovery route scar.
Non-goals
- Not a weekly loop recap.
- Not a raw slot-count dashboard.
- Not a free license expansion.
- Not a generic fail screen.