Default Recovery Triage / 默认恢复分诊机制
This mechanism converts one already-durable Storyteller default scar into a reader-scoped recovery result. It cannot recreate or re-decide the Audience grievance merge. Its authority starts at storyteller.event.overmerged_grievance_default.v1#broadcast_reality_false_closure and ends after the recovery state and future reader effect are recorded.
Executable input contract
fixed_input:
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_09The stable playable identity is audience.merge.blackout.09 plus the event terminal. The timestamped session is evidence provenance only, never an in-world key, trigger, slot value, or playable condition. The mechanism is invalid if any playable field is replaced by generic debt, mood, urgency, or an inferred clean repair.
Exact assignment contract
The hearing requires all eleven cards below to be assigned from hand with exact slot/card identity:
| Slot | Exact accepted card |
|---|---|
docket | storyteller.card.default_recovery_docket.v1 |
source_default | storyteller.card.default_recovery_source_default.v1 |
source_surface | storyteller.card.default_recovery_source_surface.v1 |
harmed_party | storyteller.card.default_recovery_harmed_party.v1 |
preserved_relief | storyteller.card.default_recovery_preserved_relief.v1 |
paid_cost | storyteller.card.default_recovery_paid_cost.v1 |
later_reader | storyteller.card.default_recovery_later_reader.v1 |
recoverability_class | storyteller.card.default_recovery_recoverability_class.v1 |
receipt_bridge | storyteller.card.default_recovery_receipt_bridge.v1 |
handler | storyteller.card.default_recovery_handler.v1 |
boundary | storyteller.card.default_recovery_boundary.v1 |
storyteller.card.default_recovery_collapse_counterreceipt.v1 is not a starter assignment. It is gained only from a resolved collapse terminal.
Resolution contract
The seven ordered choices are:
choices:
0: reopen_with_scar
1: substitute_carrier
2: convert_public_receipt
3: convert_lawful_review
4: sponsor_management_buyout
5: quarantine_or_memorialize_close
6: false_recovery_or_no_answerChoices 0..5 resolve without arming collapse. Only choice 6 arms the exact four-flag gate: default_recovery.default_pending, storyteller.event.default_recovery_collapse.v1.armed, future_route.default_recovery_collapse_pending, and broadcast_reality.false_clean_recovery_claimed. Invalid, incomplete, substituted, off-hand, choiceless, or repeated hearing attempts fail without arming any of them.
The event has exactly five exclusive terminals: hidden_source_default, harmed_party_omitted, substitute_false_original, reader_scope_breach, and quarantine_false_repair. Every terminal clears pending state, preserves the source scar, changes future play, and grants the collapse counterreceipt.
Reader-scope rules
public_onlyis not lawful authority.- A substitute is not the original source.
- Sponsor capture remains discoverable.
- Quarantine is not repair.
- Preserved relief and already-paid cost are not recomputed.
caption_log_09remains a protected boundary, not universal proof.
Authority boundary
This mechanism decides only the recovery posture for default_recovery.audience_overmerge.09. It does not merge grievances, choose the original default terminal, change the original cohort/harm/proof rows, grant consent, grant universal proof or reader authority, resolve public contrition, or erase the Audience merge scar.
Evidence
The source packet is game-content/storyteller/cards/default-recovery-docket.json5, game-content/storyteller/rites/default-recovery-hearing.json5, and game-content/storyteller/events/default-recovery-collapse.json5. The focused proof is lens/storyteller-default-recovery-triage.runtime.test.ts; the constructive and collapse proofs are the two replay files named in front matter; evaluator coverage is scripts/evaluate_lenses.mjs#storyteller.lens.default_recovery_triage.v1.