Concession Raincheck Afteruse Receipt Lens

This lens checks that a concession raincheck, refund chit, or replacement snack voucher cannot later be spent as clean fan endorsement, dietary/allergy waiver, sponsor proof, archive attendance proof, or broadcast reenactment consent unless the game preserves the source service row, patron or explicit absence, stall/date context, cited service scope, requested afteruse, harmed claimant, proof bridge, selected posture, after-state, and future route effect.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_raincheck_row_visible: true
  patron_visible_or_explicit_absence: true
  stall_date_context_visible: true
  cited_service_scope_visible: true
  requested_afteruse_visible: true
  harmed_claimant_visible_or_explicit_absence: true
  proof_bridge_or_explicit_absence_visible: true
  future_reader_consumes_raincheck_state: true
  player_can_certify_restrict_bridge_reopen_split_quarantine_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_voucher_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens fails if entry is driven by fixed time, raw voucher totals, dashboard health, or a raincheck with no named future reader trying to consume it.

Checks

1. Docket Preserves Raincheck Custody And Afteruse

raincheck_docket:
  source_raincheck_row: required
  patron_or_absence: required
  stall_date_context: required
  cited_service_scope: required
  requested_afteruse: required
  future_reader_or_route: required
  harmed_claimant_or_absence: required
  proof_bridge_or_explicit_absence: required
  selected_raincheck_posture: required
  raincheck_afteruse_state_after: required
  future_reader_or_route_effect: required
  counter_deltas: required

2. Review Branches Diverge

Required branch families:

  • certify_raincheck_scope;
  • restrict_raincheck_reader;
  • attach_patron_bridge;
  • reopen_harmed_raincheck_claimant;
  • split_service_from_likeness_custody;
  • quarantine_raincheck_afteruse;
  • false_raincheck_default;
  • future_effect_any.

3. Default Mutates Future Play

false_raincheck_default:
  false_clean_raincheck: true
  source_raincheck_row_or_absence: required
  hidden_or_overbroad_service_scope: required
  capturing_reader_or_route: required
  harmed_claimant_or_absence: required
  raincheck_afteruse_state_after: required
  future_reader_effect: required
  counter_deltas_min: 3
  durable_mutation: true

Progress Metric

Satisfied when the sibling TypeScript binding, focused card/rite/event content, and a lens-scoped durable replay show one selected branch changing named counters and future route state without treating a concession raincheck as universal fan endorsement, dietary waiver, sponsor proof, archive attendance proof, or broadcast reenactment consent.