Replay-Resume Collision / 复盘接手冲突机制

Replay-Resume Collision makes durable-session state playable when 复盘导出羁押机制 and 复盘接手包分诊机制 disagree about the same branch, route asset, or future reader.

A replay capsule can be scoped or misattributed while the resumed hand treats the related row as clean, hidden, sponsor-safe, lawful-only, public-only, editor-smoothed, or ready. This mechanism prevents that mismatch from becoming invisible readiness.

Entry predicate

entry_requires:
  trigger_kind: state_pressure
  replay_capsule_present: true
  resume_packet_present: true
  shared_source_branch_or_route_asset_present: true
  capsule_state_visible: true
  packet_row_state_visible_or_explicit_absence: true
  future_reader_or_route_consumes_both_surfaces: true
  collision_kind_visible: true
  player_can_reconcile_split_privilege_quarantine_assign_counter_reader_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_replay_count_trigger: true
  no_raw_row_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The mechanism does not open for generic session resume. It opens only when both the capsule and the packet can change the same future route, reader, rite, claimant, or custody state.

Required surfaces

Collision families

collision_families:
  - capsule_scoped_packet_clean
  - capsule_sealed_packet_public
  - capsule_traded_packet_balanced
  - capsule_exposed_packet_sponsor_safe
  - capsule_quarantined_packet_ready
  - capsule_refused_packet_required
  - capsule_misattributed_packet_hidden
  - capsule_recovery_only_packet_fresh
  - capsule_reader_scope_missing_from_packet
  - resume_omission_hides_capsule_counter_branch

Each collision must name beneficiary, harmed reader or claimant, future reader effect, and state after.

Branch model

Merge with scar

The player binds packet row and capsule state together. The route can continue only with scar and scope visible.

Expected result: merged_with_scar, active-hand legibility rises, handler burden or pressure rises, future reader accepts with scope.

Split packet and capsule

The player refuses one clean object and lets different readers consume different surfaces.

Expected result: split_required, counter-branch visibility rises, schedule or future reconciliation cost rises, route requires dual reader or addendum.

Privilege capsule scope

The replay capsule governs future use. The packet can still triage, but cannot claim the capsule is cleaner than its attested state.

Expected result: capsule_privileged, misattribution falls, active-hand capacity pressure rises, packet rows are watchlisted.

Privilege packet visibility

The resumed hand governs immediate play, but the capsule is narrowed, delayed, or made costlier for future readers.

Expected result: packet_privileged, immediate triage speed rises, capsule clearance cost or future reader distrust rises.

Quarantine collision

Neither side is safe enough to use cleanly.

Expected result: collision_quarantined, false-clean pressure falls, route delay and management pressure rise, bridge proof is required.

Assign counter-reader

The player gives the harmed reader a rebuttal or appeal path instead of pretending the two surfaces agree.

Expected result: counter_reader_assigned, harmed-reader erasure falls, sponsor/inspection/edit pressure rises, challenge route opens.

Accept collision default

The player proceeds without resolving the mismatch.

Expected result: collision_defaulted, 匣行冲突默认 hardens, future route becomes blocked, costlier, appeal-bound, addendum-bound, or recovery-only.

Integration rules

  • With 复盘导出匣, this mechanism consumes capsule state rather than replacing it.
  • With 复盘接手包案卷, this mechanism consumes row visibility and omission register rather than treating the visible hand as truth.
  • With 复盘匣误归属默认, this mechanism preserves the wrong-author path if the capsule already defaulted.
  • With 隐藏复盘行默认, this mechanism preserves hidden-row default if the packet already hid the capsule row.
  • With Route Assets and Custody, the collision state can make a route asset scoped, split-required, hostile, captured, blocked, or recovery-only.

Failure states

The implementation fails if it allows:

  • a replay capsule to become clean because the resume packet is balanced;
  • a hidden resume row to erase capsule custodian, proof anchor, consent scope, counter-branch, or future reader;
  • a sealed, lawful-only, sponsor-only, public-only, quarantined, recovery-only, or misattributed capsule to be loaded as fresh;
  • a collision to resolve without handler, proof/absence, bridge/cost, harmed reader, and future effect;
  • a default that changes only text, mood, or generic reputation;
  • fixed turn, fixed day/week, raw replay count, raw row count, dashboard, or lens-health trigger.

Replay evidence shape

mechanic: storyteller.mechanic.replay_resume_collision.v1
session_id: replay-resume-collision-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  replay_capsule_present: true
  resume_packet_present: true
  shared_source_branch_or_route_asset_present: true
  future_reader_or_route_consumes_both_surfaces: true
  no_fixed_turn_trigger: true
offered:
  card: storyteller.card.replay_resume_collision_docket.v1
  rite: storyteller.rite.replay_resume_reconciliation.v1
branch_result:
  selected_posture: merge_with_scar | split_packet_and_capsule | privilege_capsule_scope | privilege_packet_visibility | quarantine_collision | assign_counter_reader | accept_collision_default
  state_after: <state>
  emitted_event: storyteller.event.capsule_row_collision_default.v1 | none
  future_route_effect: <effect>
  counter_deltas:
    relief: []
    cost: []
    future: []

Non-goals

  • Not a save/load system.
  • Not replay UI.
  • Not a dashboard merge conflict.
  • Not raw content-count satisfaction.
  • Not valid unless the mismatch creates playable branch pressure and future route consequences.