Stage Door Rain Check Afteruse Receipt Lens

This lens checks that a stage-door rain-check slip can prove one risky rain-cover row was open, but cannot later be spent as blanket escort consent, sponsor queue-reroute permission, archive blocking authority, audience safety certification, or broadcast reenactment proof unless the game preserves which door guard saw it, what rain-cover 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_rain_check_row_visible: true
  door_guard_or_absence_visible: true
  rain_cover_scope_visible: true
  requested_afteruse_visible: true
  route_reader_visible: true
  harmed_claimant_visible_or_explicit_absence: true
  proof_bridge_or_explicit_absence_visible: true
  future_reader_consumes_rain_check_state: 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 rain-check slip with no named future route trying to consume it.

Checks

1. Docket Preserves Rain Check Custody And Afteruse

stage_door_rain_check_docket:
  source_rain_check_row: required
  door_guard_or_absence: required
  rain_cover_scope: required
  requested_afteruse: required
  future_reader_or_route: required
  harmed_claimant_or_absence: required
  proof_bridge_or_explicit_absence: required
  selected_rain_check_posture: required
  rain_check_afteruse_state_after: required
  future_reader_or_route_effect: required
  counter_deltas: required

2. Review Branches Diverge

Required branch families:

  • certify_rain_check_scope;
  • restrict_rain_check_reader;
  • attach_door_log_bridge;
  • reopen_harmed_queue_claimant;
  • split_rain_cover_from_escort_consent;
  • quarantine_rain_check_afteruse;
  • false_rain_check_default;
  • future_effect_any.

3. Default Mutates Future Play

false_rain_check_default:
  false_clean_rain_check: true
  source_rain_check_row_or_absence: required
  hidden_or_overbroad_rain_scope: required
  capturing_reader_or_route: required
  harmed_claimant_or_absence: required
  rain_check_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 the rain-check slip as universal escort consent, sponsor permission, safety certification, archive custody, route-asset consent, or broadcast reenactment proof.

Replay Evidence

latest_replay:
  session_id: lens-storyteller-lens-stage-door-rain-check-afteruse-receipt-v1-20260716t1258z-certify-scope
  seed: stage-door-rain-check-afteruse-20260716
  replay_path: lens/replays/stage-door-rain-check-afteruse-receipt.certify-scope.replay.json
  selected_rite: storyteller.rite.stage_door_rain_check_afteruse_review.v1
  selected_branch: certify_rain_check_scope
  required_flags:
    - stage_door_rain_check.branch.certify_rain_check_scope
    - future_route.rain_check_named_scope_required
  required_counter_mutations:
    rainCheckProgress: ">= 2"
    futureRouteCost: ">= 1"