Declined Offer Reconciliation / 未采纳报价复核
Declined Offer Reconciliation is the assignable rite for deciding what happens to the offers the producer did not take.
It is used after a state-pressure choice resolves and at least one declined offer still has a future reader. The rite prevents a selected branch from erasing the alternative sponsor, fan, archive, schedule, public, edit, or management claim that made the decision costly.
Exact runtime branch oracle
game-content/storyteller/rites/declined-offer-reconciliation.json5 implements storyteller.rite.declined_offer_reconciliation.v1 with exactly these six option/state/future triples:
| Option ID | stateAfter | futureRouteEffect |
|---|---|---|
acknowledge_receipt | declined_offer_acknowledged | reader_requires_declined_offer_receipt |
defer_obligation | declined_offer_deferred | declined_offer_hearing_required |
countercredit_offer | declined_offer_countercredited | narrow_route_or_split_reader_required |
publish_offer_table | declined_offer_published | public_offer_table_required |
void_offer_with_proof | declined_offer_voided | void_proof_must_travel_with_route |
ignore_afterbid | declined_offer_ignored_pending_afterbid | unanswered_offer_afterbid_pending |
The first five branches resolve declined_offer_receipts.reconciliation_resolved without arming the default. Only ignore_afterbid sets declined_offer_receipts.state.declined_offer_ignored_pending_afterbid and the four-part pending gate declined_offer_receipts.afterbid_pending, event.unanswered_offer_afterbid.armed, future_route.unanswered_offer_afterbid_pending, and broadcast_reality.declined_offer_erased_from_choice_history.
Required inputs
rite: storyteller.rite.declined_offer_reconciliation.v1
requires:
docket: storyteller.card.declined_offer_receipt_docket.v1
contested_surface_id: <ledger_or_route_or_proof_or_slot_id>
selected_offer_id: <offer id>
declined_offer_id: <offer id>
offered_by: sponsor | fan_public | archive | inspector | editor | artist | pirate | schedule_board | management | handler | route_asset | equivalent
proposed_relief: <what the declined offer would have improved>
demanded_control_or_cost: <what the declined offer demanded>
why_declined: incompatible_with_selected | no_proof | too_much_capture | public_harm | consent_violation | schedule_loss | oxygen_debt | archive_debt | equivalent
handler_or_absence: shen_luo | yu_lan | han_yanshuang | baiya | inspector | archive_clerk | fan_coordinator | schedule_clerk | explicit_absence | equivalent
proof_or_counterweight_or_absence: public_receipt | sponsor_clause | archive_seal | fan_queue | edit_checksum | route_asset | schedule_receipt | explicit_absence | equivalent
future_reader: <route_or_desk_or_claimant>The rite fails if the declined offer is only noted as flavor. It must name who offered it, what relief it would have given, what it demanded, why it was rejected, who records the rejection, and which future reader can use or punish that receipt.
Branch families
Branch A — Acknowledge with receipt
The player records the declined offer as valid but not chosen.
Expected outcome:
receipt_status: acknowledged
relief: hostile_afterbid_risk_down | future_reader_clarity_up
cost: future_route_cost_up | claimant_pressure_up | handler_burden_up
future_route_effect: costlier_but_open | reader_requires_receiptBranch B — Defer with dated obligation
The player delays the declined offer into a named future reader.
Expected outcome:
receipt_status: deferred
relief: current_surface_stabilized | immediate_conflict_down
cost: schedule_pressure_up | future_claim_cost_up | bureau_or_sponsor_or_fan_debt_up
future_route_effect: deferred_hearing_required | route_costlierBranch C — Countercredit
The player gives the declined offer partial credit, substitute proof, or a smaller route.
Expected outcome:
receipt_status: countercredited
relief: claimant_hostility_down | coalition_pressure_down
cost: route_narrowness_up | proof_debt_up | public_or_archive_ambiguity_up
future_route_effect: narrow_route_open | split_reader_requiredBranch D — Publish the offer table
The player makes the selected and declined offers public, lawful, fan-facing, or archive-visible.
Expected outcome:
receipt_status: published
relief: public_receipt_legitimacy_up | private_capture_down
cost: sponsor_stop_loss_pressure_up | inspection_heat_up | witness_or_handler_exposure_up
future_route_effect: public_table_required | retaliation_armedBranch E — Void the offer with proof
The player proves the declined offer was invalid, expired, fraudulent, impossible, or unsupported.
Expected outcome:
receipt_status: voided
relief: afterbid_risk_down | false_claim_down
cost: proof_spent | archive_or_edit_debt_up | claimant_hostility_up
future_route_effect: void_cited_by_future_reader | hostile_claim_possibleBranch F — Ignore and let afterbid form
The player hides, forgets, or underfills the declined offer receipt.
Expected outcome:
receipt_status: ignored
emitted_or_armed_event: storyteller.event.unanswered_offer_afterbid.v1
cost: hostile_afterbid_up | coalition_pressure_up | future_route_cost_up
future_route_effect: blocked | costlier | hostile | sponsor_only | lawful_only | public_only | recovery_onlyResolution contract
Every resolution must mutate at least three surfaces:
- one relief surface for the current route or future reader clarity;
- one cost surface created by the declined offer;
- one future route, claimant, reader, or custody state.
Valid surfaces include:
declined_offer_pressurefuture_route_costclaimant_pressurehostile_afterbid_riskcoalition_pressuresponsor_stop_loss_pressurecontract_capturefan_oxygen_resentmentpublic_receipt_legitimacypublic_receipt_distrustarchive_debtinspection_heatschedule_pressureoff_slot_debtroute_asset_pressurehandler_burdenrecovery_only_window
Replay evidence shape
rite: storyteller.rite.declined_offer_reconciliation.v1
session_id: lens-declined-offer-receipts-v1-<timestamp>
seed: <deterministic-seed>
assignment:
docket: storyteller.card.declined_offer_receipt_docket.v1
contested_surface_id: <id>
selected_offer_id: <id>
declined_offer_id: <id>
offered_by: <faction_or_actor>
proposed_relief: <relief>
demanded_control_or_cost: <cost>
why_declined: <reason>
handler_or_absence: <handler_or_absence>
proof_or_counterweight_or_absence: <proof_or_absence>
future_reader: <reader>
branch_result:
selected_branch: acknowledge_receipt | defer_obligation | countercredit_offer | publish_offer_table | void_offer_with_proof | ignore_afterbid
receipt_status_after: <status>
event_seen_or_armed: storyteller.event.unanswered_offer_afterbid.v1 | none
future_route_effect: <effect>
counter_deltas: {}Non-goals
- Not a generic aftermath meeting.
- Not a fixed upkeep action.
- Not a UI option audit.
- Not valid if the selected offer is recorded but the declined offer has no future reader.
- Not valid if famous handlers can erase declined claims without proof, cost, and future effect.