Turn 48 Fan Oxygen Ledger Consequences Lens
Why this gap is the next useful target
The useful target is not new lens volume. This existing lens already sits at the pressure junction between turn47-last-breath-air-memorial-edit.lens, turn47-sponsor-oxygen-stop-loss-audit.lens, turn47-archive-custody-inspector-fork.lens, fan-oxygen-audit, and oxygen-archive-custody. If this page stays loose, local workers can satisfy the page with a fresh replay, a single generic consequence counter, or a sponsor-only cleanup that erases fan and archive pressure.
This revision keeps the existing wiki path and bound sibling target, but sharpens the oracle: the replay must begin from a durable lens-scoped save that already contains the final-air memorial result or a named miss/block state. Turn 48 is a reachability horizon and provenance label, not the reason the content exists.
Affected wiki/source addresses
Primary lens surface:
wiki/content/lens/storyteller/turn48-fan-oxygen-ledger-consequences.lens.md- intended sibling executable:
wiki/content/lens/storyteller/turn48-fan-oxygen-ledger-consequences.lens.ts
Observed canon and precedent pages:
wiki/content/systems/fan-oxygen-audit.mdwiki/content/systems/oxygen-archive-custody.mdwiki/content/lens/storyteller/turn47-last-breath-air-memorial-edit.lens.mdwiki/content/lens/storyteller/turn47-sponsor-oxygen-stop-loss-audit.lens.mdwiki/content/lens/storyteller/turn47-archive-custody-inspector-fork.lens.md
Support pages workers may inspect while binding:
wiki/content/cards/sponsor-oxygen-active-hand.mdwiki/content/cards/memorial-custody-cards.mdwiki/content/cards/archive-custody-current-hand.mdwiki/content/events/oxygen-audit-notice.mdwiki/content/rites/public-oxygen-audit.mdwiki/content/systems/route-assets-and-custody.md
Required preconditions
A replay may enter this lens only from a carried consequence state. It must not start from a clean hand that happens to contain the right names.
Required predecessor evidence:
- a final-air memorial edit, sponsor-safe cut, fan-ledger cut, archive-claim cut, black-box residue cut, inspector-license cut, or named blocked/miss state from the preceding memorial branch;
- at least one carried token such as
final_air_memorial_resolved,fan_ledger_cut,sponsor_safe_cut,archive_claim_desk_cut,black_box_residue_cut,inspector_license_cut,memorial_license_absent, orturn47_consequence_missing; - an active hand or derived state containing
粉丝氧气积分账plus at least one non-fan pressure card from sponsor, archive, inspector, black-box, testimony, master-tape, or memorial-license pressure; - visible starting counters for fan oxygen, sponsor pressure, archive custody, inspector heat, and public grief or memorial continuity.
If the predecessor is missing, the lens should fail with a named block such as turn47_consequence_missing, not silently manufacture the turn 48 consequence.
Concrete game hooks
Cards and proof objects
Relevant card/proof names include:
粉丝氧气积分账呼吸配给复核钥观众裂缝证词观众归档署名冠名方止损令灾难命名权合约安全连续性版本白手套审计章韩砚霜 / 白手套监察归档权认领桌双层归档副本未归档黑箱残片盗播归档回环未剪辑真唱母带纪念物临时牌照草案黎星瞳 / 白昼圣女沈洛 / 折纸经纪人白鸦 / 黑箱剪辑师郁蓝 / 未授权史官
Rites and events
The implementation can use equivalent ids, but the replay must expose at least one consequence offer and at least two branch outcomes from this family:
event.oxygen_ledger_public_claimevent.oxygen_ledger_refundevent.oxygen_ledger_freezeevent.oxygen_ledger_falsifiedevent.sponsor_injunction_aftershockevent.archive_custody_counterclaimevent.white_glove_oxygen_auditevent.pirate_loop_receiptrite.fan_ledger_restitutionrite.sponsor_stop_loss_freezerite.archive_custody_counterclaimrite.white_glove_oxygen_audit
Counters and states
The replay must expose before/after values for at least five of:
fan_oxygen_balancefan_oxygen_debtfan_oxygen_audit_statuspublic_grief_stabilitysponsor_stop_loss_pressuresponsor_liability_freezearchive_custody_holderarchive_custody_integrityarchive_signature_legitimacyinspector_audit_heatcontinuity_law_exposureblack_box_edit_debtpirate_loop_exposure
Durable tags or states should include at least two of:
oxygen_ledger_public_claimoxygen_ledger_refundedoxygen_ledger_frozenoxygen_ledger_falsifiedfan_ledger_class_claimsponsor_injunction_aftershockarchive_custody_counterclaimwhite_glove_noncompliancecustody_holder_unassignedpirate_loop_receipt
Factions and costs
At least two factions must be active in every non-blocked branch:
- fans / oxygen ledger public
- sponsor stop-loss desk
- archive claim desk
- white-glove inspector authority
- black-box editor custody
- unauthorized historian / audience witness route
- memorial license authority
No positive branch is free. It must spend or risk oxygen balance, public grief, sponsor retaliation, archive integrity, inspector heat, continuity exposure, black-box edit debt, pirate-loop exposure, legal body exemption, or a future custody option.
Playable branch requirements
Fan ledger restitution branch
The player lets 粉丝氧气积分账, 呼吸配给复核钥, 观众裂缝证词, or 观众归档署名 define the cost of the last breath.
Expected outcome:
fan_oxygen_balance,fan_oxygen_debt, orfan_oxygen_audit_statuschanges with before/after evidence;- public grief or fan legitimacy improves;
- sponsor, archive, or inspector pressure rises unless a named proof card or permit is spent;
- archive custody remains assigned or explicitly contested rather than disappearing.
Sponsor stop-loss freeze branch
The player uses 冠名方止损令, 灾难命名权合约, 安全连续性版本, or 沈洛 / 折纸经纪人 to contain liability.
Expected outcome:
sponsor_stop_loss_pressureorsponsor_liability_freezeimproves;- fan oxygen debt is frozen, disputed, displaced, or falsified rather than erased;
- archive custody integrity or public legitimacy worsens unless a named license, audit proof, or custody proof is spent;
观众裂缝证词or未剪辑真唱母带can force a visible follow-up risk.
Archive custody counterclaim branch
The player uses 归档权认领桌, 双层归档副本, 未归档黑箱残片, 盗播归档回环, 郁蓝 / 未授权史官, or 白鸦 / 黑箱剪辑师 to preserve the evidence trail.
Expected outcome:
archive_custody_holderbecomes a named holder or named dispute;archive_signature_legitimacyorarchive_custody_integritychanges;- black-box or pirate-loop materials create
black_box_edit_debtorpirate_loop_exposureunless an explicit exemption prevents it; - sponsor and fan ledger counters remain visible as unresolved pressure or paid costs.
White-glove compliance branch
The player uses 韩砚霜 / 白手套监察, 白手套审计章, 第七穹顶连续性案卷, or 纪念物临时牌照草案 to formalize the consequence.
Expected outcome:
fan_oxygen_audit_statusbecomescompliant,provisional,noncompliant, or equivalent;inspector_audit_heatchanges independently from sponsor pressure;- the result names who owns the memorial archive or why custody remains suspended;
- compliance cannot remove fan, sponsor, and archive pressure simultaneously without a named proof expenditure.
Miss, blocked, or suppression branch
The player lacks the predecessor, hides the ledger, suppresses testimony, lets sponsor pressure dominate, or fails to name custody.
Expected outcome:
- named miss/block state such as
oxygen_ledger_missing,sponsor_freeze_active,custody_holder_unassigned,audit_chain_broken,memorial_license_absent, orturn47_consequence_missing; - one future custody, audit, or restitution option is suppressed or made harder;
fan_oxygen_debt,archive_custody_integrity,sponsor_stop_loss_pressure,inspector_audit_heat, orpublic_grief_stabilityworsens.
Oracle assertions
A sibling executable lens should fail unless all assertions below are true.
- Durable predecessor — The replay begins from a durable lens-scoped save that includes a final-air memorial result, custody output, or named predecessor miss/block state.
- No fresh reset — The lens fails if the turn 48 state is generated from a clean hand with no carried memorial consequence token.
- Ledger object visible — The offer names
粉丝氧气积分账or an equivalent fan oxygen ledger object as the thing being paid, audited, frozen, falsified, or claimed. - Same-seed divergence — From the same predecessor seed/session, at least two branch offers are visible: one fan-ledger branch and one sponsor, archive, white-glove, or black-box branch.
- Fan branch mutates oxygen — Resolving a fan-ledger branch changes
fan_oxygen_balance,fan_oxygen_debt, orfan_oxygen_audit_statuswith before/after evidence. - Sponsor branch is partial — A sponsor stop-loss branch may reduce immediate sponsor pressure, but cannot fully clear fan oxygen debt and archive custody pressure unless it spends a named proof, permit, or custody object.
- Archive branch names custody — An archive branch assigns or contests
archive_custody_holderwith a named holder such asaudience_signature_chain,archive_claim_desk,black_box_editor,white_glove_inspector,sponsor_escrow,unauthorized_historian, orunassigned. - Inspector branch is independent — White-glove compliance changes inspector/audit state independently from sponsor stop-loss and fan oxygen counters.
- Proof cards are not flavor —
观众裂缝证词or未剪辑真唱母带must alter at least one sponsor, compliance, archive, or public-grief outcome when selected. - Blocked routes name why — Any unavailable branch records a named block/miss state, not a generic failure boolean.
- Costed success — Every successful branch reduces or stabilizes one pressure while increasing, spending, or risking another.
- Replay provenance — Evidence records seed, durable session id, predecessor state, offered choices, selected cards, selected choice ids, events, counter before/after values, custody output, proof tokens, and miss states from game CLI replay/session history.
- Dashboard/lens visibility — The executable lens result must surface progress and pass/fail evidence under this lens id and sibling basename, without requiring a central/manual lens registry.
Progress metric
turn48FanOxygenLedgerConsequencesProgress = 0..8:
0: no durable predecessor state or no replay provenance.1: predecessor memorial result, custody output, or named predecessor block/miss state is carried into the replay.2: fan oxygen ledger follow-up offer appears and names the ledger object.3: at least two faction outcomes are visible from the same predecessor seed/session.4: fan ledger branch mutates oxygen balance, debt, or audit status with before/after evidence.5: sponsor stop-loss branch mutates sponsor risk without erasing oxygen/archive pressure for free.6: archive or inspector branch assigns custody, audits compliance, or records a named counterclaim.7: at least one proof card changes a branch result and at least one blocked path records a named reason.8: two divergent CLI replay branches prove branch outcomes, costs, counter deltas, custody output, and follow-up risks.
Replay/session evidence shape
Evidence may live in the repo’s established report format, but it must contain equivalent fields:
lens_id: storyteller.turn48_fan_oxygen_ledger_consequences.v1
session_id: lens-storyteller-turn48-fan-oxygen-ledger-consequences-v1-<timestamp>
seed: turn48-fan-oxygen-ledger-consequences
save_scope: durable_lens_scoped
turn_range: 47-48
predecessor:
source_lens: storyteller.turn47_last_breath_air_memorial_edit.v1
resolved_rite_or_block: final_air_memorial_edit | sponsor_safe_cut | fan_ledger_cut | archive_claim_desk_cut | black_box_residue_cut | inspector_license_cut | memorial_license_absent | turn47_consequence_missing
consequence_tokens:
- final_air_memorial_resolved
- fan_ledger_cut_or_equivalent
custody_output:
archive_custody_holder: audience_signature_chain | archive_claim_desk | black_box_editor | white_glove_inspector | sponsor_escrow | unauthorized_historian | unassigned
starting_counters:
fan_oxygen_balance: <number>
fan_oxygen_debt: <number>
sponsor_stop_loss_pressure: <number>
archive_custody_integrity: <number>
inspector_audit_heat: <number>
black_box_edit_debt: <number>
turn48_state:
active_hand:
- 粉丝氧气积分账
- one_or_more_non_fan_pressure_cards
offers:
- fan_ledger_restitution
- sponsor_stop_loss_freeze
- archive_custody_counterclaim
- white_glove_oxygen_audit
branch_runs:
fan_ledger_restitution:
selected_cards:
- 粉丝氧气积分账
- 呼吸配给复核钥_or_观众裂缝证词_or_观众归档署名
events:
- oxygen_ledger_public_claim_or_equivalent
deltas:
fan_oxygen_debt: -1
public_grief_stability: +1
sponsor_stop_loss_pressure: +1
custody_output:
archive_custody_holder: audience_signature_chain_or_contested
sponsor_stop_loss_freeze:
selected_cards:
- 冠名方止损令
- 灾难命名权合约_or_安全连续性版本_or_沈洛
events:
- sponsor_injunction_aftershock_or_equivalent
deltas:
sponsor_stop_loss_pressure: -1
fan_oxygen_debt: +1
archive_custody_integrity: -1
unresolved_pressure:
- fan_ledger_class_claim_or_custody_holder_unassigned
archive_or_white_glove_branch:
selected_cards:
- 归档权认领桌_or_白手套审计章_or_韩砚霜_or_郁蓝_or_白鸦
events:
- archive_custody_counterclaim_or_white_glove_oxygen_audit
deltas:
archive_signature_legitimacy: +1
inspector_audit_heat: +1
sponsor_stop_loss_pressure: +1
assertions:
- predecessor state is carried, not reset
- fan and non-fan branches diverge from the same seed/session
- success branches have visible costs
- sponsor branch cannot erase all pressure for free
- evidence is generated by game CLI replay/session historyNon-goals
- Not a request for new raw lens volume.
- Not bulk filler.
- Not raw scale-count satisfaction.
- Not a fresh-save replay.
- Not a single global oxygen hit point.
- Not a sponsor-only cleanup path.
- Not handwritten replay/session evidence.
- Not a central/manual lens registry.
- Not a command to use a shared main save; workers should use durable lens-scoped saves and replay provenance.