Default Recovery Triage Lens / 默认恢复分诊 Lens

This lens observes whether Default Recovery Triage makes one durable Storyteller default scar recoverable only by changing its shape. The pass condition is deliberately narrow: consume the Audience merge false-closure scar, keep its history visible, and produce a reader-scoped recovery result or an explicit collapse.

Fixed executable oracle

fixed_row:
  row_id: default_recovery.audience_overmerge.09
  source_incident: audience.merge.blackout.09
  source_default: storyteller.event.overmerged_grievance_default.v1#broadcast_reality_false_closure
  source_surface: audience_grievance_merge
  default_narrator: blackout_system
  source_state: recovery_only
  harmed_party: caption_user
  preserved_relief: broadcast_stability_relief
  paid_cost:
    broadcast_reality_contradiction: 2
    future_recovery_cost: 1
  later_reader: public_contrition
  requested_action: convert_to_recovery_route
  recoverability_class: public_only
  receipt_bridge: storyteller.card.overmerged_grievance_counterreceipt.v1
  handler_reference: storyteller.card.audience_grievance_merge_handler.v1
  protected_boundary: caption_log_09

The stable playable identity is audience.merge.blackout.09 plus the event terminal. The timestamped session is replay provenance only and must never become an in-world key, trigger, assignment, or playable condition. The lens fails if the runtime substitutes a different source terminal, hides the harmed caption user, erases relief or paid cost, upgrades public_only to universal authority, or claims the recovery lane re-decides the Audience merge.

Must pass

1. Exact runtime packet

The source packet must remain under game-content/storyteller and use source: storyteller throughout. The card file contains exactly eleven starter assignment cards plus the default-only storyteller.card.default_recovery_collapse_counterreceipt.v1 output.

The eleven exact slot/card pairs are:

SlotCard ID
docketstoryteller.card.default_recovery_docket.v1
source_defaultstoryteller.card.default_recovery_source_default.v1
source_surfacestoryteller.card.default_recovery_source_surface.v1
harmed_partystoryteller.card.default_recovery_harmed_party.v1
preserved_reliefstoryteller.card.default_recovery_preserved_relief.v1
paid_coststoryteller.card.default_recovery_paid_cost.v1
later_readerstoryteller.card.default_recovery_later_reader.v1
recoverability_classstoryteller.card.default_recovery_recoverability_class.v1
receipt_bridgestoryteller.card.default_recovery_receipt_bridge.v1
handlerstoryteller.card.default_recovery_handler.v1
boundarystoryteller.card.default_recovery_boundary.v1

Every slot requires exact card identity and presence in hand.

2. Choice outcomes diverge

IndexChoiceState afterFuture effect
0reopen_with_scarreopened_with_scaraccepted_with_surcharge
1substitute_carriersubstitute_onlysubstitute_route_required
2convert_public_receiptpublic_onlylawful_appeal_required
3convert_lawful_reviewlawful_onlypublic_addendum_required
4sponsor_management_buyoutsponsor_capturedsponsor_capture_discoverability_required
5quarantine_or_memorialize_closequarantine_onlymemorial_closure_reader_required
6false_recovery_or_no_answerfalse_recovery_pendingdefault_narrator_recovery_pending

Choices 0..5 must not arm collapse. Only a complete first execution of choice 6 may arm the exact four controls default_recovery.default_pending, storyteller.event.default_recovery_collapse.v1.armed, future_route.default_recovery_collapse_pending, and broadcast_reality.false_clean_recovery_claimed.

3. Failure is strict and non-defaulting

Missing, substituted, off-hand, choiceless, and repeated hearing attempts must fail without arming storyteller.event.default_recovery_collapse.v1, without granting the collapse counterreceipt, and without manufacturing a recovery state.

4. Collapse is explicit and exclusive

The event exposes exactly five stable terminals in this order: hidden_source_defaultfalse_recovered / source_default_audit_required; harmed_party_omittedhostile_hardened / harmed_party_restitution_required; substitute_false_original → the same-named state / original_loss_restoration_required; reader_scope_breachreader_scope_breached / split_reader_recovery_required; and quarantine_false_repair → the same-named state / quarantine_audit_required. Exactly one may resolve; every terminal preserves the upstream scar and grants the default-only counterreceipt.

5. Authority stays local

The packet decides only the recovery posture of default_recovery.audience_overmerge.09. It does not recreate grievance cohorts, alter incident-key grouping, choose or revise the original default terminal, erase the original relief/cost pair, settle public contrition, or grant universal merge, proof, representation, consent, lawful, sponsor, archive, or route authority.

Deterministic replay evidence

The normalized CLI lens ID is storyteller-lens-default-recovery-triage-v1; generated session IDs begin lens-storyteller-lens-default-recovery-triage-v1-.

  • lens/replays/default-recovery-triage.convert-public.replay.json: all eleven exact assignments, rite choice 2, public_only, lawful_appeal_required, no event.
  • lens/replays/default-recovery-triage.false-recovery-collapse.replay.json: all eleven exact assignments, rite choice 6, then event option 3 (reader_scope_breach).

Executable evidence

  • Runtime sources: the three files in front matter.
  • Focused exhaustive proof: lens/storyteller-default-recovery-triage.runtime.test.ts.
  • Evaluator binding: scripts/evaluate_lenses.mjs#storyteller.lens.default_recovery_triage.v1.
  • Executable binding: wiki/content/lens/storyteller/default-recovery-triage.lens.ts.

defaultRecoveryTriageProgress reaches complete only when source/runtime/public parity, exact assignment strictness, both replay paths, event exclusivity, counterreceipt custody, and the local authority boundary all pass.

Non-goals

  • Not the Recovery Ward Discharge lane and not evidence from its objects or replay.
  • Not a broad claim that every default family is runtime-generated.
  • Not a clean undo or a silent auto-default.
  • Not cross-canon content.