Oxygen Reserve Gap Assignment / 呼吸储备缺口指派
Oxygen Reserve Gap Assignment is the rite that resolves a visible uncovered reserve gap after a payment, rebate, makegood, priority cut, or provenance segregation leaves an obligation only partly covered.
The rite does not ask the player to balance a raw number. It asks who carries the gap, which reader is protected, which reader remains short, and how future route access changes.
Entry hand
Offer this rite when 呼吸储备缺口案卷 has a row with:
entry_hand:
trigger_kind: state_pressure
obligation_state_before_any:
- partially_paid
- segregated_underfunded
- sponsor_matched_short
- opt_in_short
- escrow_short
- haircut_short
- ringfenced_short
- hidden_short
gap_holder_before_visible_or_explicit_absence: true
protected_reader_visible_or_explicit_absence: true
burdened_or_excluded_reader_visible_or_explicit_absence: true
future_reader_or_route_effect_possible: true
no_fixed_turn_trigger: truePlayer postures
Sponsor true-up
The sponsor supplies the missing cover with sponsor-only limits.
- Relief: current obligation, slot, or makegood pressure falls.
- Cost: sponsor capture, contract capture, public distrust, or future sponsor-only state rises.
- Future: source may be cited only where sponsor standing is valid.
Producer underwrite
The producer license carries the gap openly.
- Relief: route can continue with named backing.
- Cost: license encumbrance, inspection heat, or management pressure rises.
- Future: later reader treats the route as accepted with cost, not clean.
Fan or public queue credit
The gap is kept as a public receipt, refund queue, oxygen credit, or fan-facing owed row.
- Relief: public legitimacy and fan oxygen legibility improve.
- Cost: refund delay, sponsor pressure, fan resentment, or audit standing pressure rises.
- Future: public-only, refund-audit, or fan-audit reader consumes the row.
Archive gap escrow
The gap is held by archive, lawful reader, or inspection shelf until proof can bridge it.
- Relief: false closure and double use are blocked.
- Cost: archive debt, public delay, inspection heat, or sponsor hostility rises.
- Future: lawful-only, proof-required, or release-gated state.
Route-asset ration
The gap is assigned to a protected person, worker, room, proof carrier, or care line with explicit rationing.
- Relief: a protected route asset survives instead of being silently used as reserve.
- Cost: care debt, handler burden, excluded-reader resentment, or recovery-only pressure rises.
- Future: ringfenced, costlier, or route-asset-only state.
Recovery conversion
The current obligation cannot be made clean, so the gap becomes a recovery-only shelf or indemnity row.
- Relief: unsafe closure is blocked while limited recovery remains possible.
- Cost: route continuation is downgraded, delayed, or indemnity-priced.
- Future: 复原追偿搁架线 or equivalent consumes the scar.
Split gap
The gap is scoped between incompatible readers.
- Relief: one reader can proceed within scope.
- Cost: contradiction pressure, omitted-reader hostility, or source ambiguity rises.
- Future: split-required, addendum-required, or costlier route.
Visible block
The producer refuses to close the obligation until a real holder exists.
- Relief: false-clean closure is prevented.
- Cost: current route blocks, makegood pressure rises, or clawback pressure rises.
- Future: priority, makegood, clawback, or recovery route must handle the row.
Gap capture default
If the player files closure without a holder, 呼吸储备缺口默认 fires or arms.
Output contract
rite_output:
selected_posture: sponsor_true_up | producer_underwrite | fan_public_queue_credit | archive_gap_escrow | route_asset_ration | recovery_conversion | split_gap | visible_block | gap_capture_default
assigned_gap_holder_after: <holder or explicit_absence>
gap_state_after: assigned | queued | escrowed | rationed | converted | split_required | blocked | captured | false_closed | recovery_only | equivalent
protected_reader_state_after: <state>
burdened_or_excluded_reader_state_after: <different state or explicit_absence>
future_reader_or_route_effect: <effect>
emitted_event: storyteller.event.oxygen_reserve_gap_default.v1 | none_if_valid
counter_deltas:
relief: []
cost: []
future: []A valid result mutates at least gap state, reader state, and future route effect. It is not valid if the only output is a changed oxygen total, money total, or mood score.