Declined Offer Afteruse Receipt Lens

This lens checks that a preserved declined-offer receipt cannot later be spent as clean universal waiver, consent, settlement, or clearance unless offer-set source, decline status, reason, harmed offeror, bridge, after-state, and future effect remain visible.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_offer_set_visible: true
  selected_offer_visible: true
  declined_offer_receipt_visible: true
  declined_offer_status_visible: true
  decline_reason_or_explicit_absence_visible: true
  requested_afteruse_visible: true
  future_reader_consumes_declined_offer_state: true
  returning_or_harmed_offerer_visible_or_explicit_absence: true
  proof_bridge_visible_or_explicit_absence: 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_offer_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens fails if entry is driven by fixed turn, fixed day/week, raw offer count, dashboard state, lens health, or a prior declined offer row with no future reader trying to consume it.

Checks

1. Docket Preserves Offer, Reader, And Afteruse

declined_offer_afteruse_docket:
  source_offer_set: required
  selected_offer: required
  declined_offer_receipt: required
  declined_offer_status: required
  decline_reason_or_absence: required
  requested_afteruse: required
  future_reader_or_route: required
  harmed_or_returning_offerer: required
  proof_bridge_or_explicit_absence: required
  selected_afteruse_posture: required
  declined_offer_afteruse_state_after: required
  future_reader_or_route_effect: required
  counter_deltas: required

2. Review Branches Diverge

Required branch families:

  • certify_decline_scope;
  • restrict_declined_offer_afteruse_reader;
  • attach_counterbid_or_notice_bridge;
  • reopen_declined_offerer;
  • split_declined_offer_afteruse;
  • quarantine_declined_offer_afteruse;
  • false_declined_offer_afteruse_default;
  • future_effect_any.

3. Default Mutates Future Play

false_declined_offer_afteruse_default:
  false_clean_declined_offer_afteruse: true
  source_offer_set_or_absence: required
  hidden_or_overbroad_decline_scope: required
  capturing_reader_or_route: required
  harmed_or_returning_offerer: required
  declined_offer_afteruse_state_after: required
  future_reader_effect: required
  counter_deltas_min: 3
  durable_mutation: true

4. Runtime Rollup Status Is Explicit

This is a direct-wiki contract bound to an evaluator entry. Runtime source objects and durable replay can be added later if declined-offer afteruse becomes executable in the game-content rollup.