Guarantee Recourse Cascade Lens / 担保追偿级联 Lens

This lens observes whether 担保追偿级联 and 担保追偿优先级机制 make post-guarantee recovery playable.

It exists because the satisfied corpus already covers drift, faction commitments, public contrition, witness reprisal, settlement aftershock, production triage, facility lockdown, and liability underwriting. The next failure risk is that a guarantee can be called, paid, or released with scar, but the payer’s recovery right disappears as bookkeeping instead of becoming route pressure. This lens should fail that condition.

Observable surface

The lens observes:

Must pass

A valid implementation must prove all of the following.

1. Entry inherits a moved guarantee

The lens must create or load recourse from live guarantee state, not from a fixed numbered trigger.

Acceptable source surfaces:

  • called sponsor bond;
  • inspector surety call;
  • public bond rejection or public restitution call;
  • edit reserve exhaustion;
  • production self-insurance overdraw;
  • split cover ambiguity;
  • route asset posted or seized as collateral;
  • released cover with explicit scar.

The replay must record the source exposure, guarantee state, and recourse source session.

2. Docket row is concrete

The implementation must expose at least one recourse row with:

recourse_id: <stable id>
source_exposure_id: <liability exposure id>
source_guarantee_row: <liability ledger row id>
payer: <payer>
principal_debtor: <debtor>
recourse_target: <specific target>
priority_claim: first | pari_passu | subordinate | disputed | barred | converted_to_public_restitution
enforcement_surface: private_contract | archive_order | public_receipt | fan_queue | cutroom_checksum | facility_access | production_triage
barred_claimant: <claimant>
assigned_handler: <handler or explicit absence>
recourse_state: <state>
future_route_effect: <effect>

The lens must fail if the row only changes money, abstract debt, or a generic pressure counter.

3. Hearing is fillable and branchy

The hearing must be offered when a credible recourse row exists and must support at least five non-equivalent branch families among:

  • honor payer priority;
  • subordinate private recourse under public receipt;
  • substitute collateral;
  • contest priority;
  • convert to public restitution;
  • facility or route-asset sweep;
  • miss, hide, or default.

Each branch must set different relief, cost, target state, barred claimant posture, and future route effect.

4. Recovery cannot be free

Any branch that lowers payer hostility, default risk, sponsor pressure, custody fraud, public distrust, audience churn, or route capture must scar a future-facing target.

Examples:

  • sponsor pressure falls, but contract capture or public correction cost rises;
  • custody clarity improves, but bureau debt or proof quarantine rises;
  • public receipt legitimacy rises, but witness exposure or public audit pressure rises;
  • continuity improves, but edit debt or source ambiguity rises;
  • original route asset is protected, but substitute collateral becomes scarred;
  • room access unlocks collection, but facility access pressure or runner risk rises.

5. Sweep/default mutates future play

When the recourse priority is hidden, unranked, unhandled, impossible, or swept by default, 追偿扫场违约 must mutate at least one durable future surface:

  • route becomes blocked, costlier, captured, hostile, scarred, or recovery-only;
  • route asset becomes seized, captured, poisoned, posted-as-collateral, or recovery-only;
  • facility room becomes claimed, sealed, watched, or locked-recovery-only;
  • public receipt becomes distrusted, audit-armed, or restitution-bound;
  • production triage receives a ticket, lane scar, or unstaffed risk;
  • faction posture becomes hostile, coalition-forming, exhausted, or privately captured.

The event must not be a silent money loss.

6. Multi-session inheritance works

The lens should be able to load a guarantee created in an earlier branch and later resolve or default its recourse.

Required evidence:

source_session_id: <session that created exposure>
source_seed: <seed>
underwriting_session_id: <session that posted/called/released cover>
underwriting_seed: <seed>
recourse_session_id: <session that opened recourse>
recourse_seed: <seed>
source_exposure_id: <stable id>
recourse_id: <stable id>
recourse_target_before: <state>
recourse_target_after: <state>
barred_claimant_before: <state>
barred_claimant_after: <state>
future_route_effect: <effect>

If the implementation only tests recourse inside one isolated scene and never proves callable continuity, the lens is incomplete.

Branch assertions

Honor payer priority assertion

A branch that honors payer priority must show:

recourse_state_after_any:
  - satisfied
  - swept
relief_any:
  - payer_hostility_down
  - immediate_default_down
  - sponsor_stop_loss_pressure_down
  - custody_clarity_up
cost_any:
  - barred_claimant_hostility_up
  - route_asset_pressure_up
  - public_receipt_distrust_up
  - contract_capture_up
future_route_effect_any:
  - target_route_costlier
  - barred_claim_recovery_only
  - sponsor_capture_hardened

Public restitution priority assertion

A branch that subordinates private recovery under public receipt must show:

recourse_state_after_any:
  - subordinate
  - converted_to_public_restitution
relief_any:
  - public_receipt_legitimacy_up
  - fan_oxygen_balance_up
  - audience_stability_up
cost_any:
  - sponsor_pressure_up
  - inspection_heat_up
  - witness_exposure_up
  - oxygen_liability_up
future_route_effect_any:
  - public_audit_unlocked_with_risk
  - private_capture_blocked_with_scar

Substitute collateral assertion

A substitute branch must show:

recourse_state_after_any:
  - assigned
  - traded
relief_any:
  - original_target_protected
  - route_control_up
  - claimant_collision_down
cost_any:
  - substitute_target_scarred
  - lane_scar_up
  - edit_debt_up
  - handler_fatigue_up
  - future_correction_cost_up
future_route_effect_any:
  - substitute_route_costlier
  - production_triage_ticket_armed

Contest priority assertion

A contested priority branch must show:

recourse_state_after_any:
  - priority_contested
  - barred
relief_any:
  - false_priority_blocked
  - private_capture_down
  - route_asset_pressure_down
cost_any:
  - litigation_heat_up
  - coalition_pressure_up
  - schedule_pressure_up
  - source_ambiguity_up
future_route_effect_any:
  - appeal_or_counterclaim_required
  - recovery_route_delayed_with_scar

Facility or route-asset sweep assertion

A sweep branch must show:

recourse_state_after: swept
asset_state_after_any:
  - seized
  - captured
  - poisoned
  - posted_as_collateral
  - recovery_only
room_state_after_any:
  - claimed
  - sealed
  - watched
  - locked_recovery_only
  - none
cost_any:
  - route_asset_pressure_up
  - facility_access_pressure_up
  - runner_risk_up
  - claimant_hostility_up
future_route_effect_any:
  - blocked
  - captured
  - hostile
  - costlier
  - recovery_only

Miss/default assertion

Absent or hidden recourse must show:

recourse_state_after_any:
  - defaulted
  - recovery_only
emitted_event: storyteller.event.recourse_sweep_default.v1
future_route_effect_any:
  - blocked
  - captured
  - hostile
  - costlier
  - recovery_only

Failure cases

The lens must fail if any of these are true:

  • entry is triggered by a fixed turn count;
  • a paid or called guarantee disappears with no recourse row, explicit discharge scar, or default event;
  • recourse priority only changes money or a generic debt counter;
  • payer, debtor, target, priority claim, enforcement surface, barred claimant, and future route effect are not recorded;
  • sponsor, inspector, public, editor, production, and facility/asset branches collapse to equivalent outcomes;
  • successful recovery has no scarred target, barred claimant, public exposure, or future route cost;
  • substitute collateral protects the original target without scarring the substitute;
  • public restitution grants free legitimacy without audit, exposure, sponsor, or inspection cost;
  • sweep/default does not mutate route, asset, room, public receipt, production lane, person state, or faction posture;
  • replay evidence lacks seed/session ids and before/after target or barred-claimant state.

Progress metric

Progress is measured by observable branch proof, not content count.

  • 20%: a moved guarantee can create or explicitly refuse a recourse row.
  • 40%: the docket row records payer, debtor, target, priority, enforcement surface, barred claimant, handler, and future route effect.
  • 60%: at least three non-equivalent hearing branches resolve with relief and future cost.
  • 80%: sweep/default emits or records an event that changes route, asset, room, receipt, lane, or faction posture.
  • 100%: multi-session replay proves a guarantee created earlier can later produce a recourse hearing or sweep with seed/session ids and before/after target state.

Minimal replay evidence shape

lens: storyteller.lens.guarantee_recourse_cascade.v1
result: pass | fail
sessions:
  source_guarantee:
    session_id: <id>
    seed: <seed>
    exposure_id: <id>
    guarantor: sponsor | inspector | fan_public | editor | archive | producer | manager | split
    collateral_state_after: called | paid | rejected | overdrawn | released_with_scar | split | fraud_flagged
  recourse:
    session_id: <id>
    seed: <seed>
    offered_card: card.guarantee_recourse_docket
    offered_rite: storyteller.rite.recourse_priority_hearing.v1
    selected_branch: honor_payer_priority | public_restitution_priority | substitute_collateral | contest_priority | facility_or_route_asset_sweep | miss_or_default
    docket_row_before: <row>
    docket_row_after: <row>
    deltas:
      - <relief>
      - <cost>
      - <route_asset_room_receipt_lane_or_faction_effect>
  sweep_default:
    session_id: <id>
    seed: <seed>
    emitted_event: storyteller.event.recourse_sweep_default.v1 | none_if_resolved
    recourse_target_before: <state>
    recourse_target_after: <state>
    barred_claimant_before: <state>
    barred_claimant_after: <state>
    future_route_effect: <effect>
assertions:
  entry_state_driven: true
  docket_row_concrete: true
  branch_non_equivalence: true
  recovery_has_future_cost: true
  sweep_mutates_future_play: true
  multi_session_inheritance: true
  no_fixed_turn_trigger: true

Non-goals

  • Not a general finance dashboard.
  • Not raw balance tuning.
  • Not governance content.
  • Not a fixed collection phase.
  • Not satisfied by wiki page existence.
  • Not satisfied by one branch that pays money and lowers pressure.
  • Not a replacement for existing underwriting, faction commitment, production triage, facility access, public contrition, settlement, witness, or drift lenses; it makes their paid guarantees collectible and scarred.