Operator Relay Chain Contamination Lens / 操作员接力链污染 Lens

This lens observes whether 操作员接力链污染线 and 操作员接力链污染机制 correctly turn cross-operator proof relay into playable pressure.

The targeted gap is precise: 楼刻, 陆纷, and 岑回 can each be implemented correctly, while their rows still form a false clean chain when a future reader cites only the newest row. This lens fails that implementation.

This lens observes the storyline, mechanic, ledger card, review rite, default event, three operator character storylines, caption/recap/egress/roll-call surfaces, and durable broadcast/route systems listed in front matter.

It is observed through:

Must pass

1. Entry is state-triggered by relay pressure

entry_state_required:
  trigger_kind: state_pressure
  source_claim_present_or_explicit_absence: true
  original_scar_or_explicit_absence_visible: true
  relay_rows_min: 2
  at_least_one_row_cites_previous_row_as_proof: true
  row_order_visible: true
  operator_state_or_absence_visible_per_row: true
  beneficiary_of_clean_relay_visible_or_explicit_absence: true
  harmed_or_omitted_reader_visible_or_explicit_absence: true
  future_reader_or_route_consumes_chain_state: true
  player_can_carry_split_escrow_protect_addendum_quarantine_scope_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_caption_clip_receipt_operator_or_relay_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens fails if entry comes from fixed chronology, raw number of clips/captions/receipts/operators, dashboard status, lens health, generic recap cleanup, or single-row proof review.

2. Ledger exposes the relay chain

操作员接力链账本 must expose:

ledger_required:
  source_claim_id_or_absence: <id or explicit_absence>
  source_surface: <surface>
  original_scar_or_explicit_absence: <scar or explicit_absence>
  proof_anchor_or_absence: <anchor or explicit_absence>
  relay_rows_min: 2
  relay_rows:
    - row_id: <row id>
      row_kind: caption_switch | recap_clip | backflow_receipt | roll_call_recheck | public_recap | mirror_relay | equivalent
      operator_or_absence: lou_ke | lu_fen | cen_hui | explicit_absence | equivalent
      operator_state_before: visible | recruited | protected | retained | captured | hostile | missed | suppressed | explicit_absence | equivalent
      cites_previous_row_as_proof: true | false
      scar_action: carried | narrowed | split | escrowed | softened | dropped | contradicted | sponsor_cleaned | merged_clean | explicit_absence | equivalent
      row_reader: <reader>
  beneficiary_of_clean_relay: <beneficiary or explicit_absence>
  harmed_or_omitted_reader: <reader or explicit_absence>
  false_clean_claim_if_unresolved: <claim or explicit_absence>
  future_reader_or_route: <reader route asset or system>

The lens fails if the relay is represented only as proof exported, clip approved, caption matched, all clear, staff handled, or a one-row proof object.

3. Review branches diverge

操作员接力链复核 must offer at least one constructive branch and one default/failure branch. A satisfying implementation should expose these branch families or block unavailable families with state reasons:

  • carry_chain_scar;
  • split_relay_readers;
  • escrow_first_row;
  • protect_operator_link;
  • publish_chain_addendum;
  • quarantine_relay;
  • accept_scoped_clean_relay;
  • false_clean_relay_default.

Branches must differ by chain state, operator state, harmed reader state, counter deltas, and future reader or route effect.

Branch assertions

branch_assertions:
  carry_chain_scar:
    chain_state_after: scar_carried
    relief_any: [relay_chain_legibility_up, scar_tag_integrity_up, future_reader_acceptance_up]
    cost_any: [operator_exposure_up, sponsor_stop_loss_pressure_up, public_attention_to_scar_up]
    future_effect_any: [accepted_with_scar, scoped_reuse]
  split_relay_readers:
    chain_state_after: split_chain
    relief_any: [selected_reader_unblocked, false_clean_relay_down]
    cost_any: [contradiction_pressure_up, handler_burden_up, public_receipt_distrust_up]
    future_effect_any: [split_required, sponsor_only, mirror_only, access_only, lawful_only]
  escrow_first_row:
    chain_state_after: escrowed_first_row
    relief_any: [source_anchor_preserved, proof_contamination_risk_down]
    cost_any: [route_delay_up, archive_debt_up, future_recovery_cost_up]
    future_effect_any: [source_rehearing_required, lawful_or_archive_only]
  protect_operator_link:
    chain_state_after: protected_link
    operator_state_after_any: [protected, retained, recruited, scarred_available]
    relief_any: [operator_link_legibility_up, hostile_operator_risk_down]
    cost_any: [witness_exposure_up, payroll_or_handler_burden_up, inspection_heat_up]
    future_effect_any: [protected_operator_required_before_reuse, route_asset_available_with_cost]
  publish_chain_addendum:
    chain_state_after: public_addendum_required
    relief_any: [public_receipt_legitimacy_up, broadcast_reality_drift_down]
    cost_any: [sponsor_pressure_up, fan_oxygen_resentment_up, public_receipt_distrust_up]
    future_effect_any: [addendum_required_before_reuse, public_audit_required]
  quarantine_relay:
    chain_state_after: quarantined_relay
    relief_any: [false_clean_relay_blocked, route_asset_contamination_down]
    cost_any: [schedule_pressure_up, route_delay_up, claimant_hostility_up]
    future_effect_any: [blocked, recovery_only_if_reused_without_review]
  accept_scoped_clean_relay:
    chain_state_after: scoped_clean_relay
    relief_any: [immediate_route_pressure_down, sponsor_or_mirror_continuity_up]
    cost_any: [harmed_reader_hostility_up, public_receipt_distrust_up, future_correction_cost_up]
    future_effect_any: [sponsor_only, mirror_only, lawful_only, costlier, public_addendum_required]
  false_clean_relay_default:
    event_seen_or_armed: storyteller.event.false_clean_relay_chain_default.v1
    chain_state_after_any: [false_clean_relay, hostile_relay, recovery_only_relay]
    cost_any: [false_clean_relay_up, hidden_operator_absence_up, broadcast_reality_drift_up]
    future_effect_any: [source_rehearing_required, addendum_required, split_required, public_audit_required, route_blocked, hostile, recovery_only]

4. False clean default is durable

虚假洁净接力链默认 must fire or arm when the relay ledger is absent, the latest clean row overwrites earlier scar, operator absence is hidden, sponsor/mirror scope becomes public truth, or a future route consumes the chain without relay review.

Required default payload:

default_required:
  event: storyteller.event.false_clean_relay_chain_default.v1
  source_claim_id_or_absence: <id or explicit_absence>
  original_scar_or_absence: <scar or explicit_absence>
  relay_rows_consumed: []
  hidden_operator_link_or_absence: lou_ke | lu_fen | cen_hui | explicit_absence | equivalent
  default_narrator: sponsor_clip_export | management_recap_table | mirror_feed_editor | public_all_clear | archive_transcript_table | roll_call_merge | broadcast_reality | equivalent
  false_clean_claim: <claim>
  beneficiary_of_clean_relay: <beneficiary>
  harmed_or_omitted_reader: <reader or explicit_absence>
  chain_state_after: false_clean | hostile | contested | blocked | recovery_only | equivalent
  future_reader_effect: source_rehearing_required | addendum_required | split_required | public_audit_required | sponsor_only | mirror_only | route_blocked | hostile | recovery_only | equivalent
  counter_deltas_min: 3

The default fails if it changes only audience mood, generic PR heat, or undifferentiated route difficulty.

No universal clean relay

A branch may make one reader safer or one route usable. No branch may make the same relay clean for all of:

no_universal_clean_relay:
  source_truth: not_universally_certified
  caption_reader: scoped_or_costed
  clip_reader: scoped_or_costed
  recap_reader: scoped_or_costed
  roll_call_reader: scoped_or_costed
  sponsor_reader: scoped_or_costed
  mirror_reader: scoped_or_costed
  archive_reader: scoped_or_costed
  access_reader: scoped_or_costed
  fan_public: scoped_or_costed
  route_asset: scoped_or_costed
  broadcast_reality: scoped_or_costed

Replay evidence shape

lens_id: storyteller.lens.operator_relay_chain_contamination.v1
session_id: lens-operator-relay-chain-contamination-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  source_claim_present_or_explicit_absence: true
  original_scar_or_explicit_absence_visible: true
  relay_rows_min: 2
  at_least_one_row_cites_previous_row_as_proof: true
  row_order_visible: true
  operator_state_or_absence_visible_per_row: true
  beneficiary_of_clean_relay_visible_or_explicit_absence: true
  harmed_or_omitted_reader_visible_or_explicit_absence: true
  future_reader_or_route_consumes_chain_state: true
  no_fixed_turn_trigger: true
offered:
  storyline: storyteller.storyline.operator_relay_chain_contamination.v1
  mechanic: storyteller.mechanic.operator_relay_chain_contamination.v1
  card: storyteller.card.operator_relay_chain_ledger.v1
  rite: storyteller.rite.operator_relay_chain_review.v1
relay_rows:
  - row_id: <row>
    row_kind: <kind>
    operator_or_absence: <operator or explicit_absence>
    operator_state_before: <state>
    scar_action: <action>
  - row_id: <row>
    row_kind: <kind>
    operator_or_absence: <operator or explicit_absence>
    cites_previous_row_as_proof: true
branch_runs:
  constructive_branch:
    selected_posture: carry_chain_scar | split_relay_readers | escrow_first_row | protect_operator_link | publish_chain_addendum | quarantine_relay | accept_scoped_clean_relay
    chain_state_after: <state>
    operator_states_after: []
    harmed_reader_after: <state>
    future_reader_effect: <effect>
    counter_deltas:
      relief: []
      cost: []
      future: []
  default_branch:
    event_seen_or_armed: storyteller.event.false_clean_relay_chain_default.v1
    default_narrator: <actor>
    false_clean_claim: <claim>
    hidden_operator_link_or_absence: <operator or explicit_absence>
    chain_state_after: false_clean_relay | hostile_relay | recovery_only_relay | equivalent
    future_reader_effect: <effect>
assertions:
  - primary_links_exist
  - entry_is_state_triggered_by_operator_relay_not_fixed_time_or_count
  - relay_rows_row_order_source_scar_operator_states_beneficiary_harmed_reader_and_future_reader_are_visible
  - chain_review_offers_non_equivalent_constructive_and_default_branches
  - no_universal_clean_relay_state_exists
  - every_non_default_branch_has_relief_cost_and_future_effect
  - false_clean_relay_default_mutates_future_play
  - future_reader_consumes_chain_state
  - no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_trigger

Failure cases

This lens fails if a future reader consumes captioned, clipped, recapped, all clear, roll-call reconciled, mirror safe, or public proof without checking relay row order; if a missing operator link becomes generic staff; if a sponsor or mirror-safe relay becomes public truth; if all readers accept the same clean chain; or if the branch has no future route mutation.