House Curtain Tie Afteruse Receipt Lens
This lens checks that a curtain-tie tag from one house-flow correction cannot be consumed later as clean exit authority after the aisle map, responsible steward, or blocked patron has changed.
Entry Oracle
entry_state:
trigger_kind: state_pressure
source_curtain_tie_visible: true
original_exit_row_visible: true
original_house_steward_visible: true
original_aisle_or_explicit_absence_visible: true
requested_afteruse_visible: true
afteruse_caller_visible: true
aisle_change_or_explicit_absence_visible: true
blocked_patron_visible_or_explicit_absence: true
future_gate_consumes_tie_state: true
player_can_certify_attach_split_reopen_notice_quarantine_or_default: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_exit_count_trigger: true
no_dashboard_or_lens_health_trigger: trueChecks
1. Docket Separates Prior Curtain Tie From Current Exit Authority
house_curtain_tie_afteruse_docket:
source_curtain_tie: required
original_exit_row: required
original_house_steward: required
original_aisle_or_absence: required
tie_state_before: required
requested_afteruse: required
afteruse_caller: required
aisle_change_or_absence: required
proof_bridge_or_absence: required
blocked_patron: required
selected_afteruse_posture: required
curtain_tie_afteruse_state_after: required
future_gate_or_route_effect: required
counter_deltas: required2. Review Branches Diverge
Required branch families:
certify_current_exit_steward;attach_curtain_tie_afteruse_receipt;split_original_and_afteruse_stewards;reopen_aisle_hearing;publish_aisle_change_notice;quarantine_curtain_tie_afteruse_claim;false_curtain_tie_afteruse_default;future_effect_any.
3. Default Mutates Future Play
false_curtain_tie_afteruse_default:
false_clean_tie_claim: true
source_curtain_tie_or_absence: required
hidden_or_stale_exit_conflict: required
capturing_caller: required
blocked_patron: required
curtain_tie_afteruse_state_after: required
future_gate_effect: required
counter_deltas_min: 3
durable_mutation: true4. Runtime Rollup Status Is Explicit
The runtime packet must include seven exact starter cards, a state-pressure review rite with seven divergent branches, a false-afteruse default event with three durable outcomes, a focused Jest runtime test, and a durable lens-scoped replay exported from the gameplay CLI.
5. Durable Replay Evidence
lens_id: storyteller.lens.house_curtain_tie_afteruse_receipt.v1
session_id: lens-storyteller-lens-house-curtain-tie-afteruse-receipt-v1-20260717t2101z-runtime-default
seed: house-curtain-tie-afteruse-20260717a
replay_path: lens/replays/house-curtain-tie-afteruse.default.replay.json
expected:
source_curtain_tie_visible: true
afteruse_caller_visible: true
false_afteruse_default_can_be_armed: true
durable_default_outcome_visible: true