Seat Substitution Receipt Lens

This lens checks that a sponsor, editor, or venue cannot silently swap one audience-seat claim for another without preserving the source row, the harmed reader, and the future route that will consume the substituted seat state.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_seat_row_visible: true
  original_holder_visible: true
  substituted_holder_visible: true
  substitution_authority_or_explicit_absence_visible: true
  proof_or_absence_visible: true
  harmed_reader_visible_or_explicit_absence: true
  future_reader_consumes_seat_state: true
  player_can_certify_reseat_refund_split_quarantine_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_seat_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens fails if entry is driven by fixed turn, fixed day/week, raw seat count, dashboard state, lens health, or a substituted seat with no future reader.

Checks

1. Docket Preserves Source Row And Replacement Claim

seat_substitution_docket:
  source_seat_row: required
  original_holder: required
  substituted_holder: required
  substitution_authority_or_absence: required
  proof_or_absence: required
  harmed_reader_or_absence: required
  requested_future_use: required
  selected_seat_posture: required
  seat_state_after: required
  future_reader_or_route_effect: required
  counter_deltas: required

2. Review Branches Diverge

Required branch families:

  • certify_authorized_substitution;
  • reseat_original_holder;
  • refund_harmed_reader;
  • split_seat_credit;
  • publish_seat_erratum;
  • quarantine_substitution_claim;
  • false_seat_substitution_default;
  • future_effect_any.

3. Default Mutates Future Play

false_seat_substitution_default:
  false_clean_seat_claim: true
  source_seat_row_or_absence: required
  hidden_or_invalid_substitution: required
  capturing_reader: required
  harmed_or_displaced_reader: required
  seat_state_after: required
  future_reader_effect: required
  counter_deltas_min: 3
  durable_mutation: true

4. Runtime Rollup Status Is Explicit

This is a direct-wiki contract bound to an evaluator entry. Runtime source objects and durable replay can be added later if seat substitution becomes executable in the game-content rollup.