Aisle-Light Fuse Afteruse Receipt Lens

This lens checks that a circuit-assignment tag from one aisle-flow correction cannot be consumed later as clean current authority after the fuse inventory row, circuit-map version, cue schedule, responsible electrician, or displaced patron has changed. The observable object is circuitAttributionRows, not rosin-cloth cleanliness and not the physical fuse/clip or performer-control cue.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_aisle_light_fuse_visible: true
  source_tag_is_circuit_attribution_not_physical_fuse: true
  fuse_inventory_id_or_absence_visible: true
  original_aisle_row_visible: true
  original_house_electrician_visible: true
  original_circuit_or_absence_visible: true
  original_desk_or_cue_visible: true
  original_circuit_map_version_visible: true
  requested_afteruse_visible: true
  afteruse_caller_visible: true
  circuit_change_or_absence_visible: true
  current_circuit_or_absence_visible: true
  current_circuit_map_version_or_absence_visible: true
  current_electrician_or_absence_visible: true
  current_cue_schedule_or_absence_visible: true
  displaced_patron_visible_or_absence: true
  future_aisle_consumes_fuse_state: true
  rosin_cloth_cannot_substitute_for_circuit_attribution: true
  physical_fuse_clip_cannot_substitute_for_electrician_authority: 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_aisle_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

Checks

1. Docket Separates Prior Aisle-Light Fuse From Current Aisle Authority

aisle_light_fuse_afteruse_docket:
  circuitAttributionRows: required
  row_fields:
    source_aisle_light_fuse: required
    fuse_inventory_id_or_absence: required
    original_aisle_row: required
    original_desk_or_cue: required
    original_house_electrician: required
    original_circuit_or_absence: required
    original_circuit_map_version: required
    current_circuit_or_absence: required
    current_circuit_map_version_or_absence: required
    current_electrician_or_absence: required
    current_cue_schedule_or_absence: required
    aisle_light_fuse_state_before: required
  requested_afteruse: required
  afteruse_caller: required
  circuit_change_or_absence: required
  proof_bridge_or_absence: required
  blocked_patron: required
  selected_afteruse_posture: required
  aisle_light_fuse_afteruse_state_after: required
  future_gate_or_route_effect: required
  counter_deltas: required

2. Review Branches Diverge

Required branch families:

  • certify_current_aisle_electrician;
  • attach_aisle_light_fuse_afteruse_receipt;
  • split_original_and_afteruse_aisle_electricians;
  • reopen_aisle_safety_hearing;
  • publish_circuit_change_notice;
  • quarantine_aisle_light_fuse_afteruse_claim;
  • false_aisle_light_fuse_afteruse_default;
  • future_effect_any.

The six clean branches must expose exactly one of these evidence-specific effects:

  • aisle_light_fuse_current_electrician_certification_available;
  • aisle_light_fuse_afteruse_requires_notice;
  • aisle_light_fuse_electrician_split_required_before_recap;
  • aisle_light_fuse_attribution_hearing_blocks_clean_afteruse;
  • aisle_light_fuse_circuit_change_notice_required_before_reuse;
  • aisle_light_fuse_claim_quarantined_until_bridge.

The default branch may set only false_claim_pending as its aisle-light-fuse state. It may arm future_route.false_aisle_light_fuse_afteruse_default_pending, but it may not preselect any terminal state.

3. Default Mutates Future Play

false_aisle_light_fuse_afteruse_default:
  false_clean_fuse_claim: true
  source_aisle_light_fuse_or_absence: required
  hidden_or_stale_aisle_conflict: required
  false_claim_caller: required
  blocked_patron: required
  state_before_resolution: false_claim_pending
  stable_options:
    - record_house_electrician_false_claim
    - force_public_circuit_notice
    - restore_blocked_patron
  terminal_state_exactly_one:
    - false_clean_aisle
    - circuit_change_notice_required
    - recovery_only
  future_gate_effect_exactly_one:
    - aisle_light_fuse_afteruse_route_costlier
    - aisle_light_fuse_public_notice_required_after_false_afteruse
    - aisle_light_fuse_afteruse_recovery_only
  counter_deltas_min: 3
  durable_mutation: true

4. 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. The replay must exercise the default event itself: selecting rite choice 6 and merely arming the event does not demonstrate a durable outcome.

5. Durable Replay Evidence

lens_id: storyteller.lens.aisle_light_fuse_afteruse_receipt.v1
session_id: lens-storyteller-lens-aisle-light-fuse-afteruse-receipt-v1-20260720t0632z-runtime-default
seed: aisle-light-fuse-afteruse-20260717b
replay_path: lens/replays/aisle-light-fuse-afteruse.default.replay.json
expected:
  source_aisle_light_fuse_visible: true
  afteruse_caller_visible: true
  false_afteruse_default_can_be_armed: true
  default_event_choice_recorded: true
  default_event_resolved_flag: true
  false_claim_pending_cleared: true
  pending_default_flags_cleared: true
  default_event_not_left_unresolved: true
  exactly_one_terminal_state_visible: true
  exactly_one_terminal_future_effect_visible: true

The accepted final state clears aisle_light_fuse.state.false_claim_pending, aisle_light_fuse.default_pending, event.false_aisle_light_fuse_afteruse_default.armed, and future_route.false_aisle_light_fuse_afteruse_default_pending; sets event_resolved.storyteller.event.false_aisle_light_fuse_afteruse_default.v1; and preserves exactly one selected terminal state plus its one aisle-light-fuse-prefixed future-route effect.