Stage Makeup Remover Wipe Afteruse Receipt Lens

This lens checks that a used stage makeup remover wipe cannot later be consumed as universal clean identity, consent, custody, sponsor immunity, or memorial witness authority unless the game preserves source wipe, artist chair or explicit absence, makeup chart, residue swab, requested afteruse, future reader, selected posture, after-state, and future route effect.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_wipe_visible: true
  artist_chair_or_explicit_absence_visible: true
  makeup_chart_visible: true
  residue_swab_visible: true
  requested_afteruse_visible: true
  future_reader_consumes_wipe_state: true
  player_can_certify_bind_reopen_split_quarantine_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_wipe_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

Checks

1. Docket Preserves Cleanup Provenance

stage_makeup_remover_wipe_docket:
  source_wipe: required
  artist_chair_or_absence: required
  makeup_chart: required
  residue_swab: required
  requested_afteruse: required
  future_reader_or_route: required
  selected_wipe_posture: required
  wipe_afteruse_state_after: required
  future_reader_or_route_effect: required
  counter_deltas: required
  universal_clean_face: false

2. Review Branches Diverge

Required branch families:

  • certify_cosmetic_scope;
  • bind_artist_consent;
  • reopen_residue_trace;
  • split_cosmetic_from_identity_custody;
  • quarantine_wipe_afteruse;
  • false_clean_face_default;
  • future_effect_any.

Each branch must name relief, cost, counters, and future route effects.

3. Default Mutates Future Play

false_stage_makeup_remover_wipe_default:
  false_clean_face: true
  source_wipe_or_absence: required
  hidden_or_overbroad_identity_scope: required
  capturing_reader_or_route: required
  residue_swab_or_absence: required
  wipe_afteruse_state_after: false_clean_default
  future_reader_effect: recovery_only
  counter_deltas_min: 3
  durable_mutation: true

Progress Metric

Satisfied when the sibling TypeScript binding, focused card/rite/event content, runtime Jest assertions, and a lens-scoped durable replay show one selected branch changing named counters and future route state without treating the remover wipe as universal clean identity, consent, custody, sponsor immunity, or memorial witness authority.