Evidence Carryover Hearing / 导出证据回流听证

Evidence Carryover Hearing is the rite that resolves what a returned proof does to current custody. It consumes an 导出证据回流案卷 row and forces the player to decide whether the returning evidence is accepted, quarantined, overwritten, traded, exposed, or denied.

The rite implements 导出证据回流分岔机制.

Offer conditions

Offer this rite when:

  1. an evidence carryover docket row exists;
  2. the row records source evidence, prior outcome, claimants, contradiction kind, and affected route asset state;
  3. at least one handler, proof anchor, public cover, legal cover, editor tool, sponsor settlement, fan witness, proxy carrier, or explicit absence can be assigned;
  4. at least two branches mutate different route states or counter deltas;
  5. ignoring the row would create hostile, captured, false-owner, contradiction-pending, recovery-only, or blocked state.

The rite is never offered from a fixed numbered trigger.

Inputs

Required inputs:

rite: storyteller.rite.evidence_carryover_hearing.v1
carryover_card: storyteller.card.evidence_carryover_docket.v1
carryover_id: <stable id>
evidence_object: archive_copy | fan_oxygen_receipt | black_box_checksum | memorial_air_copy | sponsor_counterclaim | consent_receipt | proxy_statement | equivalent
source_session_id: <prior durable session id or explicit in-world source id>
source_outcome: protected | route_asset | missed | hostile | captured | sacrificed | false_owner | split_canon | recovery_only | equivalent
selected_branch: accept | quarantine | overwrite | trade | expose | deny
handler: <named handler or explicit_absence>
current_claimant: player | archive | inspector | sponsor | fan_public | editor | artist | pirate | proxy | split | none
rival_claimant: archive | inspector | sponsor | fan_public | editor | artist | pirate | proxy | split | none
route_asset_before: unseen | offered | recruited | protected | route_asset | missed | hostile | captured | sacrificed | false_owner | recovery_only | blocked

Optional inputs:

proof_anchor: <receipt, checksum, voice proof, archive seal, proxy statement, fan ledger, or none>
public_cover: <fan witness, Yu Lan note, pirate relay, public oath, or none>
legal_cover: <Han seal, audit entry, injunction, archive docket, or none>
editor_cover: <Baiya checksum, cutroom priority, black-box fragment, or none>
settlement_cover: <Shen Luo settlement, sponsor escrow, release receipt, or none>
proxy_carrier: <proxy id, runner id, witness id, or explicit absence>

Branches

Branch A — Accept

The player seats the old proof into current custody and lets it modify the route asset.

Required outcome:

selected_branch: accept
route_asset_after_any:
  - protected
  - route_asset
  - lawful_only
  - public_only
relief_any:
  - archive_signature_legitimacy_up
  - route_access_unlocked
  - public_receipt_legitimacy_up
  - voice_integrity_up
cost_any:
  - inspection_heat_up
  - sponsor_stop_loss_pressure_up
  - edit_debt_up
  - handler_burden_up
future_effect_any:
  - route_open_with_debt
  - claimant_retaliation_armed

Branch B — Quarantine

The player preserves the returning proof without letting it decide current reality yet.

Required outcome:

selected_branch: quarantine
route_asset_after_any:
  - contradiction_pending
  - recovery_only
  - costlier
relief_any:
  - false_owner_pressure_down
  - archive_fraud_prevented
  - voice_violation_prevented
cost_any:
  - schedule_pressure_up
  - audience_churn_up
  - inspection_heat_up
  - recovery_route_cost_up
future_effect_any:
  - follow_up_hearing_required
  - recovery_only_route_remains

Branch C — Overwrite

The player lets the newer aired reality replace the returned proof.

Required outcome:

selected_branch: overwrite
route_asset_after_any:
  - split_canon
  - contradiction_pending
  - blocked
relief_any:
  - immediate_contradiction_down
  - sponsor_default_down
  - schedule_pressure_down
cost_any:
  - source_ambiguity_up
  - public_receipt_distrust_up
  - archive_debt_up
  - consent_debt_up
future_effect_any:
  - clean_use_blocked
  - hostile_witness_possible

Branch D — Trade

The player gives the returned proof to a claimant in exchange for immediate relief or access.

Required outcome:

selected_branch: trade
route_asset_after_any:
  - captured
  - costlier
  - lawful_only
  - public_only
relief_any:
  - immediate_pressure_down
  - lawful_use_possible
  - room_access_unlocked
  - sponsor_retaliation_delayed
cost_any:
  - route_capture_up
  - bureau_favor_debt_up
  - contract_capture_up
  - source_ambiguity_up
future_effect_any:
  - faction_gate_required
  - route_costlier

Branch E — Expose

The player publishes or broadcasts the returning proof as public evidence.

Required outcome:

selected_branch: expose
route_asset_after_any:
  - public_only
  - route_asset
  - hostile
  - costlier
relief_any:
  - public_receipt_legitimacy_up
  - fan_witness_legitimacy_up
  - private_capture_blocked
cost_any:
  - inspection_heat_up
  - sponsor_stop_loss_pressure_up
  - proxy_exposure_up
  - broadcast_reality_drift_up
future_effect_any:
  - public_route_open_with_retaliation
  - protection_required

Branch F — Deny

The player rejects the returning proof or refuses to seat it.

Required outcome:

selected_branch: deny
route_asset_after_any:
  - hostile
  - captured
  - false_owner
  - contradiction_pending
  - recovery_only
  - blocked
emitted_event: storyteller.event.evidence_carryover_aftershock.v1
cost_any:
  - false_custody_owner_up
  - hostile_counterclaim_up
  - archive_debt_up
  - route_asset_pressure_up
future_effect_any:
  - route_blocked_until_substitute
  - hostile_evidence_branch_armed
  - recovery_only_route_remains

Resolution contract

Every resolution must write a before/after row:

carryover_row_before:
  carryover_id: <stable id>
  source_session_id: <source>
  source_outcome: <prior outcome>
  current_claimant: <claimant>
  rival_claimant: <claimant or none>
  route_asset_before: <state>
carryover_row_after:
  selected_branch: accept | quarantine | overwrite | trade | expose | deny
  route_asset_after: protected | route_asset | costlier | hostile | captured | lawful_only | public_only | split_canon | contradiction_pending | recovery_only | blocked
  claimant_who_gains: <claimant or none>
  claimant_who_loses: <claimant or none>
  scars:
    - <scar>
counter_deltas:
  - <relief>
  - <cost>
  - <future route, proof, public, faction, proxy, or broadcast effect>

The rite fails if it records only accepted/rejected without route-state mutation.

Default emission

Emit or record an aftershock when:

  • the row is denied while contradiction remains live;
  • the player overwrites without recording source ambiguity or debt;
  • a claimant captures the proof before the hearing resolves;
  • exposure happens without protection for proxy, witness, fan public, or artist;
  • trade gives relief without future route gate;
  • acceptance creates no debt.

Non-goals

  • Not a fixed phase.
  • Not a generic evidence review menu.
  • Not an automatic import button.
  • Not a clean continuity repair.
  • Not valid unless the branch records source evidence, branch selection, route-state after, claimant movement, relief, cost, and future effect.