Live Floor Crew Load / 直播现场班组负荷机制
Live Floor Crew Load makes the ordinary live-production floor part of Storyteller’s executable pressure model. A slot can be lawful, edited, sponsored, and archived while still being unsafe because the camera lane is exhausted, the board lane is wrong, the runner lane is absent, or the medic/oxygen floor has been borrowed by another crisis.
This mechanism is the next useful expansion after the recent custody, quote, and stability cluster because it moves consequence away from ruling surfaces and into physical broadcast labor. It binds Call Sheet Load Ledger, Call Sheet Reassignment, Crew Refusal Default, and Call-Sheet Captain.
Mechanism promise
When a live slot or operation depends on crew coverage, the game must be able to ask:
Who is actually working the floor, who is too tired or absent, and what does the slot become when management explicitly silences the warning or accepts absence?
The answer must appear in cards, rites, events, counters, and future route availability. The floor cannot remain invisible while higher-level systems solve everything.
State-triggered entry
Open this mechanism when all of the following are true:
- a live slot, rehearsal, clearance operation, memorial drop, emergency correction, public testimony, or equivalent operation needs floor crew coverage;
- at least one crew lane is
thin,exhausted,borrowed,coerced,wrong_team, orabsent; - the affected operation can change schedule pressure, blackout risk, broadcast reliability, person safety, route movement, proof movement, audience stability, or public legitimacy;
- the player can respond through rest, rotation, pay, captain recruitment, public safety, management proxy, skeleton crew, silence, or deliberately accepted absence after assigning Du Mian;
- explicitly selecting
silence_warningoraccept_absencecan arm a non-neutral default; passive inactivity does not; - no entry condition depends on a fixed turn number, day interval, chapter quota, or raw content count.
Core object model
| Object | Meaning | Required observable field |
|---|---|---|
call_sheet_ledger | the visible state of pressured floor coverage | slot id, lane rows, captain state, assignments, defaults |
crew_lane | a finite production lane on the floor | lane type, coverage state, load/rest/trust/refusal/blackout risk |
call_sheet_captain | the person who can report true load | the current rite accepts only card.du_mian_call_sheet_captain; accept_absence is a later branch state, not an input |
slot_safety_state | whether the slot can safely run | safe, narrowed, delayed, skeleton, blackout-risk, defaulted |
crew_default | what happens after explicit silence or accepted absence | one exact actor/outcome pair, deltas, future route effect |
Crew lanes
Implementation names may vary, but the mechanism should distinguish real floor functions when they matter:
camera_lane: frames witnesses, performers, public proof, and visible safety.board_lane: switching, audio, emergency cuts, blackout containment.runner_lane: cues, handoffs, corridor movement, proof/person delivery.medic_lane: performer/crew survival, injury recognition, emergency response.security_floor_lane: crowd boundary, seizure prevention, witness protection.stage_lane: props, blocking, ritual geometry, physical timing.edit_floor_lane: live redaction, delay masks, public version patches.audience_gate_lane: entry control, fan queue, public receipt safety.oxygen_floor_lane: oxygen support for audience, crew, and performers.
A lane is not an abstract action point. It has a coverage state and can refuse, misfire, or default.
State machine
| State | Meaning | Required consequence |
|---|---|---|
ledger_hidden | floor load exists but is not surfaced | no branch can claim safety proof |
call_sheet_warning_open | one or more lanes are risky and visible | player can reassign, pay, rest, publicize, force, silence, or accept absence |
crew_lane_stabilized | one lane has credible coverage | another cost, delay, or lane effect remains visible |
slot_narrowed_for_safety | the player reduces scope to match real crew | route survives with narrower effect or schedule cost |
overtime_covered | crew works through pay/favor/promise | debt, sponsor capture, fatigue, or future refusal risk rises |
skeleton_crew_scar | the slot airs with too few or wrong workers | blackout/misair/injury risk becomes durable |
suppressed_floor_voice | warning is buried or coerced | future default becomes hostile or recovery-only |
hostile_call_sheet_leak | hidden call sheet becomes public/audit-facing | inspection and public pressure mutate future routes |
crew_refusal_default | explicit silence or accepted absence arms a floor default | Crew Refusal Default records actor and deltas; passive ignore does not auto-fire it |
Branch contract
Branch A — Rest or rotate
The player protects the slot by pulling a pressured lane out of danger and replacing it, narrowing the slot, or delaying it.
Expected outcome:
- selected lane becomes rested, rotated, or narrowed;
- refusal or blackout risk falls;
- schedule pressure, route narrowness, overtime cost, or another lane’s load rises.
Branch B — Pay overtime
The player uses money, promise, favor, sponsor cash, or payroll debt.
Expected outcome:
- immediate coverage improves;
- staff fatigue, overtime debt, sponsor capture, or future payroll pressure rises;
- slot can air but becomes costlier later.
Branch C — Trust the call-sheet captain
The player lets the assigned card.du_mian_call_sheet_captain reveal the true floor state. No equivalent helper or explicit-absence card satisfies the current strict rite.
Expected outcome:
- hidden refusal/blackout risk becomes visible before default;
- management loses deniability;
- future safe route may unlock, but inspection heat or schedule cost rises.
Branch D — Publicize safety
The player turns floor danger into public/audit-facing safety evidence.
Expected outcome:
- crew trust and public safety legitimacy rise;
- sponsor pressure, inspection heat, and schedule pressure rise;
- route may become public-only, lawful-only, or costlier.
Branch E — Management proxy
The player presses Du Mian into carrying management’s official line.
Expected outcome:
- immediate slot dispute or schedule pressure falls;
management_pressure_proxy, crew distrust, or contract capture rises;- the future route becomes sponsor-captured.
Branch F — Force skeleton crew
The player runs the slot with too few, wrong, coerced, or exhausted workers.
Expected outcome:
- immediate cancellation pressure may fall;
- skeleton scar, blackout risk, injury risk, fatigue, and hostile leak risk rise;
- future route becomes costlier, narrowed, recovery-only, or blackout-risk.
Branch G — Silence warning
The player hides the ledger, suppresses the captain, or uses authority to keep the official call sheet clean.
Expected outcome:
- immediate dispute may fall;
suppressed_floor_voice,hostile_call_sheet_leak, staff distrust, or inspection heat is armed;- future recovery is harder.
Branch H — Accept absence
After assigning the actual Du Mian card, the player deliberately records her as missed and accepts absent coverage for the selected runner lane. The unselected board row stays scope-only.
Expected outcome:
- Crew Refusal Default is armed by the explicit choice;
- default actor is recorded;
- lane state, slot state, counter deltas, and future route effect mutate.
The current default event has exactly four executable actor/outcome pairs: crew_refusal / slot_delayed, sponsor_schedule / blackout_skeleton_default, hostile_leak / public_safety_leak, and absent_captain / slot_blocked. security_floor and wrong_team remain broader mechanism pressures, not current event branches.
Counter and durable-state contract
Every resolved branch must mutate at least three values. One must be relief, one must be cost, and one must affect future route or slot state.
Primary counters and states:
crew_loadcrew_restcrew_trustcrew_moralestaff_fatigueovertime_debtpayroll_pressurecrew_refusal_riskcrew_refusal_liveskeleton_crew_scarwrong_team_assignedblackout_risk_armedblack_screen_slotsbroadcast_reliabilityschedule_pressureslot_narrowed_for_safetypublic_safety_legitimacyinspection_heatsponsor_stop_loss_pressureroute_narrownesshostile_call_sheet_leak
Integration with existing mechanisms
- Production Triage Desk can use crew lanes as finite operational lanes, especially schedule, field, security, oxygen, and public lanes.
- 机制:每日筹备行动 can prepare rested coverage, pay, rehearsal, safer staging, or narrower routes.
- Broadcast Schedule reads whether a slot airs, narrows, delays, or scars.
- Blackout Incidents can consume skeleton or absent board states.
- Broadcast Reality reads misair, wrong-team, public safety, and blackout defaults.
Replay evidence contract
mechanic: storyteller.mechanic.live_floor_crew_load.v1
session_id: lens-live-floor-crew-load-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
source_slot: <slot_or_operation_id>
pressured_lanes_min: 1
future_route_or_slot_effect_present: true
no_fixed_turn_trigger: true
ledger:
card: card.call_sheet_load_ledger
captain_card: card.du_mian_call_sheet_captain
lane_rows:
- lane: <lane>
coverage: thin | exhausted | borrowed | coerced | absent | wrong_team
refusal_risk: none | low | armed | live
blackout_risk: none | low | armed | live
assignment:
rite: rite.call_sheet_reassignment
ledger: card.call_sheet_load_ledger
source_slot: storyteller.card.call_sheet_memorial_correction_source_slot.v1
selected_lane: storyteller.card.call_sheet_runner_lane_input.v1
lane_state_before: storyteller.card.call_sheet_runner_thin_state.v1
call_sheet_captain_or_absence: card.du_mian_call_sheet_captain
handler_or_absence: storyteller.card.call_sheet_production_desk_handler.v1
support_or_absence: storyteller.card.call_sheet_branch_cost_surface.v1
response: storyteller.card.call_sheet_selected_response.v1
selected_option: rest_rotate | pay_overtime | recruit_captain | publicize_safety | management_proxy | force_skeleton | silence_warning | accept_absence
unselected_lane_or_absence: storyteller.card.call_sheet_board_lane_unselected.v1
unselected_board_semantics: scope_only
harmed_reader_if_suppressed: storyteller.card.call_sheet_harmed_floor_reader.v1
future_reader: storyteller.card.call_sheet_future_slot_reader.v1
result:
lane_state_after: <state>
slot_state_after: <state>
captain_state_after: <state>
event_seen_or_armed: event.crew_refusal_default | none
default_actor: crew_refusal | sponsor_schedule | hostile_leak | absent_captain | none
default_state: slot_delayed | blackout_skeleton_default | public_safety_leak | slot_blocked | none
future_route_effect: <effect>
counter_deltas: {}
assertions:
- entry_is_state_triggered
- ledger_records_slot_lanes_captain_assignments_and_defaults
- rite_requires_all_eleven_exact_assignments
- selected_runner_mutates_while_unselected_board_remains_scope_only
- branch_cost_surface_proves_the_selected_cost_not_universal_overtime
- success_has_visible_cost
- skeleton_or_silence_arms_refusal_blackout_or_leak
- default_event_records_one_exact_actor_outcome_pair_deltas_and_route_effectNon-goals
- Not an HR simulator.
- Not a staff directory.
- Not a fixed upkeep phase.
- Not a dashboard/governance page.
- Not a generic morale counter.
- Not a way to bypass existing archive, quote, custody, witness, sponsor, or route-asset consequences.
- Not valid if legal, sponsor, edit, or archive success can make floor coverage irrelevant.