Room Seal Collision / 房间封控撞锁

Room Seal Collision is the event that fires when a contested room, threshold, or passage on 设施通行图 is left unresolved, broken illegally, or claimed by another faction before the player can certify a route.

It is the spatial cousin of 无人派工危机默认: an unworked crisis defaults because nobody staffed it; a room seal collision defaults because nobody controlled the physical access path.

Event trigger

Resolve this event when all are true:

  1. 设施通行图 is open or was just opened;
  2. at least one node/edge is sealed, contested, watched, burned, claimed, or missing a required route;
  3. 设施通行派线 was skipped, failed, underfilled, broken, assigned elsewhere, or resolved with a dangerous route;
  4. a person, proof, card, edit, room, public queue, oxygen support, or route asset still depends on the affected node/edge;
  5. at least one claimant can benefit from default room control.

This event is state-triggered. It must not require a fixed turn number.

Collision actors

ActorWhat they do with room controlCommon durable result
inspector_sealfreezes a room, checkpoint, cutroom, or admissibility pathlegal_lane_locked, inspection_heat, harder access recovery
archive_counter_lockaccepts only one copy or rejects contaminated chainarchive_debt, false_owner_pressure, custody_gap
sponsor_private_lockmoves the crisis into private language or clean sponsor roomcontract_capture, public_distrust, costlier public route
fan_gate_surgepublic queue occupies access before producer framing arrivesfan_oxygen_resentment, hostile witness route, crowd danger
editor_auto_patchcutroom resolves absence by airing the easiest patchedit_debt, reality_drift, black-box distrust
security_cordoncloses the route to prevent injury or scandalsecurity_injury avoided or deferred, schedule_lane_scarred rises
route_asset_capturea person/proof/carrier is stuck behind the wrong doorroute_asset_overexposed, captured/hostile/recovery-only state
blackout_foldstage threshold loses usable access and folds into black screenblack_screen_slots, schedule_lane_scarred, route block

Resolution branches

Branch A — Soft collision with trace

A seal or lock lands, but the player preserves a receipt, checksum, witness stub, corridor sighting, or permit scar.

Expected outcome:

  • room/edge becomes locked or claimed;
  • future recovery hook exists;
  • access pressure and at least two related debts rise.

Branch B — Hard room lock

The claimant controls the room strongly enough to block or capture a route.

Expected outcome:

  • target room becomes blocked, claimed, captured, hostile, or recovery-only;
  • at least one future rite or card option is suppressed or costlier;
  • the page/state records which claimant owns the lock.

Branch C — Broken seal backlash

The player breaks a seal and the event resolves the backlash.

Expected outcome:

  • urgent access may succeed;
  • seal_broken_on_camera, inspection_heat, custody_gap, public_distrust, security_injury, or black_screen_slots rises;
  • future legal/archive/sponsor/public access becomes harder.

Branch D — Service corridor exposure

A reroute through staff space succeeds but exposes the carrier or contaminates the proof chain.

Expected outcome:

  • target room is reached or escaped;
  • low-rank staff, courier, proof, or witness state worsens;
  • service_corridor_heat, runner_risk, proof_contaminated, missing_stub, or low_rank_staff_debt rises.

Branch E — Stage threshold fold

A room collision touches the camera line and the broadcast system makes the absence visible.

Expected outcome:

  • stage threshold becomes scarred, unavailable, or black-screened;
  • schedule_lane_scarred, black_screen_slots, reality_drift, or edit_debt changes;
  • later recovery must cite this room collision as source difficulty.

Required event payload

event: storyteller.event.room_seal_collision.v1
source_map: storyteller.card.facility_access_map.v1
source_rite: storyteller.rite.facility_access_routing.v1 | skipped | failed | underfilled | broken | assigned_elsewhere
node_or_edge: <node_id_or_edge_id>
state_before: restricted | contested | sealed | watched | burned | claimed | missing_route
missing_inputs:
  handler: <handler_or_absent>
  support: <support_or_absent>
  route: <edge_or_absent>
claimant_actor: inspector | archive | sponsor | fan_public | editor | security | route_asset | blackout_system | contradiction
branch: soft_trace | hard_room_lock | broken_seal_backlash | service_corridor_exposure | stage_threshold_fold
outcome:
  room_state_after: locked | claimed | burned | rerouted | captured | hostile | scarred | recovery_only
  preserved_trace: <receipt_or_checksum_or_witness_or_none>
  counter_deltas: {}
  future_route_effects:
    unlocked: []
    blocked_or_costlier: []
    recovery_hooks: []

Counter contract

The event must move at least three counters or durable states.

Typical changes:

  • facility_access_pressure: +1
  • room_seal_pressure: +1
  • service_corridor_heat: +1 on reroute exposure
  • runner_risk: +1 when a carrier takes the blame
  • inspection_heat: +1 on inspector or broken-seal branch
  • custody_gap: +1 on contaminated or defaulted proof
  • archive_debt: +1 on archive lock
  • contract_capture: +1 on sponsor lock
  • fan_oxygen_resentment: +1 on fan gate surge
  • edit_debt: +1 on auto-patch
  • schedule_lane_scarred or black_screen_slots: +1 on stage threshold fold

Follow-up hooks

A non-terminal collision can create harder follow-up work:

  • certify the broken seal after the fact;
  • recover a captured route asset;
  • re-open the archive counter with higher debt;
  • publish why the service corridor was used;
  • pay low-rank staff debt;
  • repair stage threshold scar;
  • trade sponsor room access for public distrust;
  • accept black-screen scar and continue with reduced schedule capacity.

Non-goals

  • Not a random punishment.
  • Not a mood scene about a locked room.
  • Not a fixed schedule trigger.
  • Not a generic game-over switch.
  • Not allowed to erase the route without recording room/edge, claimant, missing inputs, branch, deltas, and future route effect.