Recovery Inventory Ledger / 复原库存账本
Recovery Inventory Ledger is the visible card for scarce recovery capacity that several crisis systems want to spend at once.
It exists because Storyteller already has strong single-surface pressure: sponsor makegood, recovery discharge, claimant intake, live-floor load, cutroom priority, and management compression. The missing execution object is the shared ledger that says the same recovery resource cannot be spent twice. A correction slot, ward air bed, oxygen reserve, crew rest shift, archive proof window, edit checksum lane, sponsor makegood frame, public contrition minute, or custody handler must have an owner, a spend state, an excluded reader, and a future effect.
Creation trigger
Create or refresh this card only from state pressure:
creation_trigger:
trigger_kind: state_pressure
finite_recovery_inventory_present_or_absent: true
competing_demands_min: 2
shared_inventory_or_explicit_absence_visible: true
future_readers_min: 2
player_can_allocate_split_reserve_refuse_or_default: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_count_trigger: trueThe card must not appear because a numbered turn, fixed day/week interval, chapter quota, raw content count, dashboard status, or lens-health state arrives.
Required fields
card_id: storyteller.card.recovery_inventory_ledger.v1
source_pressure:
source_surface: sponsor_makegood | recovery_ward | claimant_floor | live_floor | cutroom | fan_oxygen | archive_custody | management_compression | broadcast_reality | equivalent
source_session_or_in_world_id: <session id or source row or explicit_absence>
finite_inventory_rows:
- inventory_id: <stable row id>
inventory_kind: correction_slot | ward_air | oxygen_reserve | crew_rest_shift | archive_proof_window | edit_checksum_lane | sponsor_makegood_frame | public_contrition_minute | custody_handler | security_lane | equivalent
quantity_state: free | claimed | split | reserved | exhausted | absent | contested
current_owner_or_absence: <reader/handler/faction/explicit_absence>
protected_boundary_or_absence: <boundary or explicit_absence>
competing_demands:
- demand_id: <stable demand id>
requester: sponsor | fan_public | archive | inspector | artist_boundary | claimant | editor | management | schedule_board | live_floor | equivalent
requested_inventory: <inventory_id or explicit_absence>
demanded_use: makegood | recovery | correction | proof | floor_safety | public_receipt | oxygen_refund | route_unlock | metric_report | equivalent
minimum_acceptance_surface: <surface>
default_if_excluded: <named default>
future_readers:
- reader_id: <reader>
reader_type: public_reader | lawful_reader | sponsor_reader | artist_boundary_reader | editor_reader | management_reader | schedule_reader | route_asset_reader | equivalent
reads_inventory_state_as: accepted | narrowed | hostile | blocked | captured | recovery_only | contradiction_pending | equivalent
allocation_state:
selected_inventory_or_absence: <inventory id or explicit_absence>
selected_primary_demand_or_absence: <demand id or explicit_absence>
excluded_or_scoped_demand_or_absence: <demand id or explicit_absence>
inventory_spend_state: allocated | split_escrow | reserved | borrowed_forward | quarantined | refused | captured_default | equivalent
future_route_effect: <effect>Inventory vocabulary
| Inventory kind | What it means | Typical scar when spent |
|---|---|---|
correction_slot | a finite broadcast correction or repair surface | future correction costlier, schedule pressure, audience fatigue |
ward_air | protected recovery air, bed, silence, or handler attention | body boundary pressure, ward capacity loss, recovery-only route |
oxygen_reserve | fan oxygen credit, refund reserve, or public-benefit buffer | fan resentment, refund audit, public-only bridge |
crew_rest_shift | real floor or runner rest capacity | crew refusal risk, skeleton crew scar, live-floor narrowing |
archive_proof_window | time/authority to attach or verify source proof | archive debt, lawful-only gate, checksum requirement |
edit_checksum_lane | cutroom proof or continuity repair lane | edit debt, source ambiguity, black-box dependency |
sponsor_makegood_frame | replacement commercial or package frame | contract capture, public distrust, sponsor-only route |
public_contrition_minute | apology, public ledger, or witness-facing airtime | sponsor hostility, inspection heat, public distrust if captured |
custody_handler | named handler who can carry body/proof/claim safely | handler burden, route asset pressure, safety boundary risk |
State machine
| Ledger state | Meaning | Required playable consequence |
|---|---|---|
inventory_visible | at least one finite row is named | player can see who wants it and who loses if it is spent |
contested | two or more demands target same row or mutually exclusive rows | allocation hearing or equivalent must be offered |
allocated | one demand receives the inventory | excluded demand changes state and future reader records cost |
split_escrow | inventory is divided or made conditional | ambiguity, proof burden, and future reader cost rise |
reserved | inventory is protected for later reader | current pressure worsens but route boundary is preserved |
borrowed_forward | future inventory is pulled into current crisis | future slot/oxygen/ward/proof state becomes costlier or blocked |
quarantined | false-clean or unsafe spend is prevented | immediate relief narrows; future route is safer but slower |
captured_default | someone files the inventory first | hidden demand and excluded reader become durable scar |
Assignment requirements
Any rite or event consuming this card must provide or explicitly lack:
- source pressure and source id;
- at least one finite inventory row or explicit absence;
- at least two competing demands;
- primary and excluded/scoped future readers;
- current owner or explicit absence;
- protected boundary or explicit absence;
- selected spend state;
- cost surface;
- future route effect.
A sponsor payment, legal stamp, editor patch, management KPI, public sympathy surge, or high-status handler cannot replace the ledger. It must name what finite inventory was spent and who is excluded.
Counter payload
Every resolved ledger row should mutate at least three durable values: one relief, one cost, and one future reader or route effect.
Recommended payload values:
recovery_inventory_pressurerecovery_inventory_double_spend_riskcorrection_slot_capacityward_air_capacityfan_oxygen_reservecrew_rest_capacityarchive_proof_window_integrityedit_checksum_lane_integritysponsor_makegood_inventorypublic_contrition_capacitycustody_handler_burdenschedule_pressureinspection_heatpublic_receipt_distrustsponsor_stop_loss_pressureroute_recovery_cost
Non-goals
- Not a global resource counter.
- Not a turn upkeep phase.
- Not a raw scarcity tax.
- Not sponsor makegood alone.
- Not recovery ward availability alone.
- Not valid if one resource satisfies every future reader cleanly.
- Not valid if absent inventory disappears instead of becoming a scar.