Substitute Carrier Afteruse Receipt Lens

This lens checks that a substitute carrier accepted by a requisition cannot later be spent as universal carrier authority.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_requisition_row_present: true
  substitute_carrier_service_completed_or_claimed: true
  original_carrier_scar_visible_or_explicit_absence: true
  substitute_scope_visible: true
  later_reader_or_route_consumes_substitute_state: true
  player_can_receipt_restrict_release_convert_quarantine_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_carrier_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens fails if entry is driven by a fixed turn, fixed day/week, raw carrier count, dashboard state, or lens-health state.

Checks

1. Docket Preserves Source And Afteruse Scope

substitute_carrier_afteruse_docket:
  source_requisition_row: required
  original_service_row: required
  original_carrier_or_absence: required
  substitute_carrier: required
  substitute_authority_surface: required
  completed_service_scope: required
  later_afteruse_claim: required
  later_reader_or_route: required
  owed_or_harmed_reader_or_absence: required
  selected_afteruse_posture: required
  substitute_state_after: required
  original_scar_state_after: required
  future_route_effect: required
  counter_deltas: required

2. Review Branches Diverge

Required branch families:

  • certify_named_scope_receipt;
  • restrict_afteruse_reader;
  • release_original_carrier_scar;
  • convert_to_callback_or_recourse;
  • quarantine_substitute_afteruse;
  • publicize_substitute_debt;
  • false_clean_substitute_afteruse_default;
  • future_effect_any.

3. Default Mutates Future Play

false_clean_substitute_afteruse_default:
  false_clean_afteruse: true
  source_requisition_row: required
  substitute_carrier: required
  hidden_original_scar_or_absence: required
  hidden_scope_or_reader: required
  default_narrator: 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 the substitute-carrier afteruse lane becomes executable in the game-content rollup.