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: true

The 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: required

2. 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: true

4. 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