Production Triage Desk / 制作分诊台机制
Production Triage Desk is the management mechanism that turns simultaneous Storyteller crises into finite staffing choices. Existing archive, oxygen, sponsor, inspector, witness, clean-ending, claimant, settlement, and reality-drift surfaces can all create urgent work. This mechanism asks the next operational question: which crisis receives the edit bay, legal bench, field runner, public handler, oxygen support, safehouse, or schedule scar now, and what defaults when nobody works it?
The producer is not choosing an abstract priority list. The player is assigning scarce operational lanes that have bodies, rooms, proof chains, air, permissions, and fatigue attached.
Mechanism entry
Open or update the desk when all of the following are true:
- at least two unresolved playable crises are active and can still change future route access, broadcast reality, custody, audience stability, or schedule pressure;
- the crises compete for at least one finite operational lane: edit bay, legal bench, field runner, fan queue, oxygen reserve, safehouse, rehearsal room, archive counter, public channel, sponsor bridge, or security escort;
- at least one available handler, follower, route asset, permit, room, or resource can be assigned or explicitly absent;
- leaving any listed crisis unworked can produce a default state rather than waiting politely;
- none of the listed crises is already terminally resolved, cleanly discharged, or impossible to affect.
This mechanism has no fixed numbered trigger. It opens from unresolved crisis contention and operational scarcity.
Primary design problem
The current corpus has strong crisis surfaces. Without this mechanism, they can still behave as independent menus: the player handles sponsor pressure, then witness pressure, then reality drift, with no proof that the same exhausted edit bay, handler, safehouse, fan public, or legal bench was unavailable elsewhere.
Production triage makes the RPG party and management layer bite each other:
- assigning Baiya to repair a contradiction means Baiya cannot also mask a witness;
- assigning Han Yanshuang to lawful protection means the legal bench is not available for a sponsor counterclaim;
- spending fan oxygen to stabilize a public receipt means the fan queue cannot quietly support a backstage carrier;
- using Shen Luo to buy time means contract capture or manager debt occupies the bridge;
- protecting a route asset can leave a broadcast drift or schedule scar to auto-harden.
Core object model
A production triage desk should expose these objects or equivalents:
| Object | Meaning | Required observable field |
|---|---|---|
triage_board | the current set of crises competing for attention | crisis ids, lane demands, default state, assigned handler, assigned resource |
triage_lane | finite operational capacity such as edit, legal, field, public, sponsor, oxygen, safehouse, or security | occupied/free/exhausted state and source assignment |
crisis_ticket | an unresolved route, proof, person, broadcast, or schedule problem | pressure family, urgency state, default branch, future route effect |
handler_commitment | a character, follower, route asset, permit, room, or support source assigned to a ticket | exclusivity and fatigue/cost state |
unstaffed_default | what happens when a ticket receives no credible work | claimant default, auto-edit, proof spoilage, route lock, hostile witness, black-screen fold, or hardening |
Operational lanes
Implementation names may differ, but the desk should distinguish at least four lanes whenever they are present in current state.
edit_lane: cutroom, black-box checksum, redaction, continuity repair, public version patch.legal_lane: inspector oath, archive seal, injunction answer, counterclaim hearing, admissibility.field_lane: runners, escorts, safe delivery, backstage access, service corridor witness.public_lane: fan queue, public receipt, historian drop, pirate relay, audience testimony.sponsor_lane: stop-loss bridge, naming-right concession, silence retainer, manager negotiation.oxygen_lane: oxygen reserve, relief queue, crew survival support, fan oxygen payout.safehouse_lane: witness shelter, artist rest, protected staff, route asset concealment.security_lane: cordon, escort, crowd separation, physical seizure prevention.schedule_lane: live slot, rehearsal room, broadcast delay, black-screen containment, continuity scar.
A lane is not a generic action point. It is a named capacity that later evidence can show as occupied, exhausted, or unavailable.
State machine
| State | Meaning | Required playable consequence |
|---|---|---|
desk_unopened | crises exist but do not yet contend for a finite lane | no triage pressure is active |
desk_open | at least two active tickets compete for one or more lanes | player can assign, defer, split, overwork, abandon, or default |
ticket_assigned | one ticket has a handler/resource/lane | that lane becomes unavailable elsewhere until released or exhausted |
ticket_split | one ticket receives partial staffing or shared lane coverage | immediate pressure may drop while ambiguity or fatigue persists |
ticket_deferred | a ticket is intentionally delayed with a named reason | default risk is reduced or postponed, not erased |
lane_overworked | a handler or lane is assigned beyond safe capacity | fatigue, mistake, betrayal, injury, or proof contamination appears |
ticket_unstaffed_default | a ticket receives no credible assignment | claimant, editor, sponsor, archive, fan, or blackout system narrates the result |
handler_burnout | a character/follower/route asset cannot safely cover more work | future assignment is blocked, costlier, or hostile |
desk_stabilized | the active ticket set is reduced without hiding unresolved debt | at least one relief and one cost remain visible |
Branch contract
Branch A — Focus one crisis
The player assigns a full lane, handler, and support source to one ticket.
Expected outcome:
- selected ticket improves, resolves, or becomes route-available;
- selected lane becomes occupied, exhausted, or scarred;
- at least one unselected ticket gains default risk, delay cost, or claimant pressure.
Branch B — Split the bench
The player divides one lane or handler across multiple tickets.
Expected outcome:
- two or more tickets receive partial relief;
- no ticket gets a clean success unless an additional support source pays the difference;
- fatigue, ambiguity, edit debt, legal debt, fan resentment, oxygen shortage, or schedule pressure rises.
Branch C — Overwork a handler or route asset
The player asks a character, follower, route asset, or facility to cover incompatible work.
Expected outcome:
- immediate collapse may be prevented;
handler_burnout,route_asset_overexposed,proof_contaminated,crew_fatigue, or equivalent state appears;- future assignment with that handler/lane becomes blocked or costlier.
Branch D — Buy time with a bridge
The player uses sponsor language, public receipt, legal delay, oxygen payout, edit mask, or schedule scar to keep a ticket from defaulting.
Expected outcome:
- a default branch is delayed or softened;
- contract capture, public distrust, audit heat, fan resentment, oxygen debt, edit debt, or schedule scar rises;
- the ticket remains visible on the desk with a next pressure state.
Branch E — Let the system default
The player leaves a ticket unstaffed, hides the desk, or lacks a credible lane.
Expected outcome:
ticket_unstaffed_defaultor equivalent fires;- an event, card, tag, counter, blocked reason, or route lock records who narrated the default;
- future recovery is possible only through a harder or narrower recovery route, unless the default is terminal.
Counters and durable states
A triage resolution must move at least three relevant values. At least one value must be relief and at least one must be cost.
Primary values:
triage_pressuredesk_open_ticketsedit_lane_occupiedlegal_lane_occupiedfield_lane_occupiedpublic_lane_occupiedsponsor_lane_occupiedoxygen_lane_occupiedsafehouse_lane_occupiedsecurity_lane_occupiedschedule_lane_scarredstaff_fatiguehandler_burnoutroute_asset_overexposedcrew_moraleproof_contaminatedunstaffed_defaultsclaimant_default_pressureblack_screen_slotsreality_driftfan_oxygen_resentmentinspection_heatcontract_capture
Replay evidence contract
mechanic: storyteller.mechanic.production_triage_desk.v1
source_state:
active_tickets:
- id: <crisis_ticket_id>
demanded_lanes: [edit | legal | field | public | sponsor | oxygen | safehouse | security | schedule]
default_if_unstaffed: <state_or_event>
future_route_effect: <unlock_or_block_or_cost>
- id: <second_ticket_id>
demanded_lanes: []
available_lanes:
edit: free | occupied | exhausted | absent
legal: free | occupied | exhausted | absent
field: free | occupied | exhausted | absent
public: free | occupied | exhausted | absent
available_handlers:
- <character_or_route_asset_or_explicit_absence>
assignment:
selected_ticket: <id>
selected_lane: <lane>
selected_handler: <handler_or_absent>
selected_support: <resource_or_absent>
branch:
selected: focus | split | overwork | buy_time | default
result:
ticket_states_after: {}
lane_states_after: {}
handler_states_after: {}
counter_deltas: {}
future_route_effects:
unlocked: []
blocked_or_costlier: []Non-goals
- Not a generic action-point pool.
- Not a priority-note dashboard.
- Not a fixed-turn phase.
- Not a free way to resolve every active crisis.
- Not a replacement for archive custody, oxygen exchange, sponsor pressure, inspector pressure, witness payroll, clean-ending seizure, or reality drift.
- Not satisfied by prose that a team is busy; lanes, assignments, defaults, and deltas must be visible in game state.