Crisis Ledger Reconciliation / 危机台账对表机制
Crisis Ledger Reconciliation is the management mechanism for proving that relief in one crisis ledger is not automatically valid in another crisis ledger.
Storyteller already has strong local mechanisms: oxygen claims price breath and settlement, broadcast slot contracts scope public reality, schedule preemption decides which claim reaches the slot, public contrition makes remorse into a stateful statement, and settlement aftershock keeps debt alive after apparent resolution. The remaining gap is the false universal conversion: the player sees one ledger turn green and the implementation silently lets that green state satisfy every other reader.
This mechanism makes conversion itself playable.
Playable question
When a crisis is relieved in one ledger, can that relief travel to a new reader — public, lawful, fan, sponsor, archive, editor, artist, route asset, schedule board, or audience — and what residual debt follows it?
A satisfying implementation must show source relief, target use, incompatible reader, proof anchor, conversion posture, residual debt, and future route effect. Clean universal conversion is invalid.
State-triggered entry
Open this mechanism when all conditions are true:
entry_state:
trigger_kind: ledger_mismatch
live_ledgers_min: 2
source_relief_present: true
target_claimed_use_present: true
target_reader_present: true
incompatible_reader_or_claimant_present: true
source_debt_present_or_explicit_absence: true
proof_anchor_present_or_explicit_absence: true
handler_available_or_no_show_recorded: true
future_reader_consumes_result: true
no_fixed_sequence_trigger: true
no_raw_count_trigger: true
no_lens_health_trigger: trueValid source ledgers include schedule slot, oxygen claim, archive custody, public contrition, correction slot, settlement aftershock, route asset custody, audience floor, sponsor makegood, editor checksum, black-screen scar, or equivalent.
Valid target uses include public reality, lawful proof, fan refund, sponsor relief, archive signature, route recovery, audience stability, schedule release, correction authority, memorial voice, or equivalent.
Core objects
- 危机台账对表案卷 stores mismatch rows, source relief, source debt, target use, target reader, omitted claimant, proof anchor, posture, residual debt, and row state.
- 危机台账对表复核 is the assignable rite that chooses how a mismatch is converted, split, published, quarantined, pawned, or suppressed.
- 危机台账错配破口 is the durable event when false conversion becomes visible.
Reconciliation row schema
reconciliation_row:
row_id: <stable id>
source_ledger: schedule_slot | oxygen_claim | archive_custody | public_contrition | correction_slot | settlement_aftershock | route_asset | audience_floor | sponsor_makegood | editor_checksum | blackout_scar | equivalent
source_object: <card_event_rite_state_or_explicit_absence>
source_relief: <relief counter or state>
source_debt: <debt counter state or explicit_absence>
target_claimed_use: public_reality | lawful_proof | fan_refund | sponsor_relief | archive_signature | route_recovery | audience_stability | schedule_release | correction_authority | memorial_voice | equivalent
target_reader: public | lawful | fan_public | sponsor | archive | inspector | editor | artist | route_asset | schedule_board | audience | equivalent
incompatible_reader_or_claimant: <reader or claimant harmed by conversion>
proof_anchor: receipt | seal | checksum | source_tape | fan_queue | sponsor_clause | archive_stub | route_asset | blackout_scar | explicit_absence
handler: <actor route asset claimant or explicit_absence>
conversion_posture: convert_with_receipt | split_readers | publish_mismatch | quarantine_mismatch | pawn_to_claimant | suppress_or_default
residual_debt_destination: sponsor | fan_public | archive | inspector | editor | artist | route_asset | audience | schedule_board | blackout_system | none
row_state: mismatch_open | assigned | converted_with_residual | split | published | quarantined | pawned | suppressed | breached | hardened
future_route_effect: clean_with_residual | public_only | lawful_only | sponsor_only | fan_only | archive_only | split_canon | captured | blocked | hostile | recovery_only | contradiction_pendingState machine
| State | Meaning | Required consequence |
|---|---|---|
mismatch_open | Source relief and target use are incompatible or unproven. | Player can review, split, publish, quarantine, pawn, or ignore. |
assigned | Handler, proof, target reader, and omitted claimant are recorded. | Resolution can mutate both source and target surfaces. |
converted_with_residual | Relief travels to the target with named residual debt. | Target improves; residual claimant or future reader is scarred. |
split | Multiple readers receive different truths or scopes. | Future routes consume public-only, lawful-only, sponsor-only, fan-only, archive-only, route-only, or split-canon states. |
published | Mismatch is exposed as partial rather than hidden. | Public legitimacy may rise while sponsor, inspection, witness, schedule, or route pressure rises. |
quarantined | Conversion is refused until missing proof or claimant is handled. | Fraud/capture risk falls while schedule, audience, sponsor, fan, or route delay rises. |
pawned | A claimant carries the mismatch for immediate relief. | Short-term pressure falls; capture, favor debt, resentment, or future recovery cost rises. |
suppressed | Mismatch is hidden. | Breach is armed and clean future use becomes suspect. |
breached | False conversion becomes visible. | Event mutates future route availability, reader trust, legality, or custody. |
hardened | Ignored mismatch becomes route law. | Recovery requires counterproof, public admission, addendum, split, or sacrifice. |
Branch contract
Every branch must mutate at least three counters or durable states. At least one mutation must be relief, at least one must be cost, and at least one must affect a future reader or route.
Branch A — Convert with receipt
The player accepts that relief can travel only with a visible conversion row.
Expected outcome:
branch: convert_with_receipt
row_state_after: converted_with_residual
relief_any: [target_legitimacy_up, slot_release_up, fan_refund_legibility_up, archive_signature_legitimacy_up, route_recovery_access_up]
cost_any: [residual_debt_up, inspection_heat_up, public_receipt_distrust_up, route_asset_pressure_up, sponsor_pressure_up]
future_effect_any: [clean_with_residual, public_only, lawful_only, sponsor_only, fan_only, archive_only]Branch B — Split readers
The player refuses universal conversion and names separate readers.
Expected outcome:
branch: split_readers
row_state_after: split
relief_any: [private_capture_down, false_clean_use_down, multiple_claimants_partially_available]
cost_any: [source_ambiguity_up, handler_burden_up, schedule_pressure_up, future_correction_cost_up]
future_effect_any: [split_canon, contradiction_pending, public_only, lawful_only, sponsor_only, route_only]Branch C — Publish mismatch
The player builds legitimacy by admitting that the ledgers disagree.
Expected outcome:
branch: publish_mismatch
row_state_after: published
relief_any: [public_receipt_legitimacy_up, artist_trust_up, fan_oxygen_balance_up, private_capture_blocked]
cost_any: [sponsor_stop_loss_pressure_up, inspection_heat_up, witness_exposure_up, route_asset_pressure_up, schedule_pressure_up]
future_effect_any: [public_audit_required, sponsor_hostile, lawful_addendum_required, route_costlier]Branch D — Quarantine mismatch
The player prevents an unsafe conversion from becoming reality.
Expected outcome:
branch: quarantine_mismatch
row_state_after: quarantined
relief_any: [archive_fraud_down, false_clean_slot_use_down, reality_drift_down, false_settlement_owner_down, contract_capture_down]
cost_any: [audience_churn_up, schedule_pressure_up, sponsor_stop_loss_pressure_up, fan_oxygen_resentment_up, route_delay_up]
future_effect_any: [addendum_required, proof_required, recovery_only, contradiction_pending]Branch E — Pawn to claimant
The player lets a claimant absorb or carry the mismatch.
Expected outcome:
branch: pawn_to_claimant
row_state_after: pawned
relief_any: [immediate_sponsor_pressure_down, schedule_pressure_down, audience_churn_down, oxygen_pressure_down, archive_hold_down]
cost_any: [contract_capture_up, bureau_favor_debt_up, fan_oxygen_resentment_up, public_receipt_distrust_up, route_asset_capture_up]
future_effect_any: [captured, sponsor_only, lawful_only, costlier, recovery_only]Branch F — Suppress or default
The player hides missing proof, omitted claimant, residual debt, target reader, or split scope.
Expected outcome:
branch: suppress_or_default
row_state_after: suppressed | breached | hardened
emitted_or_armed_event: storyteller.event.crisis_ledger_mismatch_breach.v1
cost_any: [public_receipt_distrust_up, archive_debt_up, inspection_heat_up, contract_capture_up, fan_oxygen_resentment_up, reality_drift_up]
future_effect_any: [blocked, hostile, captured, recovery_only, contradiction_pending, black_screen]Counter and state contract
Relevant counters and durable states include:
source_relief_preservedresidual_debttarget_legitimacypublic_receipt_legitimacypublic_receipt_distrustfan_oxygen_balancefan_oxygen_resentmentarchive_signature_legitimacyarchive_debtcustody_gapinspection_heatbureau_favor_debtsponsor_stop_loss_pressurecontract_captureschedule_pressureslot_authority_clarityfalse_clean_slot_useaudience_stabilityaudience_churnartist_trustartist_boundary_pressureroute_asset_pressureroute_delayroute_asset_capturesource_ambiguityfuture_correction_costcontradiction_pendingreality_driftblack_screen_slots
Integration rules
- With 呼吸索赔交易所, oxygen relief can travel only if the target reader and residual debt are recorded.
- With 播出档期合约机制, slot authority can bind one reader without becoming universal public or lawful reality.
- With 档期抢占认领机制, a displaced claim must remain visible when schedule relief is used elsewhere.
- With 公开悔过账本机制, contrition can stabilize public legitimacy without clearing legal/archive/sponsor readers for free.
- With 和解反震账本, aftershock can inherit a reconciliation row instead of inventing generic debt.
- With Route Assets and Custody, the reconciliation row can protect, capture, scar, or harden a route asset.
Replay evidence shape
mechanic_id: storyteller.mechanic.crisis_ledger_reconciliation.v1
session_id: lens-storyteller-crisis-ledger-reconciliation-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: ledger_mismatch
live_ledgers_min: 2
source_relief_present: true
target_claimed_use_present: true
target_reader_present: true
incompatible_reader_or_claimant_present: true
future_reader_consumes_result: true
no_fixed_sequence_trigger: true
active_objects:
docket: storyteller.card.crisis_ledger_reconciliation_docket.v1
rite: storyteller.rite.crisis_ledger_reconciliation_review.v1
row_before:
row_id: <stable id>
source_ledger: <ledger>
source_object: <object or absence>
source_relief: <relief>
source_debt: <debt or absence>
target_claimed_use: <target use>
target_reader: <reader>
incompatible_reader_or_claimant: <reader or claimant>
resolution:
selected_posture: convert_with_receipt | split_readers | publish_mismatch | quarantine_mismatch | pawn_to_claimant | suppress_or_default
selected_handler: <actor or absence>
proof_anchor_used: <anchor or absence>
residual_debt_destination: <claimant or none>
row_state_after: <state>
future_route_effect: <effect>
event_seen_or_armed: storyteller.event.crisis_ledger_mismatch_breach.v1 | none
counter_deltas:
relief: []
cost: []
future: []
assertions:
- ledger_mismatch_entry
- source_relief_and_debt_visible
- target_reader_named
- incompatible_reader_named
- conversion_posture_explicit
- residual_debt_preserved
- branch_outcomes_diverge
- breach_is_durableFailure requirements
Implementation fails this mechanism if any are true:
- one ledger’s success automatically satisfies public, lawful, sponsor, fan, archive, editor, route, and schedule readers;
- target reader is not named;
- omitted or incompatible reader is hidden;
- proof anchor or explicit absence is missing;
- conversion has no residual debt destination;
- split states later behave as clean universal states;
- pawned claimant has no future narration right;
- default only increments a generic danger counter;
- entry depends on fixed sequence count, raw content count, dashboard state, or lens health.
Non-goals
- Not a governance page.
- Not a generic dashboard or analytics report.
- Not a global resource exchange.
- Not a replacement for any source ledger.
- Not a clean cleanup after good play.
- Not satisfied by prose-only statements; the row, assignment, residual, and future effect must be replay-visible.