Prep Action Readback / 筹备行动回读
Prep Action Readback is the assignable rite for deciding whether an earlier prep result can be consumed by a current route.
The rite is not another prep action. It is the readback at the moment of reuse: what was prepared, who carries it, what it covered, what changed, and which reader now wants to rely on it.
Entry requirements
Offer this rite only when:
- Prep Action Receipt Ledger or equivalent state is open;
- a current route, slot, rite, room, proof, or reader consumes the prep result;
- bearer, scope, proof bridge, or explicit absence is visible;
- missing/stale condition or explicit absence is visible;
- the player can select a readback posture;
- no trigger depends on fixed turn, day/week, raw prep-action count, dashboard state, or lens health.
Required slots
rite_id: storyteller.rite.prep_action_readback.v1
requires:
ledger: storyteller.card.prep_action_receipt_ledger.v1
source_prep_action: <action id>
action_kind: meeting | dispatch | evidence | rehearsal | build | edit | silence | blackout_contact | withdrawal_negotiation | equivalent
prepared_output: <output>
consuming_surface: <rite route slot reader room future use>
requested_use: <current use>
bearer_or_absence: <bearer or explicit_absence>
scope_limit_or_absence: <scope or explicit_absence>
proof_bridge_or_absence: <bridge or explicit_absence>
missing_or_stale_condition: <condition or explicit_absence>
harmed_reader_if_overcredited: <reader or explicit_absence>
selected_posture: certify_receipt | narrow_to_reader | attach_handler_support | convert_to_route_asset | redo_prep | quarantine_receipt | false_prep_credit_default
future_reader_or_route: <future consumer>A famous handler, sponsor payment, legal seal, public approval, or edit patch cannot replace these slots by implication.
Branches
Certify receipt
selected_posture: certify_receipt
prep_state_after: accepted_with_scope
relief_any: [prep_legibility_up, current_route_acceptance_up, false_readiness_pressure_down]
cost_any: [proof_burden_up, handler_burden_up, schedule_pressure_up, inspection_heat_up]
future_effect_any: [accepted_with_scope, addendum_required, costlier]Narrow to reader
selected_posture: narrow_to_reader
prep_state_after: reader_specific_prep
relief_any: [scope_integrity_up, wrong_reader_blocked]
cost_any: [excluded_reader_pressure_up, public_or_lawful_distrust_up, sponsor_pressure_up]
future_effect_any: [reader_specific, addendum_required, blocked_for_other_readers]Attach handler or support
selected_posture: attach_handler_support
prep_state_after: handler_bound_prep
relief_any: [bearer_absence_repaired, proof_bridge_visible, route_acceptance_up]
cost_any: [handler_burden_up, payroll_pressure_up, inspection_heat_up, route_asset_pressure_up]
future_effect_any: [handler_required, support_consumed, costlier]Convert to route asset
selected_posture: convert_to_route_asset
prep_state_after: route_asset_prep
relief_any: [future_use_preserved, route_asset_integrity_up]
cost_any: [maintenance_due_up, custody_pressure_up, exposure_up]
future_effect_any: [route_asset_maintenance_due, one_use_route_asset, scoped_future_use]Redo prep
selected_posture: redo_prep
prep_state_after: revalidated_with_cost
relief_any: [stale_condition_repaired, current_route_acceptance_up]
cost_any: [schedule_pressure_up, action_debt_up, morale_pressure_up, opportunity_cost_up]
future_effect_any: [new_source_required, delayed, costlier]Quarantine receipt
selected_posture: quarantine_receipt
prep_state_after: quarantined
relief_any: [false_clean_use_blocked, scope_integrity_up]
cost_any: [current_route_delay_up, route_narrowness_up, sponsor_or_public_pressure_up]
future_effect_any: [blocked_until_readback, recovery_only, substitute_required]False prep credit default
selected_posture: false_prep_credit_default
emitted_event: storyteller.event.false_prep_credit_default.v1
prep_state_after: false_credit | stale_prep_consumed | recovery_only
cost_any: [false_readiness_pressure_up, harmed_reader_pressure_up, future_recovery_cost_up]
future_effect_any: [blocked, hostile, costlier, recovery_only]Completion contract
Every non-default branch must include relief, cost, and future effect. The default branch must name default actor, overcredited claim, harmed reader, missing input, and future route effect.
The rite fails if it returns ready without scope, if it treats source prep provenance as proof of current validity, or if every reader accepts the same prep result cleanly.
Replay evidence
rite_id: storyteller.rite.prep_action_readback.v1
session_id: lens-prep-action-receipt-carryover-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
ledger_state: receipt_open | equivalent
source_prep_action_present: true
consuming_surface_present: true
no_fixed_turn_trigger: true
assignment:
selected_posture: <posture>
bearer_or_absence: <bearer_or_absence>
scope_limit_or_absence: <scope_or_absence>
proof_bridge_or_absence: <bridge_or_absence>
result:
prep_state_after: <state>
event_seen_or_armed: storyteller.event.false_prep_credit_default.v1 | none
future_route_effect: <effect>
counter_deltas: {}Non-goals
- Not a generic prep action.
- Not a fixed daily review.
- Not a pure planning UI.
- Not valid unless current consumption changes prep scope, cost, or future route state.