Salvage Floor Assignment Hearing / 残存底线指派听证
Salvage Floor Assignment Hearing is the assignable rite that decides what happens to a remaining salvage floor after a route has been stopped, paused, transferred, abandoned, or converted to recovery-only.
The rite exists because a salvage floor is playable only when someone is assigned to hold, scope, expose, pledge, retire, or quarantine it. A route cannot be reopened, deleted, memorialized, or cited from a floor that has no holder, no reader boundary, and no future effect.
Offer condition
Offer this rite when a 残存底线案卷 row exists or should exist:
offer_when:
salvage_floor_row_present_or_creatable: true
future_reader_or_route_requests_use: true
floor_state_before_not_terminal_clean: true
requesting_reader_visible: true
harmed_or_owed_reader_visible_or_explicit_absence: true
selected_posture_available_or_default_needed: true
no_fixed_turn_day_week_or_raw_count_trigger: trueDo not offer this from fixed chronology, dashboard health, raw route count, or generic late-game cleanup.
Assignment slots
assignment_required:
docket: storyteller.card.salvage_floor_docket.v1
selected_row_or_new_row: <row id>
source_discontinuance_register_row: <row id or explicit_absence>
source_route_or_asset_id: <route, proof, receipt, lane, room, route asset, or explicit_absence>
salvage_floor_kind: evidence_stub | public_notice | lawful_seal | callback_receipt | fan_refund_path | witness_payroll | route_asset_hold | recovery_only_marker | explicit_absence | equivalent
floor_state_before: unassigned | carried | escrowed | public_only | lawful_only | sponsor_only | split_required | pledged | retired | suppressed | captured | recovery_only | equivalent
requesting_reader: sponsor | lawful_reader | archive | public_fan | artist_boundary | worker_carrier | claimant | route_asset | producer_license | broadcast_reality | equivalent
harmed_or_owed_reader: <reader or explicit_absence>
selected_posture: archive_escrow | public_notice_floor | carrier_hold | bond_and_reopen | split_floor | retire_as_scar | quarantine_floor | suppress_or_default
handler_or_absence: <handler, clerk, runner, custodian, producer, or explicit_absence>
proof_bridge_or_absence: <archive copy, public receipt, lawful seal, callback receipt, checksum, fan ledger, route asset hold, or explicit_absence>
holder_or_absence: <archive, inspector, sponsor, public table, worker carrier, claimant, route asset, producer license, or explicit_absence>
cost_or_collateral_or_absence: <debt, heat, bond, public notice, carrier burden, ending scar, or explicit_absence>
future_reader_or_route: <reader, route, rite, ending, or explicit_absence>The rite is invalid if sponsor money, archive stamp, public outrage, legal authority, or a famous handler resolves the floor without these slots or explicit absence.
Branch families
Archive escrow
selected_posture: archive_escrow
floor_state_after_any:
- escrowed
- lawful_only
relief_any:
- false_route_deletion_blocked
- lawful_reference_preserved
- source_trace_legibility_up
cost_any:
- archive_debt_up
- inspection_heat_up
- public_notice_delay_up
- correction_slot_pressure_up
future_effect_any:
- lawful_only
- archive_gate_required
- public_addendum_requiredPublic notice floor
selected_posture: public_notice_floor
floor_state_after_any:
- public_only
- public_notice_attached
relief_any:
- private_capture_blocked
- fan_refund_path_visible
- memorial_receipt_legible
cost_any:
- sponsor_stop_loss_pressure_up
- lawful_ambiguity_up
- fan_oxygen_resentment_up
- public_grief_pressure_up
future_effect_any:
- public_only
- lawful_addendum_required
- sponsor_route_costlierCarrier hold
selected_posture: carrier_hold
floor_state_after_any:
- carried
- carrier_required
relief_any:
- callback_possible
- recovery_route_kept_callable
- immediate_route_pressure_down
cost_any:
- carrier_exposure_up
- handler_burden_up
- witness_reprisal_risk_up
- claimant_leverage_up
future_effect_any:
- carrier_required
- hostile_if_carrier_breaks
- protection_requiredBond and reopen
selected_posture: bond_and_reopen
floor_state_after_any:
- pledged
- reopened_with_bond
relief_any:
- route_reopen_possible
- immediate_block_down
- remedy_path_preserved
cost_any:
- producer_license_encumbrance_up
- sponsor_capture_up
- recovery_indemnity_pressure_up
- future_recall_cost_up
future_effect_any:
- bond_required
- accepted_with_cost
- costlier_reopenSplit floor
selected_posture: split_floor
floor_state_after_any:
- split_required
- scoped_to_readers
relief_any:
- selected_reader_can_proceed
- contradiction_pressure_down
cost_any:
- source_ambiguity_up
- omitted_reader_hostility_up
- future_proof_addendum_up
future_effect_any:
- split_required
- reader_specific_acceptance
- costlierRetire as scar
selected_posture: retire_as_scar
floor_state_after_any:
- retired
- ending_scar_pending
relief_any:
- false_clean_reopen_blocked
- claimant_notice_preserved
cost_any:
- route_reopen_blocked
- memorial_scar_up
- ending_scar_pressure_up
future_effect_any:
- ending_scar_pending
- recovery_only
- route_blocked_with_noticeQuarantine floor
selected_posture: quarantine_floor
floor_state_after_any:
- quarantined
- recovery_only
relief_any:
- false_owner_pressure_down
- unsafe_use_blocked
- contradiction_risk_down
cost_any:
- route_delay_up
- schedule_pressure_up
- recovery_only_pressure_up
future_effect_any:
- blocked_until_review
- recovery_only
- proof_requiredSuppress or default
selected_posture: suppress_or_default
floor_state_after_any:
- captured
- false_clean
- blocked
- recovery_only
emitted_event: storyteller.event.salvage_floor_foreclosure_default.v1
relief_any:
- immediate_assignment_burden_down
- clean_report_possible
cost_any:
- hidden_floor_pressure_up
- omitted_reader_hostility_up
- broadcast_reality_drift_up
future_effect_any:
- hostile
- captured
- blocked
- contradiction_pending
- recovery_onlySuccess rule
Every non-default branch must mutate at least three surfaces:
counter_deltas_required:
relief: at_least_one
cost: at_least_one
future_reader_or_route_effect: at_least_one
floor_state_changes: trueNo branch may turn a salvage floor into a universal clean key for sponsor, archive, lawful, public, artist-boundary, worker, claimant, route asset, producer license, and broadcast-reality readers.
Replay payload
rite_evidence:
rite: storyteller.rite.salvage_floor_assignment_hearing.v1
session_id: <session>
seed: <seed>
selected_row_or_new_row: <row>
source_discontinuance_register_row: <row or explicit_absence>
salvage_floor_kind: <kind>
selected_posture: <posture>
handler_or_absence: <handler or explicit_absence>
proof_bridge_or_absence: <proof or explicit_absence>
holder_or_absence: <holder or explicit_absence>
cost_or_collateral_or_absence: <cost or explicit_absence>
floor_state_after: <state>
future_reader_or_route: <reader or route>
counter_deltas: {}