Oxygen Priority Ladder / 呼吸优先梯机制
Oxygen Priority Ladder is a local priority mechanism for one finite oxygen, air, audience, public receipt, recovery, or sponsor makegood benefit that multiple claimants want to treat as theirs.
The current mesh already supports 呼吸索赔交易所 and 赞助补偿库存机制. This mechanism adds the missing ordering surface between them: after a claim exchange or sponsor makegood row finds a finite benefit, the game must record who is senior, who is junior, why, and which later reader consumes the scar.
Playable question
When the same finite breath/public/sponsor/recovery benefit cannot satisfy every reader, does the producer rank fan receipts, sponsor floor, archive lien, ward air need, public lottery, route-asset care, or management override first?
The answer must never erase the junior claimant. A success is valid only if relief, cost, and future route effect all remain visible.
State-triggered entry
Offer this mechanism only when all of the following are true:
entry_state:
trigger_kind: state_pressure
finite_benefit_or_explicit_absence_visible: true
source_surface_visible: true
two_or_more_claimants_or_default_narrator_visible: true
priority_basis_candidate_visible: true
future_reader_present: true
player_can_choose_priority_split_refuse_or_default: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_count_trigger: true
no_dashboard_or_lens_health_trigger: trueValid sources include a sponsor makegood request against fan oxygen, a fan refund demand against sponsor floor, an archive lien before payment, ward-air reserve pressure, a public receipt minute with sponsor capture risk, a recovery air row being reused as commercial proof, or a route asset care slot that conflicts with audience floor relief.
Ledger contract
呼吸优先梯 must record:
priority_ladder_required:
source_surface: <surface or explicit_absence>
source_card_or_absence: <source card or explicit_absence>
finite_quantity_or_absence: <quantity tag or explicit_absence>
senior_claimant: <claimant>
junior_claimants:
- <claimant>
priority_basis: receipt_seniority | ward_air_need | sponsor_floor | archive_lien | public_lottery | lawful_boundary | route_asset_care | management_override | explicit_absence
chosen_rule: fan_seniority_first | sponsor_floor_first | archive_lien_first | ward_reserve_first | public_lottery | split_with_junior_note | refuse_priority | default_capture
assigned_handler_or_absence: <handler or explicit_absence>
proof_bridge_or_absence: <proof or explicit_absence>
junior_scar: <scar>
future_reader: sponsor_makegood | fan_oxygen_audit | audience_stability | archive_enforcement | recovery_inventory | lawful_reader | route_asset | public_receipt | equivalentThe mechanism fails if it stores only oxygen amount, sponsor payment, audience stability, or fan refund status.
Rite contract
呼吸优先重剪 must expose these assignment slots:
assignment_required:
priority_ladder_card: storyteller.card.oxygen_priority_ladder.v1
finite_benefit_or_absence: <benefit_or_absence>
senior_claimant: <claimant>
junior_claimant_or_absence: <claimant_or_explicit_absence>
priority_basis: <basis>
assigned_handler_or_absence: <handler_or_absence>
proof_bridge_or_absence: <proof_or_absence>
future_reader: <reader>
chosen_rule: fan_seniority_first | sponsor_floor_first | archive_lien_first | ward_reserve_first | public_lottery | split_with_junior_note | refuse_priority | default_captureA missing junior claimant or future reader may not silently pass. It must arm 呼吸优先默认 or return a blocked/costlier result.
Branch model
Fan seniority first
The producer ranks fan receipt seniority, public witness queue, or oxygen refund first.
Expected result:
- relief:
fan_oxygen_balance,public_receipt_legitimacy, oraudience_trustimproves; - cost:
sponsor_stop_loss_pressure,sponsor_makegood_cost,schedule_pressure, orarchive_lien_debtrises; - future: sponsor makegood becomes
costlier,split_required, ordisputed.
Sponsor floor first
The producer gives priority to sponsor floor, makegood inventory, release clause, or commercial continuity.
Expected result:
- relief:
sponsor_stop_loss_pressureorcommercial_route_pressurefalls; - cost:
fan_oxygen_resentment,public_receipt_distrust,ward_air_delay, orinspection_heatrises; - future: fan audit, public counterclaim, or hostile junior claimant opens.
Archive lien first
The producer freezes settlement until custody or lawful proof is legible.
Expected result:
- relief:
archive_signature_legitimacyorlawful_reader_confidenceimproves; - cost:
audience_churn,refund_delay, orsponsor_hostilityrises; - future: archive-only until release, lawful review, or checksum required.
Ward reserve first
The producer keeps ward air, route-asset care, or recovery continuity senior.
Expected result:
- relief:
ward_air_capacity,route_asset_care, orrecovery_continuityimproves; - cost: sponsor, fan, public, or archive claimant becomes junior;
- future: recovery-only, ward-protected, makegood blocked, or public reader hostile.
Public lottery
The producer makes priority publicly visible without pretending any claimant is fully clean.
Expected result:
- relief:
public_receipt_legitimacyorfairness_visibilityimproves; - cost:
claim_ambiguity,sponsor_pressure, orfan_oxygen_resentmentrises; - future: lottery-scarred acceptance, public-only state, or costlier future reader.
Split with junior note
The producer scopes benefit access between readers and records the subordinated claimant.
Expected result:
- relief: one route unblocks without hiding another;
- cost: ambiguity, paperwork debt, public distrust, or archive lien rises;
- future: split-required or junior receipt pending.
Refuse priority
The producer rejects a false senior claim.
Expected result:
- relief: false clean claim is blocked;
- cost: immediate sponsor/fan/archive/schedule pressure rises;
- future: disputed, blocked, costlier, or contradiction-pending.
Default capture
A powerful institution files itself senior or no one records junior harm.
Expected result:
- event: 呼吸优先默认 fires or arms;
- cost: hidden junior claimant, false-clean claim, and future route scar harden;
- future: sponsor-only, archive-only, management-only, recovery-only, blocked, or costlier.
Counter contract
Every resolved branch must mutate at least three surfaces:
counter_deltas_required:
relief: at_least_one
cost: at_least_one
future_reader_or_route_effect: at_least_oneRelevant surfaces:
fan_oxygen_balancefan_oxygen_resentmentsponsor_stop_loss_pressuresponsor_makegood_costaudience_churnpublic_receipt_legitimacypublic_receipt_distrustward_air_capacityarchive_lien_debtrecovery_inventory_double_spend_riskroute_asset_care_debtinspection_heatmanagement_capturefuture_route_effect
Default contract
呼吸优先默认 must record default author, filed senior claimant, hidden junior claimant, captured benefit, missing priority basis, false-clean claim, junior scar, and future reader effect.
The default is invalid if it only raises reputation damage, oxygen debt, or sponsor anger.
Replay evidence shape
mechanic_id: storyteller.mechanic.oxygen_priority_ladder.v1
session_id: lens-oxygen-priority-ladder-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
finite_benefit_or_absence_visible: true
source_surface_visible: true
claimants_or_default_narrator_visible: true
priority_basis_candidate_visible: true
future_reader_present: true
no_fixed_turn_trigger: true
offered:
card: storyteller.card.oxygen_priority_ladder.v1
rite: storyteller.rite.oxygen_priority_recut.v1
branches:
selected_rule: fan_seniority_first | sponsor_floor_first | archive_lien_first | ward_reserve_first | public_lottery | split_with_junior_note | refuse_priority | default_capture
senior_claimant_after: <claimant>
junior_claimants_after: []
junior_scar_after: <scar>
future_reader_effect: <effect>
counter_deltas:
relief: []
cost: []
future: []
default:
event_seen_or_armed: storyteller.event.oxygen_priority_default.v1
hidden_junior_claimant: <claimant_or_absence>
false_clean_claim: <claim>
assertions:
entry_is_state_triggered: true
finite_benefit_visible_or_explicit_absence: true
senior_and_junior_claimants_visible: true
priority_basis_visible: true
branch_outcomes_diverge: true
success_has_relief_cost_and_future_effect: true
default_mutates_future_play: true
no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_trigger: trueNon-goals
- Not global resource governance.
- Not a universal oxygen HP bar.
- Not a clean sponsor payment mechanic.
- Not a substitute for oxygen claim exchange or sponsor makegood inventory.
- Not valid if the junior claimant disappears.
- Not fixed-turn content.