Declined Offer Receipt Docket / 未采纳报价回执案卷
Declined Offer Receipt Docket is the card that appears when the player resolves a contested desk choice but the unchosen offers still have teeth.
It exists because many Storyteller branches now correctly produce relief and cost. The remaining exploit is subtler: a replay can show the selected branch while losing the rejected sponsor offer, archive lien, fan oxygen demand, public receipt, or schedule claim that made the choice meaningful. This docket makes the table of live offers an in-world object.
The card does not log every menu option. It records only offers made by factions, desks, claimants, handlers, route assets, or proof holders that would have changed later play if accepted.
Exact runtime object and local authority
game-content/storyteller/cards/declined-offer-receipt-docket.json5 implements storyteller.card.declined_offer_receipt_docket.v1.
Its authority is local and exact:
localAuthorityOnly: true
authorityBoundary:
tracksPreselectionMaterialOfferContinuityOnly: true
requiresFutureReaderForMaterialDeclinedOffer: true
preservesSelectedAndDeclinedOfferScopes: true
grantsConsent: false
grantsWaiver: false
grantsSettlement: false
grantsRouteClearance: false
grantsArchiveRelease: false
grantsProofTruth: false
grantsSponsorAuthority: false
grantsFanAuthority: false
grantsInspectorAuthority: false
grantsEditorAuthority: false
grantsUniversalBroadcastAuthority: falseThe docket preserves material offer continuity at selection-time. It does not authorize later reuse; that distinct surface belongs to Declined Offer Afteruse Receipt.
When this card enters
Add or update this card when all of the following are true:
entry_state:
trigger_kind: state_pressure
contested_surface_present: true
offered_choice_count_min: 2
offers_have_distinct_relief_and_cost: true
selected_offer_present: true
declined_offer_can_mutate_future_play: true
future_reader_or_route_present: true
no_fixed_turn_trigger: trueValid contested surfaces include oxygen settlement, schedule preemption, public contrition, archive custody, route-asset release, management compression, faction commitment, scar convergence, proof carryover, or equivalent.
Required card fields
declined_offer_receipt_docket:
card: storyteller.card.declined_offer_receipt_docket.v1
contested_surface_id: <ledger_or_route_or_proof_or_slot_id>
source_storyline_or_mechanic: oxygen_claim_exchange | schedule_preemption | management_compression | faction_commitment | scar_convergence | route_asset_custody | equivalent
offer_set_id: <stable id>
selected_offer_id: <offer id>
selected_offer_effect:
relief: <counter_or_state_delta>
cost: <counter_or_state_delta>
future_route_effect: <effect>
declined_offers:
- offer_id: <stable id>
offered_by: sponsor | fan_public | archive | inspector | editor | artist | pirate | schedule_board | management | handler | route_asset | equivalent
proposed_relief: <what the offer would have improved>
demanded_control_or_cost: <what the offer demanded>
proof_or_collateral: <receipt | lien | seal | queue | checksum | slot | handler | explicit_absence>
why_declined: incompatible_with_selected | no_proof | too_much_capture | public_harm | consent_violation | schedule_loss | oxygen_debt | archive_debt | equivalent
receipt_status: acknowledged | deferred | countercredited | published | voided | ignored
future_reader: <route_or_desk_or_claimant>
afterbid_risk: hostile_afterbid | coalition_offer | public_objection | sponsor_retaliation | archive_freeze | schedule_surcharge | recovery_only | noneOffer families
| Offer family | What it usually relieves | What the declined receipt must preserve |
|---|---|---|
| Sponsor settlement | stop-loss, slot pressure, budget strain | demanded wording, capture, future correction cost, public distrust |
| Fan oxygen/public receipt | legitimacy, fan balance, public grief | sponsor retaliation, witness exposure, schedule occupation, archive pressure |
| Archive or inspector lien | custody clarity, admissibility, false-owner risk | audience churn, schedule delay, bureau favor debt, fan resentment |
| Schedule slot claim | encounter availability, lawful airing, route debut | displaced route state, hostile claimant, recovery-only window |
| Edit or checksum offer | continuity, voice legibility, drift control | source ambiguity, edit debt, proof quarantine, public distrust |
| Management clean-report offer | metric relief, license relief, sponsor confidence | false-clean debt, hidden scar, future route surcharge |
| Pirate/public breach | hidden claim visibility, public pressure | relay custody risk, inspection heat, sponsor retaliation |
Play affordance
The card should make at least three actions visible after the main branch resolves:
- acknowledge a declined offer with a receipt and pay small future cost;
- defer or countercredit a declined offer so it becomes a future reader instead of a hostile default;
- void a declined offer with proof, or choose
ignore_afterbidand exclusively arm the afterbid, coalition, or recovery-only default gate.
Counter surfaces
Expected deltas include:
declined_offer_pressurefuture_route_costsponsor_stop_loss_pressurecontract_capturefan_oxygen_resentmentpublic_receipt_legitimacypublic_receipt_distrustarchive_debtarchive_signature_legitimacyinspection_heatschedule_pressureoff_slot_debtroute_asset_pressurehandler_burdencoalition_pressurerecovery_only_window
Non-goals
- Not a UI choice log.
- Not a generic reputation tracker.
- Not a dashboard or test-harness page.
- Not a fixed-turn callback.
- Not valid if the declined offer cannot affect a later route, counter, claimant, or reader.