Live Floor Egress Routing / 直播现场通行分流

Live Floor Egress Routing is the assignment rite for a contested movement bottleneck on the live floor.

The rite asks the player to choose which flow moves safely, which flow waits or degrades, and which support makes the movement legible to later systems. It is not a generic evacuation button.

Entry requirement

Open this rite only from state pressure:

entry_state_required:
  trigger_kind: state_pressure
  egress_ledger_present: true
  egress_node_visible: true
  throughput_limit_visible: true
  flow_claims_min: 2
  support_need_visible_or_explicit_absence: true
  future_reader_present: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_count_trigger: true

Assignment slots

The rite cannot resolve unless the following slots are assigned or explicitly absent:

assignment_required:
  ledger: storyteller.card.live_floor_egress_ledger.v1
  selected_egress_row: <row id>
  egress_node: <node id>
  selected_response: accessible_exit_first | safety_marshal_release | proof_or_asset_escort | stage_withdrawal | reverse_flow_hold | split_flow_with_receipt | sponsor_tunnel_bargain | hide_bottleneck_default
  protected_flow: <flow id>
  deferred_or_blocked_flow: <flow id or explicit_absence>
  authority_or_absence: producer_license | safety_order | public_receipt | access_caption_certificate | lawful_counter | archive_seal | sponsor_release | security_order | explicit_absence | equivalent
  handler_or_absence: producer | shen_luo | yu_lan | han_yanshuang | baiya | ai_sheng | fan_delegate | safety_marshal | access_operator | corridor_runner | explicit_absence | equivalent
  support_or_absence: powered_door | corridor_light | caption_notice | oxygen_reserve | escort | quiet_window | checksum_bag | lawful_counter | crowd_marshal | explicit_absence | equivalent
  receipt_or_absence: public_receipt | lawful_receipt | access_caption_receipt | archive_receipt | sponsor_receipt | safety_log | explicit_absence | equivalent
  future_reader: fan_oxygen_audit | access_caption_class | facility_access_map | room_occupancy | live_floor_crew_load | route_asset | broadcast_capacity | public_table | lawful_reader | equivalent

A famous handler, legal seal, sponsor payment, edit patch, or public apology cannot replace the physical egress node, protected flow, deferred flow, support, receipt, and future reader fields.

Branch families

BranchImmediate reliefRequired costFuture reader effect
Accessible exit firstaccess-caption readers or mobility-limited queue exits with guidancesponsor/schedule/camera route delayedaccess receipt, public table, or class docket reads the path
Safety marshal releasecrowd or oxygen queue exits in controlled groupsbroadcast delay and security heatfan oxygen audit or public safety reader consumes the release
Proof or asset escortproof bundle, witness, or route asset moves under escortcrew return, public queue, or live cutroom waitscustody or route asset reader consumes escort scar
Stage withdrawalperformer or vulnerable body leaves camera linepublic claimant access or sponsor glamour is narrowedbroadcast reality or room occupancy reads recovery-only state
Reverse-flow holdincoming claimants/sponsor/crew are stopped to keep exit one-wayclaimant hostility and desk pressure risefacility map records one-way scar
Split flow with receipttwo flows move partially with public/lawful/caption receiptslower movement and confusionlater dispute has receipt but degraded support
Sponsor tunnel bargainsponsor route opens as paid/claimed bypasspublic/access/fan resentment and capture risesponsor gate or public table reads capture
Hide bottleneck defaultfastest unobserved flow winshidden harm hardensdefault event arms future review

Resolution contract

Every non-default branch must mutate relief, cost, and future state:

branch_result_required:
  protected_flow_state_after: moved | staged | certified | escorted | held_safe | narrowed | equivalent
  deferred_flow_state_after: delayed | hostile | blocked | public_only | lawful_only | sponsor_only | recovery_only | costlier | explicit_absence | equivalent
  egress_node_state_after: one_way_scarred | cleared_degraded | watched | sealed_after_use | sponsor_claimed | safety_logged | recovery_only | equivalent
  counter_deltas:
    relief: []
    cost: []
    future: []

Default arm

If the player hides the bottleneck, omits the deferred flow, lacks support/receipt, claims universal safe movement, or leaves the future reader blank, the rite must arm storyteller.event.egress_bottleneck_default.v1 or an equivalent default event.

The default must name who moved first and who paid for that movement later.