Ticket Scanner Cradle Afteruse Receipt Lens

This lens checks that a prior ticket scanner cradle cannot be consumed later as universal admission, fan-oxygen, or entry-safety authority after the cradle batch, signer, reheating route, respondent list, or entry tally witness has changed.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_ticket_scanner_cradle_visible: true
  cradle_batch_id_or_absence_visible: true
  original_service_span_visible: true
  original_admission_steward_visible: true
  original_admission_sheet_version_visible: true
  requested_afteruse_service_visible: true
  afteruse_caller_visible: true
  current_admission_sheet_version_or_absence_visible: true
  current_admission_steward_or_absence_visible: true
  displaced_guest_or_entry_tally_witness_visible_or_absence: true
  proof_bridge_or_absence_visible: true
  player_can_certify_attach_split_checksum_notice_quarantine_or_default: true
  no_fixed_turn_trigger: true
  no_dashboard_or_lens_health_trigger: true

Checks

1. Docket Separates Prior Ticket Scanner Cradle From Current Service Authority

ticket_scanner_cradle_afteruse_docket:
  admissionRows: required
  source_cradle_tag: required
  cradle_batch_id_or_absence: required
  original_service_span: required
  original_admission_steward: required
  original_admission_sheet_version: required
  requested_afteruse_service: required
  afteruse_caller: required
  current_admission_sheet_version_or_absence: required
  current_admission_steward_or_absence: required
  displaced_guest_or_entry_tally_witness: required
  proof_bridge_or_absence: required
  selected_afteruse_posture: required
  future_route_effect: required

2. Review Branches Diverge

Required branch families:

  • certify_current_admission_steward;
  • attach_ticket_scanner_cradle_afteruse_receipt;
  • split_original_and_later_audience_admission_table_readers;
  • require_editor_checksum_before_reuse;
  • publish_entry_tally_witness_notice;
  • quarantine_cradle_tag_afteruse_claim;
  • false_clean_cradle_default;
  • future_effect_any.

3. False-Clean Default Mutates Future Play

false_clean_cradle_default:
  stale_cradle_claim: true
  state_before_resolution: false_clean_pending
  terminal_state_exactly_one:
    - false_clean_admission_route
    - caption_liaison_notice_required
    - recovery_only
  future_route_effect_exactly_one:
  # alias: future_gate_effect_exactly_one
    - ticket_scanner_cradle_afteruse_route_costlier
    - ticket_scanner_cradle_editor_checksum_required
    - ticket_scanner_cradle_afteruse_recovery_only
  counter_deltas_min: 3
  durable_mutation: true

Evidence Shape

Playable satisfaction is now backed by focused game content, the runtime test lens/storyteller-ticket-scanner-cradle-afteruse.runtime.test.ts, and the lens-scoped durable session exported to lens/replays/storyteller-lens-ticket-scanner-cradle-afteruse-receipt-v1.replay.json with seed 20260721.

The runtime proof exercises all seven review branches, verifies the false-clean default arms the follow-up event, and checks that each default resolution clears pending flags while leaving exactly one durable terminal state and one matching future route effect.