Declined Offer Receipts / 未采纳报价回执线
Declined Offer Receipts is a pressure-system storyline for the aftermath of a meaningful management choice.
Storyteller already makes selected branches costly. The next gap is that unchosen but material offers can vanish after the selected branch resolves. A sponsor offer not chosen, an archive lien not accepted, a fan oxygen receipt not published, a schedule claim not awarded, an edit checksum not used, or a management clean-report not filed may still have a future reader. This storyline makes those declined offers durable.
Primary playable question
After the producer chooses one offer, which rejected offers receive receipts, which are deferred or countercredited, which are publicly tabled or voided, and which return later as afterbids?
The answer must change future play. A declined offer that cannot affect a later route, desk, claimant, proof object, or schedule reader does not belong in this storyline.
Why this expansion is high-value
The current green mesh is strong locally:
- Oxygen Claim Exchange Storyline makes one wound payable through sponsor, fan, archive, public, pirate, and default paths.
- 档期抢占认领线 makes finite schedule surfaces displace losing claims.
- 派系承诺账本 makes faction leverage finite.
- 经营压缩台 prevents one costly success from becoming a clean metric.
- 伤痕汇流台线 prevents a scarred stabilizer from becoming clean across old histories.
The fresh gap is offer-set continuity. Existing systems can show the chosen result, but a future route often needs to know what was refused. Without this storyline, a replay can fake branch consequence by proving only the selected path and deleting the opportunity cost.
Declined Offer Afteruse Receipt handles the downstream seam after this line has already preserved a declined offer: a later reader may cite the receipt as clean waiver, consent, settlement, schedule clearance, archive release, management cleanliness, route proof, or ending eligibility. The non-overlap is exact: this lane preserves the offer at selection-time; afteruse governs later reuse.
Exact runtime binding
The executable packet is game-content/storyteller/cards/declined-offer-receipt-docket.json5 (storyteller.card.declined_offer_receipt_docket.v1), game-content/storyteller/rites/declined-offer-reconciliation.json5 (storyteller.rite.declined_offer_reconciliation.v1), and game-content/storyteller/events/unanswered-offer-afterbid.json5 (storyteller.event.unanswered_offer_afterbid.v1). lens/storyteller-declined-offer-receipts.runtime.test.ts proves all six rite branches and all three event terminals; lens/replays/declined-offer-receipts.replay.json preserves the three-action harmful path.
Content pack
Mechanic
- 未采纳报价回执机制 — preserves material unchosen offers and turns missing receipts into afterbid pressure.
Card
- 未采纳报价回执案卷 — stores the offer set, selected offer, declined offers, reasons, receipt statuses, future readers, and afterbid risks.
Rite
- 未采纳报价复核 — assigns handler/proof/absence and resolves each material declined offer.
Event
- 未答报价追喊 — fires or arms when a material declined offer is ignored, hidden, underfilled, or falsely voided.
State-triggered entry
Open this storyline when all of the following are true:
entry_state:
trigger_kind: state_pressure
contested_surface_present: true
source_surface_any:
- oxygen_claim_exchange
- schedule_preemption
- faction_commitment
- management_compression
- scar_convergence
- route_asset_custody
- public_contrition
- archive_custody
- equivalent
offer_set_visible: 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
player_can_reconcile_or_record_absence: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_count_trigger: trueThe storyline never opens from fixed turn count, calendar interval, chapter quota, raw offer count, dashboard status, or lens health.
Storyline spine
Beat 1 — A contested surface receives multiple offers
A payable wound, schedule slot, route asset, public receipt, archive custody row, management report, faction commitment, or scarred stabilizer receives at least two material offers.
Each offer names its offered relief and demanded control or cost.
Examples:
- sponsor escrow can stabilize a slot but demands private wording;
- fan public receipt can improve legitimacy but exposes sponsor and archive pressure;
- archive lien can protect proof but delays oxygen payment;
- schedule award can unlock one route while making another hostile;
- edit checksum can reduce drift while increasing edit debt;
- management clean-report can lower sponsor pressure while hiding a scar.
Beat 2 — The player selects one offer
The selected offer resolves the immediate branch. It must still carry relief, cost, and future effect.
Beat 3 — The docket preserves material declined offers
Create or update 未采纳报价回执案卷.
The docket records only declined offers with future readers. It does not store inert menu options.
Beat 4 — The player reconciles or neglects the declined offer
Run 未采纳报价复核 for at least one material declined offer.
The player may:
- acknowledge the offer with a receipt;
- defer it into a dated obligation;
- countercredit it with substitute proof or narrower route;
- publish the offer table;
- void it with proof;
- ignore it and let afterbid pressure form.
Beat 5 — A future reader consumes the receipt or afterbid
The storyline is not complete until a later route, desk, claimant, proof object, public table, archive reader, schedule surface, or route asset reads the receipt state.
Valid future effects include:
- costlier but open route;
- deferred hearing required;
- split reader required;
- public table required;
- retaliation armed;
- hostile afterbid;
- coalition offer;
- schedule surcharge;
- archive freeze;
- proof quarantine;
- sponsor-only, lawful-only, public-only, or recovery-only gate.
Branch map
| Branch | Immediate relief | Cost/scar | Future route effect |
|---|---|---|---|
| Acknowledge receipt | afterbid risk or ambiguity falls | claimant pressure, handler burden, future route cost | costlier but open; receipt required |
| Defer obligation | current surface remains stable | schedule, sponsor, archive, fan, or bureau debt rises | later hearing or surcharge required |
| Countercredit | hostility or coalition pressure falls | route narrowness, proof debt, ambiguity rises | narrow route or split reader required |
| Publish table | private capture falls; public legitimacy rises | sponsor pressure, inspection heat, witness exposure | public/lawful table required; retaliation armed |
| Void with proof | false claim or afterbid risk falls | proof spent, archive/edit debt, claimant hostility | void citable; hostile claim possible |
| Ignore afterbid | no immediate reconciliation cost | afterbid, coalition, freeze, surcharge, or recovery-only pressure rises | blocked, costlier, hostile, sponsor-only, lawful-only, public-only, or recovery-only |
Character and desk hooks
- Shen Luo can acknowledge or defer sponsor/management offers, but contract capture or handler burden rises.
- Yu Lan can publish a table or countercredit a fan/public offer, but exposure and sponsor retaliation rise.
- Han Yanshuang can void or defer through lawful proof, but inspection heat and bureau debt rise.
- Baiya can countercredit with checksum or edit proof, but edit debt and source ambiguity rise.
Named handlers must mutate receipt status, proof state, future reader, or cost. They cannot erase declined offers by authority alone.
Integration notes
- With Oxygen Claim Exchange Storyline, declined sponsor, fan, archive, pirate, or default settlement offers become receipt rows.
- With 档期抢占认领线, displaced slot claims can become acknowledged displacement receipts or schedule afterbids.
- With 派系承诺账本, declined commitments preserve what the faction spent and what control it demanded.
- With 经营压缩台, declined report language can later become metric capture or public scar pressure.
- With 伤痕汇流台线, declined stabilizer solutions can become future reader contradictions rather than disappearing.
Missability and recovery
The storyline is missed when implementation:
- records only the selected offer;
- treats unchosen offers as UI history instead of in-world pressure;
- lets a declined offer with a future reader disappear;
- omits offered relief, demanded cost, reason declined, receipt status, or future reader;
- voids an offer without proof;
- ignores a declined offer without afterbid risk;
- triggers from fixed turn, day, week, raw count, dashboard, or lens health.
Recovery is allowed only through visible cost:
- late acknowledgement with surcharge;
- public offer-table publication with retaliation;
- archive or inspection proof to void a false afterbid;
- schedule displacement receipt;
- fan oxygen compensation;
- sponsor carve-out;
- route split or quarantine;
- recovery-only route.
Replay evidence expectation
storyline_id: storyteller.storyline.declined_offer_receipts.v1
session_id: lens-declined-offer-receipts-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
contested_surface_present: true
source_surface: oxygen_claim_exchange | schedule_preemption | faction_commitment | management_compression | scar_convergence | route_asset_custody | equivalent
offer_set_visible: true
offered_choice_count_min: 2
selected_offer_present: true
declined_offer_future_reader_present: true
no_fixed_turn_trigger: true
offer_set:
contested_surface_id: <id>
material_offers:
- offer_id: <id>
offered_by: <faction_or_actor>
proposed_relief: <relief>
demanded_control_or_cost: <cost>
proof_or_collateral: <proof>
future_reader: <reader>
selected_resolution:
selected_offer_id: <id>
selected_offer_effect:
relief: <delta>
cost: <delta>
future_route_effect: <effect>
offered:
card: storyteller.card.declined_offer_receipt_docket.v1
rite: storyteller.rite.declined_offer_reconciliation.v1
branch_result:
declined_offer_id: <id>
selected_response: acknowledge_receipt | defer_obligation | countercredit_offer | publish_offer_table | void_offer_with_proof | ignore_afterbid
receipt_status_after: acknowledged | deferred | countercredited | published | voided | ignored
event_seen_or_armed: storyteller.event.unanswered_offer_afterbid.v1 | none
future_route_effect: <effect>
counter_deltas:
relief: []
cost: []
future: []
assertions:
offer_set_visible_before_selection: true
selected_and_declined_offers_recorded: true
declined_offer_has_future_reader: true
reconciliation_or_afterbid_visible: true
future_reader_consumes_receipt_state: true
no_fixed_turn_trigger: trueNon-goals
- Not a UI menu history system.
- Not a generic faction relationship tracker.
- Not a legal/governance page.
- Not a fixed-turn callback.
- Not raw branch-count content.
- Not valid unless declined offers change future routes, readers, claimants, proof, schedule, or custody state.