Balcony Rain Tarp Grommet Afteruse Receipt Lens

This lens checks that a torn balcony rain-tarp grommet recovered after a storm-show reroute cannot later be spent as clean weather-liability proof, seating-safety clearance, sponsor rain-cover waiver, or route-access permission unless the game preserves the balcony section, grommet row, water path, usher witness, sponsor claim, proof bridge, selected posture, after-state, and future route effect.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  balcony_section_visible: true
  grommet_row_visible_or_explicit_absence: true
  water_path_visible: true
  usher_witness_visible_or_explicit_absence: true
  sponsor_claim_visible: true
  proof_bridge_or_explicit_absence_visible: true
  future_reader_consumes_grommet_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_grommet_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

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

Checks

1. Docket Preserves Rain-Tarp Grommet Custody And Afteruse

balcony_rain_tarp_grommet_docket:
  balcony_section: required
  grommet_row_or_absence: required
  water_path: required
  usher_witness_or_absence: required
  sponsor_claim: required
  proof_bridge_or_explicit_absence: required
  future_reader_or_route: required
  selected_grommet_posture: required
  grommet_afteruse_state_after: required
  future_reader_or_route_effect: required
  counter_deltas: required
  clean_weather_liability: false

2. Review Branches Diverge

Required branch families:

  • certify_balcony_section_scope;
  • bind_grommet_row;
  • reopen_usher_witness;
  • split_tarp_from_liability;
  • quarantine_grommet_afteruse;
  • false_weather_liability_default;
  • future_effect_any.

3. Default Mutates Future Play

false_weather_liability_default:
  false_clean_weather_liability: true
  balcony_section_or_absence: required
  hidden_or_overbroad_water_path: required
  capturing_reader_or_route: required
  usher_witness_or_absence: required
  grommet_afteruse_state_after: falsely_clean
  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-tarp grommet as universal weather-liability proof, seating-safety clearance, or clean sponsor rain-cover waiver.