Emergency Power Priority Allocation / 应急供电优先分配

Emergency Power Priority Allocation is the assignable rite for resolving an open 应急供电账本. The player chooses which powered surface keeps electricity, which surface is shed or degraded, and who must later read that scar.

The rite is not “pay money to prevent blackout.” It requires a named power source, a protected surface, a sacrificed or degraded surface, a handler or explicit absence, a support or explicit absence, and a future route effect.

Entry requirements

Offer this rite when:

  1. an emergency power ledger is open or equivalent state is present;
  2. at least two powered surfaces compete for finite safe load;
  3. one or more surfaces can alter blackout risk, oxygen liability, route access, archive integrity, proof admission, performer safety, schedule pressure, or public legitimacy;
  4. the player can choose a priority response or explicitly accept default;
  5. a complete assignment can explicitly select overdraw_anyway or default_selects, allowing a later default actor to dispose of the powered surfaces.

No entry condition may depend on fixed turn count, day interval, chapter quota, dashboard health, or raw page count.

Required slots

rite_id: storyteller.rite.emergency_power_priority_allocation.v1
requires:
  ledger: storyteller.card.emergency_power_ledger.v1
  power_source: storyteller.card.emergency_power_source.v1
  protected_surface: storyteller.card.emergency_power_protected_surface.v1
  shed_surface: storyteller.card.emergency_power_shed_surface.v1
  priority_claim: storyteller.card.emergency_power_priority_claim.v1
  handler: storyteller.card.emergency_power_handler.v1
  support: storyteller.card.emergency_power_support.v1
  future_reader: storyteller.card.emergency_power_future_reader.v1
  default_risk: storyteller.card.emergency_power_default_risk.v1
all_slots_required: true
all_assigned_cards_must_be_in_hand: true
one_shot: true
response: certify_priority | load_shed | split_power | borrow_generator | narrow_slot | public_safety_hold | overdraw_anyway | default_selects

A legal order, archive seal, sponsor cheque, famous handler, or edit patch cannot fill the rite unless the rite also records actual power source state and the surface that loses power.

Branches

Branch A — Certify priority

The player keeps power on the surface with the strongest visible priority claim.

Required outcome:

branch_id: certify_priority
state_after: priority_certified
future_route_effect: power_priority_certificate_required
protected_surface_after: powered_certified
shed_surface_after: delayed | degraded | recovery_only | public_only | lawful_only | blocked
power_source_after: strained | scoped | metered | stable_with_scar
counter_deltas:
  relief: [protected_route_unlocked | blackout_risk_down | proof_or_oxygen_preserved]
  cost: [schedule_pressure_up | sponsor_pressure_up | inspection_heat_up | route_narrowness_up | shed_surface_scar_up]
  future_route: [future_reader_records_power_priority]

Branch B — Load shed deliberately

The player turns off one load before it can trip the whole source.

Required outcome:

branch_id: load_shed
state_after: deliberate_load_shed
future_route_effect: shed_surface_recovery_required
power_overdraw_risk_after: down
shed_surface_after: load_shed | delayed | recovery_only | blocked
protected_surface_after: safer_powered
counter_deltas:
  relief: [blackout_risk_down | crew_hazard_down | broadcast_reliability_up]
  cost: [oxygen_liability_up | archive_integrity_down | public_distrust_up | lawful_route_delay_up | schedule_pressure_up]
  future_route: [shed_surface_requires_recovery_or_reader_scope]

Branch C — Split power

The player divides power between two or more surfaces below clean operating level.

Required outcome:

branch_id: split_power
state_after: split_power_degraded
future_route_effect: degraded_power_reader_required
protected_surface_after: partially_powered
shed_surface_after: degraded_but_available
slot_state_after: narrow_or_glitch_prone
counter_deltas:
  relief: [multiple_routes_remain_open]
  cost: [broadcast_reliability_down | source_ambiguity_up | crew_hazard_up | inspection_heat_up]
  future_route: [degraded_choice_read_by_future_route]

Branch D — Borrow generator

The player borrows from sponsor meter, security backup, ward reserve, route asset, fan relay, pirate battery, or other finite source.

Required outcome:

branch_id: borrow_generator
state_after: borrowed_power_claim_attached
future_route_effect: generator_claim_maturity_due
borrowed_source_after: claim_attached | metered | maturity_due | captured | public_only | sponsor_only | lawful_only
protected_surface_after: powered_with_debt
shed_surface_after: unchanged_or_scarred
counter_deltas:
  relief: [slot_or_route_powered]
  cost: [borrowed_generator_claim_up | sponsor_capture_up | oxygen_reserve_down | route_asset_wear_up | future_claim_cost_up]
  future_route: [maturity_reader_armed]

Branch E — Narrow slot

The player rewrites the immediate slot to draw less power.

Required outcome:

branch_id: narrow_slot
state_after: low_power_slot_narrowed
future_route_effect: slot_contract_reads_power_scope
slot_state_after: narrowed_for_power | low_light_version | audio_only_version | no_live_cutroom | no_gate_feed
protected_surface_after: powered
shed_surface_after: out_of_scope_but_recorded
counter_deltas:
  relief: [blackout_risk_down | crew_hazard_down]
  cost: [audience_expectation_scar_up | sponsor_glamour_loss_up | route_narrowness_up]
  future_route: [narrowed_slot_consumed_by_contract_or_public_reader]

Branch F — Public safety hold

The player states the power shortage publicly and holds unsafe or unlawful loads.

Required outcome:

branch_id: public_safety_hold
state_after: public_safety_hold_visible
future_route_effect: public_or_lawful_power_notice_required
public_state_after: safety_hold_visible
protected_surface_after: safety_priority_powered | lawful_hold
shed_surface_after: held_not_hidden
counter_deltas:
  relief: [public_safety_legitimacy_up | crew_trust_up | oxygen_harm_risk_down]
  cost: [schedule_pressure_up | sponsor_stop_loss_pressure_up | inspection_heat_up]
  future_route: [public_only | lawful_only | costlier]

Branch G — Overdraw anyway

The player keeps all visible surfaces powered beyond safe load.

Required outcome:

branch_id: overdraw_anyway
choice_index: 6
state_after: overdraw_default_pending
future_route_effect: hidden_trip_recovery_pending
sets_common_pending_flags:
  - emergency_power.default_pending
  - event.power_shed_default.armed
  - future_route.power_shed_recovery_pending
  - power_reality.false_clean_all_powered_claimed
power_source_after: overdrawn | failing | hidden_trip_armed
immediate_surface_after: airs_with_hidden_overdraw
counter_deltas:
  relief: [immediate_schedule_pressure_down | sponsor_glamour_preserved]
  cost: [power_overdraw_risk_up | crew_hazard_up | blackout_risk_up | oxygen_liability_armed | archive_integrity_armed]
  future_route: [default_ready | recovery_only | hidden_trip_reader]

Branch H — Default selects

After assigning all nine exact cards, the player explicitly chooses to let a default actor dispose of the power conflict. Missing proof, handler, source, support, future reader, or default risk blocks the rite instead of manufacturing a default.

Required outcome:

branch_id: default_selects
choice_index: 7
state_after: priority_default_pending
future_route_effect: default_actor_power_disposition_pending
sets_common_pending_flags:
  - emergency_power.default_pending
  - event.power_shed_default.armed
  - future_route.power_shed_recovery_pending
  - power_reality.false_clean_all_powered_claimed

Completion contract

Every branch must record at least three deltas:

  • one relief delta;
  • one cost delta;
  • one future route, reader, slot, custody, or public-state delta.

The rite fails its design contract if it returns all_surfaces_powered_clean, if it hides the losing surface, if sponsor money makes finite power infinite, or if blackout risk changes only as mood text.

Only branches G and H arm the event. The other six branches clear all four common pending flags and cannot reach it. Skip and underfill do not auto-default. Once any branch resolves, the one-shot rite cannot be reopened; recovery proceeds through the selected future reader or the terminal event scar.

Replay evidence

rite_id: storyteller.rite.emergency_power_priority_allocation.v1
session_id: lens-emergency-power-priority-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  ledger_state: warning_open | overdrawn | strained | equivalent
  competing_powered_surfaces_min: 2
  no_fixed_turn_trigger: true
assignment:
  exact_slots: [ledger, power_source, protected_surface, shed_surface, priority_claim, handler, support, future_reader, default_risk]
  response: certify_priority | load_shed | split_power | borrow_generator | narrow_slot | public_safety_hold | overdraw_anyway | default_selects
  selected_choice_index: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
result:
  power_source_state_after: <state>
  protected_surface_after: <state>
  shed_surface_after: <state>
  future_route_effect: <effect>
  counter_deltas: {}
target_replay:
  path: lens/replays/emergency-power-priority.overdraw-governor.replay.json
  choice_index: 6
  event_terminal: governor_trip

Local authority boundary

This rite is source: storyteller, localAuthorityOnly: true, and may set only recordsFinitePowerPriorityOnly, preservesNamedSourceProtectedAndShedSurface, preservesDefaultActorAndFutureReader, and requiresVisibleLosingSurface true. It keeps grantsConsent, grantsLegalValidity, grantsWaiver, grantsSettlement, grantsRouteClearance, grantsArchiveRelease, grantsProofTruth, grantsSponsorAuthority, grantsFanAuthority, grantsInspectorAuthority, grantsEditorAuthority, grantsProducerLicense, grantsGeneratorOwnership, grantsInfinitePower, grantsCleanAllPoweredState, grantsFutureReuseAuthority, and grantsUniversalBroadcastAuthority false.

Non-goals

  • Not a generic spending action.
  • Not a universal blackout cure.
  • Not an automatic disaster roll.
  • Not a fixed daily upkeep rite.
  • Not valid unless power source, protected surface, losing surface, support, deltas, and future reader are all observable.