Replay-Resume Collision Lens / 复盘接手冲突 Lens
This lens observes whether 复盘接手冲突线 correctly prevents 复盘导出匣 and 复盘接手包案卷 from laundering each other when they describe the same source branch, route asset, or future reader.
A passing implementation proves that the capsule state and packet row state are both visible, the collision kind is classified, the beneficiary and harmed reader are named, the player can reconcile through an assigned rite, and a future reader consumes the resulting collision state. It fails if replay export and resume triage are individually correct but their intersection becomes clean by implication.
This lens is state-triggered. It must not depend on a fixed numbered turn.
Primary observation link
This lens observes:
- 复盘接手冲突线;
- 复盘导出羁押线;
- 复盘接手包分诊线;
- 复盘导出羁押机制;
- 复盘接手包分诊机制;
- Route Assets and Custody, Broadcast Reality, and Producer License and Pressure.
It is observed through:
Observable promise
Whenever a resumed hand consumes a branch that also has an export capsule, the game must answer:
What does the capsule say, what does the packet say, where do they disagree, who benefits if the disagreement is ignored, who is harmed, and what future route or reader changes after reconciliation?
The lens fails if either surface silently makes the other one clean.
Must pass
1. Entry is state-triggered by shared branch collision
Required evidence:
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
capsule_state_visible: true
packet_row_state_visible_or_explicit_absence: true
collision_kind_visible: true
beneficiary_if_unreconciled_visible_or_explicit_absence: true
harmed_reader_or_claimant_visible_or_explicit_absence: true
player_can_reconcile_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: trueThe lens fails if entry depends on fixed turn number, day/week interval, chapter quota, raw replay count, raw hand-row count, dashboard state, lens-health state, or a generic resume/export phase.
2. Capsule and packet states are separately visible
Replay-Resume Collision Docket or equivalent must record both sides without collapsing them.
separate_state_required:
source:
source_session_id_or_handoff: <session id handoff tray archive tray producer station or explicit_absence>
source_branch_id: <branch id>
route_asset_or_absence: <asset or explicit_absence>
future_reader_or_route: <reader route rite desk claimant or explicit_absence>
replay_side:
replay_capsule_id: storyteller.card.replay_export_capsule.v1
capsule_state_before: scoped | sealed | lawful_only | traded | sponsor_only | exposed | public_only | quarantined | recovery_only | blocked | misattributed | captured | false_clean | equivalent
capsule_custodian_or_absence: <custodian or explicit_absence>
capsule_counter_branch_or_absence: <branch or explicit_absence>
capsule_future_reader_effect: <effect>
resume_side:
resume_packet_id: storyteller.card.resume_packet_docket.v1
packet_row_id_or_absence: <row id or explicit_absence>
packet_state_before: balanced_packet | claimant_priority_packet | sponsor_safe_packet | inspector_first_packet | fan_public_warning_packet | editor_checksum_packet | quarantined_packet | hidden_row_default | clean_absent | equivalent
packet_owner_or_absence: <owner or explicit_absence>
row_visible_in_packet: true | false
omission_register_or_absence: <register or explicit_absence>The lens fails if the replay side is summarized as proof exists, if the packet side is summarized as row active, or if the packet treats capsule scope as implicit readiness.
3. Collision classification is visible
The docket must identify a collision kind, beneficiary, harmed reader, and future reader.
Accepted collision kinds include:
collision_kind_any:
- 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
- equivalent
classification_required:
beneficiary_if_unreconciled: sponsor | inspector | archive | editor | fan_public | management | producer | route_claimant | blackout_system | explicit_absence
harmed_reader_or_claimant: <reader claimant or explicit_absence>
future_reader_or_route: <reader route rite desk claimant or explicit_absence>The lens fails if the implementation records only a generic inconsistency, warning, merge prompt, or debug conflict.
4. Reconciliation rite assignment slots are explicit
复盘接手对表 or equivalent must require concrete assignment:
assignment_required:
rite: storyteller.rite.replay_resume_reconciliation.v1
docket: storyteller.card.replay_resume_collision_docket.v1
replay_capsule_present: true
resume_packet_present: true
shared_source_branch_or_route_asset_present: true
future_reader_or_route_present: true
collision_kind_visible: true
reconciliation_handler_or_absence: <producer archive clerk inspector editor sponsor liaison public delegate logistics carrier or explicit_absence>
capsule_custodian_or_absence: <custodian or explicit_absence>
packet_owner_or_absence: <owner or explicit_absence>
source_branch_proof_or_absence: <proof anchor or explicit_absence>
omitted_counter_branch_or_absence: <counter branch or explicit_absence>
harmed_reader_or_claimant_or_absence: <reader claimant or explicit_absence>
bridge_or_cost_or_absence: <proof bridge cost scar or explicit_absence>
selected_posture: merge_with_scar | split_packet_and_capsule | privilege_capsule_scope | privilege_packet_visibility | quarantine_collision | assign_counter_reader | accept_collision_defaultThe lens fails if sponsor money, inspector seal, editor checksum, public pressure, management priority, or producer authority resolves the collision without these slots.
5. Branch postures diverge
A valid implementation must offer these branch families or explicitly block unavailable families with state reasons:
merge_with_scar;split_packet_and_capsule;privilege_capsule_scope;privilege_packet_visibility;quarantine_collision;assign_counter_reader;accept_collision_default.
Branches must differ by collision state after, which surface is privileged or split, harmed reader handling, counter deltas, and future route effect.
6. Branch assertions
Merge with scar assertion
selected_posture: merge_with_scar
state_after: merged_with_scar
relief_any: [active_hand_legibility_up, capsule_legibility_up, future_reader_acceptance_up]
cost_any: [handler_burden_up, scar_visibility_up, sponsor_or_inspector_pressure_up]
future_effect_any: [accepted_with_scope, packet_row_cites_capsule_state, capsule_names_packet_row]
forbidden: [merge_as_clean_ready]Split packet and capsule assertion
selected_posture: split_packet_and_capsule
state_after: split_required
relief_any: [false_clean_resume_down, counter_branch_visibility_up]
cost_any: [schedule_pressure_up, future_reconciliation_cost_up]
future_effect_any: [route_requires_dual_reader, public_or_lawful_addendum_required]
forbidden: [split_as_universal_acceptance]Privilege capsule scope assertion
selected_posture: privilege_capsule_scope
state_after: capsule_privileged
relief_any: [replay_capsule_integrity_up, misattribution_risk_down]
cost_any: [active_hand_capacity_pressure_up, omitted_packet_rows_watchlisted]
future_effect_any: [packet_must_respect_capsule_scope, sponsor_or_editor_packet_narrowed]
forbidden: [capsule_scope_as_packet_cleanliness]Privilege packet visibility assertion
selected_posture: privilege_packet_visibility
state_after: packet_privileged
relief_any: [immediate_triage_speed_up, active_hand_legibility_up]
cost_any: [capsule_clearance_cost_up, future_reader_distrust_up]
future_effect_any: [capsule_attestation_required_later, route_costlier_if_capsule_reader_objects]
forbidden: [packet_visibility_as_capsule_attestation]Quarantine collision assertion
selected_posture: quarantine_collision
state_after: collision_quarantined
relief_any: [false_clean_resume_down, false_clean_replay_down]
cost_any: [route_delay_up, management_pressure_up]
future_effect_any: [blocked_until_bridge, packet_rebuild_required]
forbidden: [quarantine_as_free_deferral]Assign counter-reader assertion
selected_posture: assign_counter_reader
state_after: counter_reader_assigned
relief_any: [harmed_reader_erasure_down, public_or_lawful_rebuttal_legible]
cost_any: [inspection_heat_up, sponsor_stop_loss_pressure_up, edit_debt_up]
future_effect_any: [appeal_or_rebuttal_route_opened, future_reader_accepts_with_challenge]
forbidden: [counter_reader_as_flavor_only]Collision default assertion
selected_posture: accept_collision_default
state_after: collision_defaulted
event_seen_or_armed: storyteller.event.capsule_row_collision_default.v1
relief_any: [immediate_triage_burden_down]
cost_any: [contradiction_pending_up, false_clean_resume_up, future_recovery_cost_up]
future_effect_any: [blocked, costlier, lawful_appeal_required, public_addendum_required, sponsor_gate_required, edit_checksum_required, packet_rebuild_required, capsule_attestation_required, recovery_only]
forbidden: [default_as_warning_only]7. Every constructive branch has relief, cost, and future effect
Every non-default branch must satisfy:
counter_contract:
relief_min: 1
cost_min: 1
future_reader_or_route_effect_min: 1
collision_state_changes: trueThe lens fails if reconciliation only improves legibility, resolves a UI warning, or changes immediate hand contents without changing future route/readability.
8. Collision default is durable
匣行冲突默认 must fire or be armed when the player proceeds without reconciliation, when the future reader consumes both surfaces but no collision state is present, or when one surface files a false claim about the other.
default_required:
event: storyteller.event.capsule_row_collision_default.v1
source_branch_id: <branch id>
route_asset_or_absence: <asset or explicit_absence>
replay_capsule_state_before: <state>
resume_packet_state_before: <state>
packet_row_id_or_absence: <row id or explicit_absence>
capsule_custodian_or_absence: <custodian or explicit_absence>
packet_owner_or_absence: <owner or explicit_absence>
collision_kind: <kind>
default_actor: sponsor | inspector | archive | editor | fan_public | management | producer_absence | route_claimant | broadcast_reality | equivalent
harmed_reader_or_claimant: <reader claimant or explicit_absence>
false_claim: packet_clean_so_capsule_clean | capsule_exists_so_row_visible | capsule_scope_covers_packet | packet_priority_erases_counter_branch | recovery_only_loaded_as_fresh | equivalent
state_after: false_clean_resume | misattributed_capsule | sponsor_only_resume | lawful_only_resume | public_only_resume | editor_smoothed_resume | contradiction_pending | hostile_reader | blocked | recovery_only
future_route_effect: blocked | costlier | lawful_appeal_required | public_addendum_required | sponsor_gate_required | edit_checksum_required | packet_rebuild_required | capsule_attestation_required | recovery_only
counter_deltas_min: 3The default fails if it changes only prose, immediate mood, notification state, debug status, or generic reputation.
9. Future reader consumes collision state
At least one downstream route, rite, reader, desk, claimant, loadout, replay export, resume packet, appeal, public addendum, sponsor gate, edit checksum, or broadcast-reality patch must accept, reject, split, surcharge, block, or convert to recovery-only based on the collision state.
future_consumption_required:
future_reader_or_route: <reader route rite desk claimant or explicit_absence>
collision_state_before_consumption: merged_with_scar | split_required | capsule_privileged | packet_privileged | collision_quarantined | counter_reader_assigned | collision_defaulted
accepted_collision_states: []
rejected_or_costlier_collision_states: []
future_reader_or_route_effect: <effect>The lens fails if counters move but future offers, blocked reasons, reader acceptance, custody state, or recovery cost remain identical.
10. No clean mutual laundering
The following are hard failures:
- scoped capsule becomes clean packet readiness;
- sealed capsule becomes public packet proof;
- sponsor-only capsule becomes balanced packet truth;
- exposed public capsule is hidden by sponsor-safe packet;
- quarantined or recovery-only capsule is loaded as fresh;
- packet omission erases capsule counter-branch;
- capsule existence proves hidden row visibility;
- packet visibility proves capsule attestation;
- future route consumes both surfaces without collision state;
- entry uses fixed turn, fixed day/week, raw replay count, raw row count, dashboard, or lens health.
Replay evidence shape
lens_id: storyteller.lens.replay_resume_collision.v1
result: pass | fail
session_id: lens-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
capsule_state_visible: true
packet_row_state_visible_or_explicit_absence: true
collision_kind_visible: true
no_fixed_turn_trigger: true
source:
source_session_id_or_handoff: <session id handoff tray archive tray producer station or explicit_absence>
source_branch_id: <branch id>
route_asset_or_absence: <asset or explicit_absence>
future_reader_or_route: <reader route rite desk claimant or explicit_absence>
active_objects:
card: storyteller.card.replay_resume_collision_docket.v1
rite: storyteller.rite.replay_resume_reconciliation.v1
default_event: storyteller.event.capsule_row_collision_default.v1
replay_side:
replay_capsule_id: storyteller.card.replay_export_capsule.v1
capsule_state_before: <state>
capsule_custodian_or_absence: <custodian or explicit_absence>
capsule_counter_branch_or_absence: <branch or explicit_absence>
resume_side:
resume_packet_id: storyteller.card.resume_packet_docket.v1
packet_row_id_or_absence: <row id or explicit_absence>
packet_state_before: <state>
packet_owner_or_absence: <owner or explicit_absence>
row_visible_in_packet: true | false
omission_register_or_absence: <register or explicit_absence>
collision:
collision_kind: <kind>
beneficiary_if_unreconciled: <actor or explicit_absence>
harmed_reader_or_claimant: <reader claimant or explicit_absence>
assignment:
reconciliation_handler_or_absence: <handler or explicit_absence>
source_branch_proof_or_absence: <proof or explicit_absence>
omitted_counter_branch_or_absence: <branch or explicit_absence>
bridge_or_cost_or_absence: <bridge cost scar or explicit_absence>
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
collision_state_after: <state>
emitted_event: storyteller.event.capsule_row_collision_default.v1 | none_if_valid
future_reader_or_route_effect: <effect>
counter_deltas:
relief: []
cost: []
future: []
assertions:
primary_links_exist: true
replay_and_resume_states_separate: true
collision_kind_beneficiary_and_harmed_reader_visible: true
assignment_slots_explicit: true
branch_postures_diverge: true
constructive_success_has_cost: true
default_is_durable: true
future_reader_consumes_collision_state: true
no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_trigger: trueProgress metric
Progress is measured by branch observability rather than volume.
- 20%: replay capsule and resume packet are both present and tied to the same source branch, asset, or future reader.
- 40%: collision kind, beneficiary, harmed reader, and future reader are visible.
- 60%: reconciliation rite exposes assignment slots and at least three constructive branch families.
- 80%: default creates durable route, reader, custody, contradiction, or recovery cost.
- 100%: at least two replay/session branches prove divergent reconciliation outcomes and future reader consumption.
Non-goals
- Not replay UI.
- Not a save-file merge algorithm.
- Not a generic active-hand cleanup lens.
- Not dashboard, governance, or lens-health monitoring.
- Not a fixed-turn aftermath.
- Not raw count satisfaction.
- Not valid unless the collision changes future route availability, reader acceptance, custody state, or recovery cost.