Substitute Carrier Requisition Docket / 替代承载征调案卷

This docket records the selected service row that needs a substitute carrier and the candidate body, proof bridge, desk, receipt, relay, mask, or explicit absence being proposed.

It is used by 替代承载征调线 and 替代承载征调机制.

Card promise

The docket prevents the game from resolving a carrier collision with vague backup capacity. It must show:

  • which old row needs service;
  • why the original carrier cannot carry it cleanly;
  • who the owed reader is;
  • what minimum service is required;
  • what future consumer will read the result;
  • which substitute is being proposed;
  • why the substitute does or does not fit;
  • what cost or scar is accepted;
  • what default claim will harden if the docket is ignored.

Required payload

card: storyteller.card.substitute_carrier_requisition_docket.v1
requisition_id: <stable id>
source_service_row:
  source_row_id: <row id>
  source_surface: callback_carrier_collision | witness_carrier_discharge | consent_debt_transfer | protected_witness_payroll | live_floor_crew_load | equivalent
  original_carrier: <carrier id or explicit_absence>
  original_carrier_state: overdrawn | refused | captured | hostile | absent | scope_limited | quarantined | equivalent
  original_scope_limit_or_absence: <scope or explicit_absence>
  owed_reader: fan_public | lawful_reader | sponsor | archive | public_table | route_asset | worker | artist_boundary | broadcast_reality | equivalent
  minimum_service_surface: witness | delegate_signature | receipt | annex | route_asset_return | proof_window | floor_coverage | callback_notice | equivalent
  future_consumer: <route slot reader package proof window or broadcast reality surface>
candidate_substitute:
  candidate_id: <stable id or explicit_absence>
  candidate_class: low_rank_runner | public_witness_or_delegate | lawful_clerk_or_annex | editor_mask_or_checksum | pirate_relay | sponsor_or_management_proxy | explicit_absence | equivalent
  candidate_state_before: free | strained | protected | paid | hostile | captured | absent | overdrawn | quarantined | equivalent
  consent_or_authority: consented | proxy_only | lawful_only | public_only | sponsor_only | coerced | absent | unknown | equivalent
  proof_fit: exact | partial | wrong_reader | wrong_surface | unverifiable | masked | pirate_public | absent | equivalent
  protection_or_price: payroll | oath | public_receipt | lawful_annex | edit_mask | sponsor_clause | quarantine | delay | explicit_absence
fit_summary:
  reader_fit: exact | named_scope | public_only | lawful_only | sponsor_only | route_only | wrong_reader | blocked | recovery_only
  surface_fit: exact | partial | wrong_surface | absent
  carrier_fit: fit | strained | coerced | absent | unsafe | false_clean
  source_row_scope_preserved: true | false
default_if_unworked:
  false_clean_claim: substitute_served_all | proxy_spoke_for_all | receipt_clean_for_lawful | annex_clean_for_public | mask_clean_witness | pirate_lawful_mandate | absence_as_service | equivalent
  default_narrator: sponsor | management_table | archive | lawful_reader | public_table | route_claimant | broadcast_reality | equivalent
  hidden_reader_or_scope: <reader or scope>
  future_effect: contradiction_pending | hostile | blocked | recovery_only | broadcast_reality_drift | equivalent

UI affordance

The player-facing card should present three blocks:

  1. Old carrier problem — the row, original carrier, old scar, owed reader, and minimum service.
  2. Candidate fit — substitute class, authority, proof fit, protection or price, and scope.
  3. What breaks if accepted blindly — false clean claim, default narrator, hidden reader, and future effect.

Valid card states

card_states:
  drafted: candidate exists but fit not reviewed
  fit_tested: reader surface and carrier fit are visible
  assigned_for_named_scope: substitute accepted with scope and cost
  public_only: accepted only by public reader
  lawful_only: accepted only by lawful reader
  sponsor_only: accepted only by sponsor or management reader
  honest_absence: no substitute filed as service
  miscast_armed: false clean default armed
  resolved: future consumer received substitute state

Failure cases

The card is invalid if it lacks:

  • source row id;
  • original carrier state;
  • owed reader;
  • minimum service surface;
  • future consumer;
  • candidate or explicit absence;
  • fit summary;
  • protection, payment, authority, refusal, or explicit absence;
  • default false clean claim.

It also fails if it stores only backup assigned, handler busy, legal covered, sponsor paid, or public accepted.