Seat Cushion Claim Tag Afteruse Receipt Lens

This lens checks that a lost-property seat cushion claim tag cannot later be spent as clean body-presence proof, sponsor comfort endorsement, accessibility substitution, archive seat-map custody, or broadcast reenactment consent unless the game preserves the original claim row, seat and claimant context, cited comfort scope, requested afteruse, harmed patron or explicit absence, proof bridge, selected posture, after-state, and future route effect.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_claim_tag_row_visible: true
  seat_or_explicit_absence_visible: true
  claimant_or_explicit_absence_visible: true
  comfort_policy_context_visible: true
  cited_comfort_scope_visible: true
  requested_afteruse_visible: true
  harmed_patron_visible_or_explicit_absence: true
  proof_bridge_or_explicit_absence_visible: true
  future_reader_consumes_claim_tag_state: true
  player_can_certify_restrict_bridge_reopen_split_quarantine_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_claim_tag_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens fails if entry is driven by fixed time, raw claim-tag totals, dashboard health, or a cushion tag with no named future reader trying to consume it.

Checks

1. Docket Preserves Claim Tag Custody And Afteruse

seat_cushion_claim_tag_docket:
  source_claim_tag_row: required
  seat_or_absence: required
  claimant_or_absence: required
  comfort_policy_context: required
  cited_comfort_scope: required
  requested_afteruse: required
  future_reader_or_route: required
  harmed_patron_or_absence: required
  proof_bridge_or_explicit_absence: required
  selected_claim_tag_posture: required
  claim_tag_afteruse_state_after: required
  future_reader_or_route_effect: required
  counter_deltas: required
  universal_clean_claim_tag: false

2. Review Branches Diverge

Required branch families:

  • certify_claim_tag_scope;
  • restrict_claim_tag_reader;
  • attach_usher_bridge;
  • reopen_harmed_patron;
  • split_comfort_from_presence_custody;
  • quarantine_claim_tag_afteruse;
  • false_claim_tag_default;
  • future_effect_any.

3. Default Mutates Future Play

false_seat_cushion_claim_tag_default:
  false_clean_claim_tag: true
  source_claim_tag_row_or_absence: required
  hidden_or_overbroad_comfort_scope: required
  capturing_reader_or_route: required
  harmed_patron_or_absence: required
  claim_tag_afteruse_state_after: false_clean_default
  future_reader_effect: recovery_only
  counter_deltas_min: 3
  durable_mutation: true

Replay Evidence

replay:
  session_id: lens-storyteller-lens-seat-cushion-claim-tag-afteruse-receipt-v1-20260711t0802z-certify-scope-v2
  seed: seat-cushion-claim-tag-20260711
  replay_path: lens/replays/seat-cushion-claim-tag-afteruse-receipt.certify-scope.replay.json
  durable_save: game-content/storyteller/sessions/lens-storyteller-lens-seat-cushion-claim-tag-afteruse-receipt-v1-20260711t0802z-certify-scope-v2
  selected_rite: storyteller.rite.seat_cushion_claim_tag_afteruse_review.v1
  selected_branch: certify_claim_tag_scope
  future_effect: future_route.named_scope_required

Progress Metric

Satisfied when the sibling TypeScript binding, focused card/rite/event content, and a lens-scoped durable replay show one selected branch changing named counters and future route state without treating a seat cushion claim tag as universal body-presence proof, sponsor endorsement, accessibility substitution, archive extraction, or broadcast reenactment consent.