Route Discontinuance Register / 路线停办登记簿
Route Discontinuance Register is the visible pending row for one partially viable D17 lost-property route after the player completes the company-transfer choice and resolves the Shen Mansheng custody window. A separate public-pause row is materialized only if the later review chooses notice_pause.
Fixed runtime row
sourceGate:
required_completion_flag: complete_storyteller-rite-d17-lost-and-found-night
required_pending_flag: storyteller_d17_company_cleanup_pending
replay_precondition_event: storyteller.event.shen_mansheng_company_custody_window.v1
fixedSourceRow:
row_id: route-discontinuance.d17.company_cleanup_open
source_rite: storyteller-rite-d17-lost-and-found-night
source_choice: accept_company_lost_property_transfer
source_pending_flag: storyteller_d17_company_cleanup_pending
source_row_id: transfer.company_cleanup.d17
source_surface: route_asset_custody
source_route_or_asset: route.d17.lost_property_night
source_state: company_cleanup_transfer_open
discontinuance_pressure: sponsor_capture
partial_viability: viable_with_public_notice
claimant: public_fan
harmed_reader: public_fan
carrier_before: card-storyteller-shen-mansheng
handler: producer
proof_bridge: public_notice
selected_posture: unselected
state_after: pending_selected_posture
future_reader: memorial_receipt_route
future_effect: pending_selected_posture
noticePauseMaterialization:
row_id: route-discontinuance.d17.public_pause
source_row_id: route-discontinuance.d17.company_cleanup_open
selected_posture: notice_pause
state_after: paused_under_notice
future_effect: public_only
carrier_after: public_table
salvage_floor_after: public_notice
required_runtime_flags:
- route_discontinuance.branch.notice_pause
- route_discontinuance.state.paused_under_notice
- future_route.public_only
downstreamConsumer:
card_id: storyteller.card.salvage_floor_docket.v1
row_id: floor.public_notice.d17
discontinuance_register_row: route-discontinuance.d17.public_pause
expected_source_state: paused_under_notice
eligible_only_when_branch: notice_pause
required_runtime_flags:
- route_discontinuance.branch.notice_pause
- route_discontinuance.state.paused_under_notice
- future_route.public_onlyThe source row’s D17 choice is the playable identity. It remains unselected / pending_selected_posture until review. A replay session can prove the choice occurred, but its timestamp never becomes the register key or a card assignment value. The public-pause row is a branch output, never static input.
Runtime card packet
game-content/storyteller/cards/route-discontinuance-register.json5 defines thirteen Storyteller cards. Twelve are starter assignments, one for each rite slot:
| Slot | Exact card ID |
|---|---|
register | storyteller.card.route_discontinuance_register.v1 |
source_row | storyteller.card.route_discontinuance_source_row.v1 |
route_or_asset | storyteller.card.route_discontinuance_route_or_asset.v1 |
discontinuance_pressure | storyteller.card.route_discontinuance_pressure.v1 |
partial_viability | storyteller.card.route_discontinuance_partial_viability.v1 |
claimant | storyteller.card.route_discontinuance_claimant.v1 |
harmed_reader | storyteller.card.route_discontinuance_harmed_reader.v1 |
carrier_anchor | storyteller.card.route_discontinuance_carrier_anchor.v1 |
handler | storyteller.card.route_discontinuance_handler.v1 |
proof_bridge | storyteller.card.route_discontinuance_proof_bridge.v1 |
salvage_floor | storyteller.card.route_discontinuance_salvage_floor.v1 |
future_reader | storyteller.card.route_discontinuance_future_reader.v1 |
The thirteenth card, storyteller.card.unregistered_discontinuance_counterreceipt.v1, is an event output only: it must not appear in the starter hand, cannot satisfy any slot, and is gained only after one of the six default terminals resolves.
Integrity rules
- Every runtime/public card uses
source: storytellerand belongs tostoryteller.lens.route_discontinuance_register.v1. - All twelve assignments must be present in hand and must match their exact accepted card IDs.
- The row must preserve source, route, pressure, viability, claimant, harmed reader, carrier, handler, proof bridge, salvage floor, and future reader together.
storyteller.card.salvage_floor_docket.v1may consumeroute-discontinuance.d17.public_pauseonly whennotice_pause,paused_under_notice, andpublic_onlyflags all exist; a prose claim that the routes are “related” is not enough.- The other seven review branches must not expose
route-discontinuance.d17.public_pause, even if they retain local proof or a different salvage marker. - The counterreceipt records the default scar. It does not grant consent, ownership, proof truth, salvage title, legal closure, or universal cancellation authority.
Constructive and default evidence
Both replays first execute D17 choice index 1, earn the completion and company-cleanup pending flags, and resolve the Shen Mansheng custody event before the target review.
The notice-pause replay then consumes all twelve starter cards, chooses target index 1, does not gain the counterreceipt, and materializes route-discontinuance.d17.public_pause with the exact three eligibility flags.
The broadcast-erasure replay consumes the same starter packet, explicitly chooses target index 7, never materializes the public-pause row, resolves broadcast_reality_erasure, and gains the counterreceipt only from the event. Both replays preserve the pending source row.
Miss/default
The card packet is not offered from fixed time, route count, or dashboard state. Missing, substituted, or off-hand assignments fail the review without arming default. Expiry leaves the unresolved source row visible under unresolved_review_remains_visible_without_arming_default, with expiryArmsDefault: false. Only the explicit unregistered_default choice can claim the route was left unregistered.