Box Office Cash Drawer Key Afteruse Receipt Lens
This lens checks that a prior box-office cash-drawer key receipt cannot be consumed later as universal custody-chain authority after the dock span, dock-line map version, custody captain, caller, scene, or displaced operator has changed.
Entry Oracle
entry_state:
trigger_kind: state_pressure
source_box_office_cash_drawer_key_visible: true
key_inventory_id_or_absence_visible: true
original_bay_span_visible: true
original_custody_captain_visible: true
original_custody_chain_map_version_visible: true
requested_afteruse_scene_visible: true
afteruse_caller_visible: true
current_custody_chain_map_version_or_absence_visible: true
current_custody_captain_or_absence_visible: true
displaced_operator_or_operator_visible_or_absence: true
proof_bridge_or_absence_visible: true
player_can_certify_attach_split_checksum_notice_quarantine_or_default: true
no_fixed_turn_trigger: true
no_dashboard_or_lens_health_trigger: trueChecks
1. Docket Separates Prior Cash Drawer Key Receipt From Current Box Office Authority
box_office_cash_drawer_key_afteruse_docket:
dockLineRouteRows: required
source_key_receipt: required
key_inventory_id_or_absence: required
original_bay_span: required
original_custody_captain: required
original_custody_chain_map_version: required
requested_afteruse_scene: required
afteruse_caller: required
current_custody_chain_map_version_or_absence: required
current_custody_captain_or_absence: required
displaced_operator_or_operator: required
proof_bridge_or_absence: required
selected_afteruse_posture: required
future_route_effect: required2. Review Branches Diverge
Required branch families:
certify_current_custody_captain;attach_box_office_cash_drawer_key_afteruse_receipt;split_original_and_later_box_office_readers;require_editor_checksum_before_reuse;publish_operator_notice;quarantine_key_afteruse_claim;false_clean_key_default;future_effect_any.
3. False-Clean Default Mutates Future Play
false_clean_key_default:
stale_key_claim: true
state_before_resolution: false_clean_pending
terminal_state_exactly_one:
- false_clean_custody_chain_route
- operator_notice_required
- recovery_only
future_gate_effect_exactly_one:
- box_office_cash_drawer_key_afteruse_route_costlier
- box_office_cash_drawer_key_editor_checksum_required
- box_office_cash_drawer_key_afteruse_recovery_only
counter_deltas_min: 3
durable_mutation: trueEvidence Shape
Playable satisfaction is now backed by focused game content, the runtime test lens/storyteller-box-office-cash-drawer-key-afteruse.runtime.test.ts, and the lens-scoped durable session lens-storyteller-lens-box-office-cash-drawer-key-afteruse-receipt-v1-20260721t0923z-runtime-v1 exported to lens/replays/storyteller-lens-box-office-cash-drawer-key-afteruse-receipt-v1.replay.json with seed 20260721.
The runtime proof exercises all seven review branches, verifies the false-clean default arms the follow-up event, and checks that each default resolution clears pending flags while leaving exactly one durable terminal state and one matching future route effect.