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 | equivalentUI affordance
The player-facing card should present three blocks:
- Old carrier problem — the row, original carrier, old scar, owed reader, and minimum service.
- Candidate fit — substitute class, authority, proof fit, protection or price, and scope.
- 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 stateFailure 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.