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_only

The 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:

SlotExact card ID
registerstoryteller.card.route_discontinuance_register.v1
source_rowstoryteller.card.route_discontinuance_source_row.v1
route_or_assetstoryteller.card.route_discontinuance_route_or_asset.v1
discontinuance_pressurestoryteller.card.route_discontinuance_pressure.v1
partial_viabilitystoryteller.card.route_discontinuance_partial_viability.v1
claimantstoryteller.card.route_discontinuance_claimant.v1
harmed_readerstoryteller.card.route_discontinuance_harmed_reader.v1
carrier_anchorstoryteller.card.route_discontinuance_carrier_anchor.v1
handlerstoryteller.card.route_discontinuance_handler.v1
proof_bridgestoryteller.card.route_discontinuance_proof_bridge.v1
salvage_floorstoryteller.card.route_discontinuance_salvage_floor.v1
future_readerstoryteller.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: storyteller and belongs to storyteller.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.v1 may consume route-discontinuance.d17.public_pause only when notice_pause, paused_under_notice, and public_only flags 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.