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: trueThe 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: false2. 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: trueProgress 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.