Concession Token Afteruse Receipt Lens

This lens checks that a concession token can prove one risky voucher row was open, but cannot later be spent as blanket tab waiver, sponsor guest-list permission, archive blocking authority, audience snack access certification, or broadcast reenactment proof unless the game preserves which concession lead saw it, what voucher row it marked, who later tries to reuse it, the harmed claimant, the proof bridge, selected posture, after-state, future route effect, and counter movement.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_token_row_visible: true
  voucher_clerk_visible_or_explicit_absence: true
  claim_code_context_visible: true
  cited_seat_block_visible: true
  requested_afteruse_visible: true
  future_reader_consumes_token_state: true
  displaced_patron_visible_or_explicit_absence: true
  proof_bridge_or_explicit_absence_visible: true
  player_can_certify_restrict_attach_reopen_split_quarantine_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_marker_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens fails if entry is driven by fixed time, raw marker counts, dashboard health, or an anonymous concession token with no named future route trying to consume it.

Checks

1. Docket Preserves Concession Token Custody And Afteruse

concession_token_docket:
  source_token_row: required
  voucher_clerk_or_absence: required
  claim_code_context: required
  cited_seat_block: required
  requested_afteruse: required
  future_reader_or_route: required
  displaced_patron_or_absence: required
  proof_bridge_or_explicit_absence: required
  selected_token_posture: required
  token_afteruse_state_after: required
  future_reader_or_route_effect: required
  counter_deltas: required

2. Review Branches Diverge

Required branch families:

  • certify_token_scope;
  • restrict_token_reader;
  • attach_voucher_bridge;
  • reopen_displaced_patron_claim;
  • split_ticket_from_sponsor_comp;
  • quarantine_token_afteruse;
  • false_token_default;
  • future_effect_any.

3. Default Mutates Future Play

false_token_default:
  false_clean_token: true
  source_token_row_or_absence: required
  hidden_or_overbroad_claim_code_context: required
  cited_seat_block: required
  capturing_reader_or_route: required
  displaced_patron_or_absence: required
  token_afteruse_state_after: required
  future_reader_effect: recovery_only
  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 the concession token as universal tab waiver, sponsor permission, snack access certification, archive custody, route-asset consent, or broadcast reenactment proof.

Replay Evidence

latest_replay:
  session_id: lens-storyteller-lens-concession-token-afteruse-receipt-v1-20260716t0802z-certify-scope
  seed: concession-token-afteruse-20260716
  replay_path: lens/replays/concession-token-afteruse-receipt.certify-scope.replay.json
  selected_rite: storyteller.rite.concession_token_afteruse_review.v1
  selected_branch: certify_token_scope
  required_flags:
    - concession_token.branch.certify_token_scope
    - future_route.token_named_scope_required
  required_counter_mutations:
    concessionTokenProgress: ">= 2"
    futureRouteCost: ">= 1"