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: true

Valid 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_pending

State machine

StateMeaningRequired consequence
mismatch_openSource relief and target use are incompatible or unproven.Player can review, split, publish, quarantine, pawn, or ignore.
assignedHandler, proof, target reader, and omitted claimant are recorded.Resolution can mutate both source and target surfaces.
converted_with_residualRelief travels to the target with named residual debt.Target improves; residual claimant or future reader is scarred.
splitMultiple 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.
publishedMismatch is exposed as partial rather than hidden.Public legitimacy may rise while sponsor, inspection, witness, schedule, or route pressure rises.
quarantinedConversion is refused until missing proof or claimant is handled.Fraud/capture risk falls while schedule, audience, sponsor, fan, or route delay rises.
pawnedA claimant carries the mismatch for immediate relief.Short-term pressure falls; capture, favor debt, resentment, or future recovery cost rises.
suppressedMismatch is hidden.Breach is armed and clean future use becomes suspect.
breachedFalse conversion becomes visible.Event mutates future route availability, reader trust, legality, or custody.
hardenedIgnored 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_preserved
  • residual_debt
  • target_legitimacy
  • public_receipt_legitimacy
  • public_receipt_distrust
  • fan_oxygen_balance
  • fan_oxygen_resentment
  • archive_signature_legitimacy
  • archive_debt
  • custody_gap
  • inspection_heat
  • bureau_favor_debt
  • sponsor_stop_loss_pressure
  • contract_capture
  • schedule_pressure
  • slot_authority_clarity
  • false_clean_slot_use
  • audience_stability
  • audience_churn
  • artist_trust
  • artist_boundary_pressure
  • route_asset_pressure
  • route_delay
  • route_asset_capture
  • source_ambiguity
  • future_correction_cost
  • contradiction_pending
  • reality_drift
  • black_screen_slots

Integration rules

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_durable

Failure 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.