Balcony Opera Glass Strap Afteruse Receipt Lens

This lens checks that a frayed balcony opera-glass strap recovered after a sponsor-seat watchlist incident cannot later be spent as clean balcony access, patron-identity proof, sponsor surveillance consent, or archive viewing permission unless the game preserves the balcony seat, strap knot, lens-smudge path, usher witness, sponsor access claim, proof bridge, selected posture, after-state, and future route effect.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  balcony_seat_visible: true
  strap_knot_visible_or_explicit_absence: true
  lens_smudge_path_visible: true
  usher_witness_visible_or_explicit_absence: true
  sponsor_access_claim_visible: true
  proof_bridge_or_explicit_absence_visible: true
  future_reader_consumes_strap_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_strap_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens fails if entry is driven by fixed time, raw prop inventory, dashboard health, or an opera-glass prop row with no future reader trying to consume it.

Checks

1. Docket Preserves Strap Custody And Afteruse

balcony_opera_glass_strap_docket:
  balcony_seat: required
  strap_knot_or_absence: required
  lens_smudge_path: required
  usher_witness_or_absence: required
  sponsor_access_claim: required
  proof_bridge_or_explicit_absence: required
  future_reader_or_route: required
  selected_strap_posture: required
  strap_afteruse_state_after: required
  future_reader_or_route_effect: required
  counter_deltas: required
  clean_balcony_access: false

2. Review Branches Diverge

Required branch families:

  • certify_balcony_seat_scope;
  • bind_strap_knot;
  • reopen_usher_witness;
  • split_viewing_from_access;
  • quarantine_strap_afteruse;
  • false_opera_glass_access_default;
  • future_effect_any.

3. Default Mutates Future Play

false_opera_glass_access_default:
  false_clean_balcony_access: true
  balcony_seat_or_absence: required
  hidden_or_overbroad_smudge_path: required
  capturing_reader_or_route: required
  usher_witness_or_absence: required
  strap_afteruse_state_after: falsely_clean
  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 opera-glass strap as universal balcony access, patron identity, sponsor surveillance consent, or archive viewing permission.