Balcony Seat Stub Afteruse Receipt Lens

This lens checks that a torn balcony seat stub preserved from audience seating cannot later be consumed as universal attendance, consent, custody, sponsor immunity, or memorial witness authority unless the game preserves source stub, row marker, usher tear ledger, disputed holder or explicit absence, requested afteruse, future reader, selected posture, after-state, and future route effect.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_stub_visible: true
  row_marker_or_explicit_absence_visible: true
  usher_tear_or_changeover_visible: true
  disputed_holder_visible_or_explicit_absence: true
  requested_afteruse_visible: true
  future_reader_consumes_stub_state: true
  player_can_certify_bind_reopen_split_quarantine_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_stub_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

Checks

1. Docket Preserves Seat Provenance

balcony_seat_stub_docket:
  source_stub: required
  row_marker_or_absence: required
  usher_tear_or_changeover: required
  disputed_holder_or_absence: required
  requested_afteruse: required
  future_reader_or_route: required
  selected_stub_posture: required
  stub_afteruse_state_after: required
  future_reader_or_route_effect: required
  counter_deltas: required
  universal_clean_stub: false

2. Review Branches Diverge

Required branch families:

  • certify_seat_scope;
  • bind_usher_tear;
  • reopen_disputed_holder;
  • split_attendance_from_custody;
  • quarantine_stub_afteruse;
  • false_clean_stub_default;
  • future_effect_any.

Each branch must name relief, cost, counters, and future route effects.

3. Default Mutates Future Play

false_balcony_seat_stub_default:
  false_clean_stub: true
  source_stub_or_absence: required
  hidden_or_overbroad_attendance_scope: required
  capturing_reader_or_route: required
  disputed_holder_or_absence: required
  stub_afteruse_state_after: false_clean_default
  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, runtime Jest assertions, and a lens-scoped durable replay show one selected branch changing named counters and future route state without treating the seat stub as universal attendance, consent, or custody authority.