Medical Air Queue Priority / 医疗供氧队列优先线

Medical Air Queue Priority is a pressure-system storyline for the moment when medical oxygen, ward air, floor medics, or emergency care capacity becomes the scarce object that a future route wants to treat as solved.

The existing corpus can already make the live floor unsafe, the room full, the egress path blocked, and the recovery ward politically contested. This line adds the missing question:

Who receives medical air first, who is delayed or diverted, and which later reader refuses the claim that the body was simply “stabilized”?

This is not a healing minigame. It is a Storyteller management surface where medical air becomes custody, proof, public oxygen debt, and route availability.

Gap This Fills

Current pages already mention medical or safety pressure as a cost:

The weak seam is priority. A crisis can say “medical air was used” without proving whose claim was subordinated, whether treatment was public, lawful, sponsor-only, ward-only, or route-only, and what scar survives into future play.

State-Triggered Entry

Open this storyline only when all of the following are true:

entry_state_required:
  trigger_kind: state_pressure
  medical_air_or_care_capacity_visible: true
  patient_queue_or_care_claims_min: 2
  source_surface_visible:
    - live_floor_crew_load
    - room_occupancy_claim_stack
    - live_floor_egress_bottleneck
    - recovery_ward_discharge_pressure
    - oxygen_claim_exchange
    - route_asset_custody
    - equivalent
  care_subject_or_queue_visible_or_explicit_absence: true
  owed_reader_if_diverted_visible_or_explicit_absence: true
  future_reader_or_route_consumes_medical_air_state: true
  player_can_prioritize_split_hold_publish_sponsor_or_divert: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_patient_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

Invalid entries include generic injury flavor, raw health total, chapter timer, fixed emergency phase, relationship threshold, or an abstract “healed” flag with no competing care claim.

Bound Content Pack

  • 医疗供氧队列优先机制 defines medical-air rows, priority decisions, reader scope, and default hardening.
  • 医疗供氧队列账本 records the queue, subject, air source, triage authority, displaced reader, selected posture, and future route effect.
  • 医疗供氧优先分诊 resolves a priority row.
  • 医疗供氧挪用默认 fires or arms when care is diverted, hidden, sponsor-captured, or falsely filed as clean stabilization.
  • Medical Air Stabilization Afteruse Receipt handles the later seam where a prior stabilization, ward hold, public triage receipt, sponsor clinic result, lawful hold, split ration, or diversion scar is cited by a future reader as clean route availability, public oxygen repayment, sponsor safety, lawful clearance, archive release, recovery closure, broadcast reality, or ending proof.

Storyline Spine

Beat 1 - Air Becomes a Concrete Queue

A performer collapses after a live slot, a protected witness needs quiet ward air, a fan oxygen queue is waiting, a medic lane has been borrowed by production, a route asset needs safe transport, or a recovery ward bed is being converted into availability.

The game must show the medical-air source and at least two care claims. “Use medical supply” is not enough.

Beat 2 - The Ledger Names the Displaced Claim

Medical Air Queue Ledger records:

medical_air_row:
  source_surface: live_floor_crew_load | room_occupancy_claim_stack | live_floor_egress_bottleneck | recovery_ward_discharge_pressure | oxygen_claim_exchange | route_asset_custody | equivalent
  medical_air_source: medic_lane | ward_air_room | oxygen_reserve | fan_oxygen_queue | sponsor_clinic | lawful_hold | route_asset_life_support | explicit_absence | equivalent
  care_claims:
    - subject_or_queue: <person queue route asset or explicit_absence>
      claim_kind: emergency_stabilization | ward_hold | public_oxygen | witness_protection | route_asset_transport | performer_safety | proof_preservation | equivalent
      owed_reader: fan_public | lawful_reader | sponsor | ward | route_asset | crew_lane | artist_boundary | broadcast_reality | equivalent
  selected_priority_or_absence: <claim id or explicit_absence>
  displaced_claim_or_absence: <claim id or explicit_absence>
  future_reader_or_route: <future consumer>

Beat 3 - The Player Chooses Priority Scope

Run Medical Air Priority Triage. The player can stabilize one living subject, reserve the ward queue, split ration with scar, publish a public triage receipt, accept sponsor clinic priority, hold under lawful medical boundary, or divert the air and let default harden.

No branch can make medical air universal consent, public oxygen repayment, lawful availability, sponsor safety, and route-asset fitness at the same time.

Beat 4 - Stabilization Becomes Future State

Every branch must write a future effect. Valid effects include:

  • stabilized_with_reader_scope;
  • ward_hold_required;
  • public_receipt_required;
  • sponsor_only_care;
  • lawful_medical_boundary;
  • route_asset_transport_delayed;
  • fan_oxygen_debt_armed;
  • recovery_only;
  • broadcast_reality_drift.

Later reuse of those effects is not automatic. Medical Air Stabilization Afteruse Receipt checks whether the source row, selected priority, displaced claim, medical state, proof bridge, after-state, and future reader still travel with the claim.

Beat 5 - Default Names the Diversion

If the player spends medical air without the queue ledger, hides the displaced reader, converts ward hold into clean availability, treats sponsor clinic care as public consent, or files absence as stabilization, Medical Air Diversion Default fires or remains armed.

Branch Map

BranchImmediate reliefCost/scarFuture state
Stabilize living subjectpatient or performer risk dropsfan queue, sponsor, schedule, or proof pressure risesstabilized with named reader scope
Reserve ward queuerecovery boundary and ward legitimacy improveroute availability, schedule, or sponsor pressure worsensward hold required
Split ration with scartwo claims receive partial careboth scopes narrow; resentment or relapse risk risessplit medical receipt required
Publish triage receiptpublic trust or fan oxygen legitimacy improveslegal exposure, sponsor stop-loss, or crowd anxiety risespublic-only or addendum-required
Sponsor clinic priorityimmediate logistics or private care improvescontract capture, public distrust, or fan oxygen resentment risessponsor-only care
Lawful medical holdpremature availability is blockedroute delay, bureau debt, or ward pressure riseslawful medical boundary
Divert / hide defaultfastest route gets temporary reliefdisplaced claim hardensrecovery-only, hostile, blocked, or drift

Counter Contract

Every non-default branch must mutate at least three counters or durable states:

counter_deltas_required:
  relief: at_least_one
  cost: at_least_one
  future_reader_or_route_effect: at_least_one

Expected surfaces include medical_air_reserve, care_priority_clarity, patient_stability, performer_safety_risk, ward_queue_pressure, crew_medic_capacity, fan_oxygen_balance, fan_oxygen_resentment, public_receipt_legitimacy, public_receipt_distrust, sponsor_stop_loss_pressure, contract_capture, lawful_medical_boundary, route_asset_availability, proof_preservation_delay, recovery_only_pressure, and broadcast_reality_drift.

Missability and Recovery

This storyline is missed when medical air is spent or cited without:

  • named medical-air source;
  • at least two care claims or an explicit absence;
  • selected priority;
  • displaced claim;
  • owed reader;
  • future consumer;
  • branch cost and scope.

Recovery is allowed only with scar: late triage receipt, fan oxygen repayment, ward hold, lawful medical addendum, route-asset transport delay, sponsor clinic unwinding, or recovery-only play. Recovery cannot turn hidden diversion into clean stabilization.

Replay Evidence Expectation

storyline_id: storyteller.storyline.medical_air_queue_priority.v1
session_id: lens-medical-air-queue-priority-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  medical_air_or_care_capacity_visible: true
  patient_queue_or_care_claims_min: 2
  future_reader_or_route_consumes_medical_air_state: true
  no_fixed_turn_trigger: true
offered:
  card: storyteller.card.medical_air_queue_ledger.v1
  rite: storyteller.rite.medical_air_priority_triage.v1
resolved:
  selected_posture: stabilize_living_subject | reserve_ward_queue | split_ration_with_scar | publish_triage_receipt | sponsor_clinic_priority | lawful_medical_hold
  selected_priority: <claim id>
  displaced_claim_or_absence: <claim id or explicit_absence>
  future_reader_or_route_effect: <effect>
default:
  event_seen_or_armed: storyteller.event.medical_air_diversion_default.v1
assertions:
  - state_triggered_entry
  - medical_air_source_and_competing_claims_visible
  - displaced_claim_and_future_reader_visible
  - branch_has_relief_cost_future_effect
  - no_clean_universal_stabilization

Non-Goals

  • Not a health bar.
  • Not a medical simulator.
  • Not a generic rest action.
  • Not a clean resurrection or free recovery system.
  • Not a sponsor safety warranty.
  • Not valid unless medical-air priority changes future route, custody, public oxygen, ward, or broadcast reality state.