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: true

The 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_slot
  • fold_blackout_slot
  • borrow_scoped_capacity
  • defer_with_public_receipt
  • refuse_with_scar
  • producer_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_costlier

The 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.