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:

  1. at least two unresolved playable crises are active and can still change future route access, broadcast reality, custody, audience stability, or schedule pressure;
  2. 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;
  3. at least one available handler, follower, route asset, permit, room, or resource can be assigned or explicitly absent;
  4. leaving any listed crisis unworked can produce a default state rather than waiting politely;
  5. 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:

ObjectMeaningRequired observable field
triage_boardthe current set of crises competing for attentioncrisis ids, lane demands, default state, assigned handler, assigned resource
triage_lanefinite operational capacity such as edit, legal, field, public, sponsor, oxygen, safehouse, or securityoccupied/free/exhausted state and source assignment
crisis_ticketan unresolved route, proof, person, broadcast, or schedule problempressure family, urgency state, default branch, future route effect
handler_commitmenta character, follower, route asset, permit, room, or support source assigned to a ticketexclusivity and fatigue/cost state
unstaffed_defaultwhat happens when a ticket receives no credible workclaimant 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

StateMeaningRequired playable consequence
desk_unopenedcrises exist but do not yet contend for a finite laneno triage pressure is active
desk_openat least two active tickets compete for one or more lanesplayer can assign, defer, split, overwork, abandon, or default
ticket_assignedone ticket has a handler/resource/lanethat lane becomes unavailable elsewhere until released or exhausted
ticket_splitone ticket receives partial staffing or shared lane coverageimmediate pressure may drop while ambiguity or fatigue persists
ticket_deferreda ticket is intentionally delayed with a named reasondefault risk is reduced or postponed, not erased
lane_overworkeda handler or lane is assigned beyond safe capacityfatigue, mistake, betrayal, injury, or proof contamination appears
ticket_unstaffed_defaulta ticket receives no credible assignmentclaimant, editor, sponsor, archive, fan, or blackout system narrates the result
handler_burnouta character/follower/route asset cannot safely cover more workfuture assignment is blocked, costlier, or hostile
desk_stabilizedthe active ticket set is reduced without hiding unresolved debtat 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_default or 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_pressure
  • desk_open_tickets
  • edit_lane_occupied
  • legal_lane_occupied
  • field_lane_occupied
  • public_lane_occupied
  • sponsor_lane_occupied
  • oxygen_lane_occupied
  • safehouse_lane_occupied
  • security_lane_occupied
  • schedule_lane_scarred
  • staff_fatigue
  • handler_burnout
  • route_asset_overexposed
  • crew_morale
  • proof_contaminated
  • unstaffed_defaults
  • claimant_default_pressure
  • black_screen_slots
  • reality_drift
  • fan_oxygen_resentment
  • inspection_heat
  • contract_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.