Reader Recusal Afteruse Receipt Lens
This lens checks that a prior reader-recusal result cannot be consumed as current clean neutral authority after the proof row, reader, conflict, interest, or harmed reader has changed.
Entry Oracle
entry_state:
trigger_kind: state_pressure
source_recusal_row_visible: true
original_decision_row_visible: true
original_requesting_reader_visible: true
original_conflict_or_explicit_absence_visible: true
neutral_reader_or_explicit_absence_visible: true
requested_afteruse_visible: true
afteruse_reader_visible: true
interest_change_or_explicit_absence_visible: true
harmed_or_excluded_reader_visible_or_explicit_absence: true
future_reader_consumes_recusal_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_reader_count_trigger: true
no_dashboard_or_lens_health_trigger: trueThe lens fails if entry is driven by fixed turn, fixed day/week, raw reader count, dashboard state, lens health, or a prior recusal row with no future reader trying to consume it.
Checks
1. Docket Separates Prior Recusal From Current Authority
reader_recusal_afteruse_docket:
source_recusal_row: required
original_decision_row: required
original_requesting_reader: required
original_conflict_or_absence: required
neutral_reader_or_absence: required
recusal_state_before: required
requested_afteruse: required
afteruse_reader: required
interest_change_or_absence: required
proof_bridge_or_absence: required
harmed_or_excluded_reader: required
selected_afteruse_posture: required
recusal_afteruse_state_after: required
future_reader_or_route_effect: required
counter_deltas: required2. Review Branches Diverge
Required branch families:
certify_current_neutral_reader;attach_recusal_afteruse_receipt;split_original_and_afteruse_readers;reopen_conflict_hearing;publish_interest_change_notice;quarantine_recusal_afteruse_claim;false_recusal_afteruse_default;future_effect_any.
3. Default Mutates Future Play
false_recusal_afteruse_default:
false_clean_recusal_claim: true
source_recusal_row_or_absence: required
hidden_or_stale_reader_conflict: required
capturing_reader: required
harmed_or_excluded_reader: required
recusal_afteruse_state_after: required
future_reader_effect: required
counter_deltas_min: 3
durable_mutation: true4. Runtime Rollup Status Is Explicit
This lens is now executable in the game-content rollup. 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.reader_recusal_afteruse_receipt.v1
session_id: lens-storyteller-lens-reader-recusal-afteruse-receipt-v1-20260715t0314z-runtime-default
seed: reader-recusal-afteruse-20260715e
replay_path: lens/replays/reader-recusal-afteruse.default.replay.json
expected:
source_recusal_row_visible: true
afteruse_reader_visible: true
false_afteruse_default_can_be_armed: true
durable_default_outcome_visible: true