Route Asset Maintenance Triage / 路线资产维护分诊

Route Asset Maintenance Triage is an assignable rite for deciding which already-won route asset stays usable, which asset is rotated out, and which one degrades into recovery pressure.

It is the action surface for 路线资产维护分诊机制 and consumes 路线资产维护花名册.

Offer condition

Offer this rite only when:

  1. the roster contains at least two potentially usable route assets;
  2. at least one row is maintenance_due, overexposed_asset, stale_asset, degraded_asset, frozen_asset, recovery_only_asset, or false_fresh_asset;
  3. a current or future route checks asset freshness, custodian, bridge, proof, or degradation state;
  4. a handler, bridge, proof, cost, substitute asset, or explicit absence can be assigned;
  5. the result can change future route availability or cost.

This rite must never be offered solely because a fixed turn, day count, or content quota was reached.

Required assignment slots

rite_assignment:
  roster: storyteller.card.route_asset_maintenance_roster.v1
  selected_asset_row: <row id>
  intended_future_use: witness_route | public_receipt_route | lawful_appeal | edit_continuity | sponsor_package | archive_order | fan_ledger | memorial_route | ending_scar | equivalent
  response: refresh_custody | rotate_use | accept_degraded_use | freeze_for_recovery | cannibalize | default_selects
  handler_or_absence: <handler id or explicit_absence>
  proof_bridge_or_absence: <proof, receipt, seal, checksum, public witness, payroll support, or explicit_absence>
  cost_or_scar: <resource, debt, scar, route restriction, or explicit_absence>
  unselected_asset_row_any: <row id or explicit_absence>

The rite fails if the selected asset is refreshed automatically, if the unselected asset is ignored, or if a famous handler can erase maintenance pressure without a cost.

Branches

Branch A — Refresh custody

The player assigns credible support to keep a route asset fresh or recover it.

Valid inputs:

  • handler support;
  • lawful seal;
  • public receipt;
  • archive bridge;
  • editor checksum;
  • witness payroll support;
  • sponsor waiver;
  • fan oxygen support;
  • route custodian.

Expected result:

selected_response: refresh_custody
asset_state_after: fresh_asset | recovered_asset | maintenance_due
future_route_effect: accepted | accepted_with_cost | accepted_with_restriction
must_spend_or_raise_one: [inspection_heat, archive_debt, edit_debt, handler_burden, fan_oxygen_resentment, contract_capture, public_exposure, bureau_favor_debt]

Branch B — Rotate use

The player preserves a strained asset by using a substitute or weaker bridge.

Expected result:

selected_response: rotate_use
preserved_asset_state_after: fresh_asset | frozen_asset
substitute_asset_state_after: maintenance_due | overexposed_asset | stale_asset | degraded_asset
future_route_effect: changed_by_asset_identity

At least one future route must now distinguish the preserved asset from the substitute.

Branch C — Accept degraded use

The player knowingly uses a stale or degraded asset.

Expected result:

selected_response: accept_degraded_use
current_relief: partial | contaminated | costly
asset_state_after: degraded_asset | stale_asset | false_fresh_asset
armed_default_or_breach: true
future_route_effect: costlier | narrower | recovery_only | contradiction_pending

This branch is valid only if current relief and future damage both appear.

Branch D — Freeze for recovery

The player refuses current use to keep the asset recoverable.

Expected result:

selected_response: freeze_for_recovery
asset_state_after: frozen_asset | recovery_only_asset
current_route_effect: blocked | delayed | weaker | alternate_required
recovery_bridge_required: <named bridge or scar>

The rite fails if freezing is treated as a no-cost preservation.

Branch E — Cannibalize

The player burns one asset to save another.

Expected result:

selected_response: cannibalize
maintained_asset_state_after: fresh_asset | recovered_asset
source_asset_state_after: cannibalized_asset | lost_asset | degraded_asset | scarred_route_asset
harmed_claimant: <claimant>
future_route_effect: one_route_improves_another_route_blocks_or_costs_more

This branch must record the harmed claimant or faction.

Branch F — Default selects

The player hides the roster, lacks handler/proof/cost, treats stale as fresh, or lets a faction pick the asset.

Expected result:

selected_response: default_selects
asset_state_after: false_fresh_asset | lost_asset | captured_asset | hostile_asset | degraded_asset
future_route_effect: blocked | hostile | captured | recovery_only | contradiction_pending
emitted_event_or_armed_default: route_asset_maintenance_default

Outcome contract

Each branch must mutate at least three counters or durable states. One must be relief, one must be cost, and one must alter future route acceptance.

Required outcome record:

triage_result:
  selected_asset_row: <row>
  response: <branch>
  asset_state_before: <state>
  asset_state_after: <state>
  other_asset_state_after: <state or explicit_absence>
  future_route_effect: <effect>
  counter_deltas: {}
  event_seen_or_armed: storyteller.event.route_asset_maintenance_default.v1 | none

Integration notes

  • Use 制作分诊派工 when the main question is which active crisis gets a finite lane.
  • Use this rite when the main question is whether an already-won route asset remains trustworthy enough to use.
  • Use 播出资产召回听证 when a derivative copy’s ownership is the main conflict.
  • Use 证人薪册分诊 when the asset is a person whose support is the main conflict.
  • Use 休眠认领复核 when an old row first resurfaces.

Non-goals

  • Not a fixed upkeep phase.
  • Not a free refresh button.
  • Not a replacement for production triage.
  • Not valid if unselected assets remain unchanged in every branch.
  • Not valid if degraded use lacks recovery, breach, or route restriction.