Live Floor Egress Bottleneck Lens / 直播现场通行瓶颈 Lens
This lens observes whether 直播现场通行瓶颈线 and 直播现场通行瓶颈机制 correctly make physical movement through the live floor executable.
The oracle is: a safe exit is not clean merely because access, room, notice, power, or legal authority exists. If bodies, queues, proof bundles, route assets, performers, crew, sponsor packages, and access-caption readers need the same bottleneck, the implementation must expose the egress node, throughput limit, protected flow, deferred flow, support, receipt, default narrator, and future reader.
A pass cannot be achieved by adding a generic evacuation scene, a crowd pressure number, a fixed emergency phase, or prose that says everyone was cleared.
Primary observation link
This lens observes:
- 直播现场通行瓶颈线;
- 直播现场通行瓶颈机制;
- 第七穹顶设施通行图;
- 设施通行封控线;
- 直播现场班组负荷线;
- 房间占用认领栈线;
- 应急供电优先线;
- 容量告知送达队列线;
- 无障碍字幕集体机制;
- 播出容量责任级联机制;
- Route Assets and Custody;
- Fan Oxygen;
- Broadcast Schedule.
It is observed through:
Design intent
The current green corpus has strong local guarantees: access can be locked, rooms can be occupied, power can be finite, notices can be served, captions can create reliance, fan oxygen can accrue debt, and capacity can create liability. This lens targets the next execution edge: those rights and supports still have to pass through a physical bottleneck.
This is management + RPG pressure. The player is not observing safety compliance; the player is choosing which movement flow receives authority, handler, support, receipt, and future legitimacy.
Must pass
1. Entry is state-triggered by physical movement conflict
Required entry evidence:
entry_state:
trigger_kind: state_pressure
source_surface_any:
- facility_access_lockdown
- room_occupancy_claim_stack
- live_floor_crew_load
- emergency_power_priority
- access_caption_class_action
- capacity_notice_service_queue
- broadcast_capacity_liability
- fan_oxygen
- route_asset_custody
- broadcast_schedule
egress_node_visible: true
throughput_limit_visible: true
flow_claims_min: 2
future_reader_present: true
player_response_available: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_crowd_or_notice_count_trigger: trueThe lens fails if eligibility depends on fixed turn count, day/week interval, chapter quota, raw crowd count, raw notice count, raw egress count, dashboard state, lens health, or generic emergency aftermath.
2. Egress node, throughput, direction, and source surface are visible
直播现场通行瓶颈账本 or equivalent must show:
egress_node:
node_id: stage_threshold | service_corridor_chain | fan_oxygen_gate | ward_air_room | archive_counter_seven | sponsor_bridge_booth | white_glove_checkpoint | cutroom_blackbox | equivalent
node_state_before: open | restricted | sealed | watched | crowded | underpowered | smoke_dark | caption_dark | one_way | sponsor_claimed | security_claimed | recovery_only | equivalent
throughput_limit: one_group | one_body | wheelchair_line | oxygen_mask_queue | proof_bundle_only | two_escorts | no_reverse_flow | silence_limited | equivalent
direction_pressure: outflow | inflow | reverse_flow | hold_position | split_flow | equivalent
source_surface: <facility room power caption capacity fan_oxygen route_asset schedule or equivalent>The lens fails if it only says evacuate, reroute, clear the hall, move through service corridor, or crowd pressure without the node and throughput limit.
3. At least two flow claims are visible
The ledger must record at least two movement claims, or one movement claim plus an explicit default narrator if only one flow is known.
flow_claims:
- flow_id: <id>
claimant: fan_public | access_caption_reader | fan_oxygen_queue | protected_witness | performer | crew | archive | security | sponsor | inspector | route_asset | claimant_public | equivalent
movement_need: evacuate | enter_claim_table | reach_air | leave_stage | return_to_board | escort_proof | move_route_asset | caption_guided_exit | equivalent
support_need: powered_door | corridor_light | caption_notice | oxygen | escort | quiet | checksum | lawful_counter | public_marshal | explicit_absence | equivalent
consequence_if_deferred: oxygen_debt | crowd_harm | access_violation | proof_contaminated | witness_exposed | route_blocked | crew_hazard | sponsor_capture | schedule_scar | recovery_only | equivalentThe lens fails if the crowd, access-caption readers, fan oxygen queue, performer, proof, route asset, crew, or sponsor flow disappears by implication.
4. Protected and deferred or blocked flows are explicit
Every non-default branch must record:
selected_resolution:
protected_flow: <flow id>
deferred_or_blocked_flow: <flow id or explicit_absence>
egress_node_state_after: one_way_scarred | cleared_degraded | watched | sealed_after_use | sponsor_claimed | safety_logged | recovery_only | equivalentThe lens fails if the branch says everyone exits, reroute safely, hold crowd, or use private passage without naming who is protected and who is deferred or blocked.
5. Authority, handler, support, receipt, and future reader are visible
The selected resolution must show:
assignment_slots:
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 | equivalentThe lens fails if sponsor money, emergency authority, a famous handler, a legal seal, a caption update, or an editor patch replaces these slots by implication.
6. Routing rite assignment slots are explicit
直播现场通行分流 must require ledger, selected egress row, egress node, selected response, protected flow, deferred/blocked flow or explicit absence, authority or absence, handler or absence, support or absence, receipt or absence, and future reader.
7. Branches diverge
At least six branch families must be playable or explicitly blocked by state:
- 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.
Each branch must differ by protected flow, deferred flow, egress node state after, cost surface, and future reader effect.
8. No universal safe exit or clean evacuation
No branch may make every flow safe, timely, supported, receipted, public, lawful, accessible, oxygen-safe, sponsor-satisfied, proof-clean, crew-ready, and broadcast-clean.
Required evidence:
no_universal_safe_exit:
protected_flow_visible: true
deferred_or_blocked_flow_visible: true
at_least_one_flow_or_reader_narrowed_or_costed: true
egress_node_state_after_not_universal_clean: true
future_reader_effect_not_clean_universal: trueThe lens fails if the result is all flows cleared safely after a contested bottleneck.
9. Default event mutates future play
通行瓶颈默认 must fire or be armed when the ledger is absent, throughput is hidden, protected or deferred flow is omitted, support/receipt/future reader is missing, a sponsor tunnel is unfiled, a one-way scar is unrecorded, or universal safe exit is claimed.
Required default payload:
default_event:
event: storyteller.event.egress_bottleneck_default.v1
breach_kind: ledger_absent | throughput_hidden | protected_flow_hidden | deferred_flow_hidden | support_missing | receipt_missing | future_reader_hidden | universal_safe_exit_claimed | sponsor_tunnel_unfiled | one_way_scar_unrecorded | equivalent
default_narrator: security_grid | safety_marshal | sponsor_tunnel | fan_oxygen_queue | access_caption_reader | archive_runner | blackout_system | crowd_current | equivalent
protected_flow_by_default: <flow id or explicit_absence>
harmed_or_deferred_flow: <flow id or explicit_absence>
egress_state_after: one_way_scarred | captured | hostile | public_only | lawful_only | sponsor_only | proof_contaminated | stage_recovery_only | blocked | contradiction_pending | equivalent
future_reader_effect: fan_oxygen_review | access_class_escalation | facility_route_block | room_occupancy_conflict | crew_hazard_review | route_asset_costlier | broadcast_capacity_scar | public_table_required | lawful_review_required | recovery_only | equivalent
counter_deltas_min: 3The lens fails if default is only a cutscene, generic panic, mood change, money loss, or generic reputation hit.
10. Replay evidence records valid and default branches
Minimal passing evidence:
lens: storyteller.lens.live_floor_egress_bottleneck.v1
session_id: lens-live-floor-egress-bottleneck-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
source_surface: <source>
egress_node: <node>
throughput_limit: <limit>
flow_claims_min: 2
future_reader_present: true
no_fixed_turn_trigger: true
offered:
card: storyteller.card.live_floor_egress_ledger.v1
rite: storyteller.rite.live_floor_egress_routing.v1
valid_branch:
selected_response: accessible_exit_first | safety_marshal_release | proof_or_asset_escort | stage_withdrawal | reverse_flow_hold | split_flow_with_receipt | sponsor_tunnel_bargain
protected_flow: <flow id>
deferred_or_blocked_flow: <flow id or explicit_absence>
authority_or_absence: <authority>
handler_or_absence: <handler>
support_or_absence: <support>
receipt_or_absence: <receipt>
egress_node_state_after: <state>
future_reader_effect: <effect>
counter_deltas:
relief: []
cost: []
future: []
default_branch:
selected_response: hide_bottleneck_default
event_seen_or_armed: storyteller.event.egress_bottleneck_default.v1
default_narrator: <narrator>
protected_flow_by_default: <flow id>
harmed_or_deferred_flow: <flow id>
egress_state_after: <state>
future_reader_effect: <effect>
assertions:
primary_links_exist: true
entry_is_state_triggered_by_physical_movement_conflict: true
egress_node_throughput_direction_and_source_surface_are_visible: true
at_least_two_flow_claims_are_visible: true
protected_and_deferred_or_blocked_flows_are_explicit: true
authority_handler_support_receipt_and_future_reader_are_visible_or_explicit_absence: true
branches_diverge_by_protected_flow_deferred_flow_node_state_cost_and_future_reader: true
no_universal_safe_exit_or_clean_evacuation: true
default_event_names_narrator_missing_inputs_harmed_flow_and_future_reader_mutation: true
no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_trigger: trueProgress metric
liveFloorEgressBottleneckProgress = 0..10:
0: no physical movement conflict.1: source surface and egress node are visible.2: throughput and direction pressure are visible.3: at least two flow claims are visible.4: protected and deferred/blocked flows are named.5: 直播现场通行瓶颈账本 enters play with support and receipt slots.6: 直播现场通行分流 offers explicit assignment slots.7: at least two non-default branches create different protected/deferred flow states.8: 通行瓶颈默认 creates future route or reader cost.9: replay proves valid branch and default branch.10: future reader consumes egress result without fixed turn, day/week, raw count, dashboard, or lens-health trigger.
Failure cases
The lens must fail if any of these are true:
- entry is fixed-turn, fixed-day, chapter quota, raw crowd count, raw notice count, dashboard state, or lens-health state;
- no concrete egress node exists;
- throughput or direction is hidden;
- only one flow is named while an actual competing flow exists;
- protected and deferred/blocked flows are not both explicit;
- access-caption, oxygen, powered-door, corridor-light, escort, quiet, checksum, lawful counter, or receipt needs are implied rather than recorded;
- sponsor/security/private tunnel priority has no capture or receipt;
- all branches resolve to clean safe exit;
- default lacks narrator, harmed flow, missing inputs, future reader, or counter deltas;
- future systems consume
evacuatedorclearedwithout reading the egress state.
Non-goals
- Not a generic evacuation scene.
- Not a crowd mood system.
- Not a fixed emergency phase.
- Not governance or dashboard methodology.
- Not raw count expansion.
- Not valid unless egress node, throughput, movement claims, support, protected/deferred flows, default narrator, deltas, and future reader are observable.