Audience Survey Pencil Afteruse Receipt Lens

This lens checks that a prior audience survey pencil cannot be consumed later as universal survey, fan-oxygen, or artist-safety authority after the pencil batch, signer, reheating route, respondent list, or usher tally witness has changed.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_audience_survey_pencil_visible: true
  pencil_batch_id_or_absence_visible: true
  original_service_span_visible: true
  original_survey_steward_visible: true
  original_survey_sheet_version_visible: true
  requested_afteruse_service_visible: true
  afteruse_caller_visible: true
  current_survey_sheet_version_or_absence_visible: true
  current_survey_steward_or_absence_visible: true
  displaced_guest_or_usher_tally_witness_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: true

Checks

1. Docket Separates Prior Audience Survey Pencil From Current Service Authority

audience_survey_pencil_afteruse_docket:
  surveyRows: required
  source_pencil_tag: required
  pencil_batch_id_or_absence: required
  original_service_span: required
  original_survey_steward: required
  original_survey_sheet_version: required
  requested_afteruse_service: required
  afteruse_caller: required
  current_survey_sheet_version_or_absence: required
  current_survey_steward_or_absence: required
  displaced_guest_or_usher_tally_witness: required
  proof_bridge_or_absence: required
  selected_afteruse_posture: required
  future_route_effect: required

2. Review Branches Diverge

Required branch families:

  • certify_current_survey_steward;
  • attach_audience_survey_pencil_afteruse_receipt;
  • split_original_and_later_audience_survey_table_readers;
  • require_editor_checksum_before_reuse;
  • publish_usher_tally_witness_notice;
  • quarantine_pencil_tag_afteruse_claim;
  • false_clean_pencil_default;
  • future_effect_any.

3. False-Clean Default Mutates Future Play

false_clean_pencil_default:
  stale_pencil_claim: true
  state_before_resolution: false_clean_pending
  terminal_state_exactly_one:
    - false_clean_survey_route
    - caption_liaison_notice_required
    - recovery_only
  future_route_effect_exactly_one:
  # alias: future_gate_effect_exactly_one
    - audience_survey_pencil_afteruse_route_costlier
    - audience_survey_pencil_editor_checksum_required
    - audience_survey_pencil_afteruse_recovery_only
  counter_deltas_min: 3
  durable_mutation: true

Evidence Shape

Playable satisfaction is now backed by focused game content, the runtime test lens/storyteller-audience-survey-pencil-afteruse.runtime.test.ts, and the lens-scoped durable session exported to lens/replays/storyteller-lens-audience-survey-pencil-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.