Stale Dispatch Recall / 过期派发召回机制

Stale Dispatch Recall is the mechanism for local instruction drift after the authoritative state changes.

Storyteller has strong surfaces for deciding boundaries, redactions, reader recognition, availability scope, and enforcement load. This mechanism covers the next gap: the old instruction may already be in someone’s hand.

A valid implementation must prove that a changed boundary does not automatically rewrite every call sheet, cutroom mark, sponsor copy, public script, ward order, runner note, pirate packet, proof tag, or route-asset handoff.

Entry contract

Open from state pressure only:

entry_state:
  trigger_kind: state_pressure
  source_decision_or_boundary_changed: true
  source_history_preserved: true
  stale_instruction_issued_under_old_state: true
  stale_instruction_still_actionable: true
  holder_or_recipient_present_or_explicit_absence: true
  future_reader_or_route_can_be_affected: true
  recall_channel_available_or_explicit_absence: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_count_trigger: true

The mechanism fails if it opens because a fixed turn, day, week, chapter quota, content count, dashboard state, or generic maintenance phase arrived.

State machine

stale_dispatch_states:
  no_stale_instruction:
    meaning: no old instruction can still execute
  stale_instruction_detected:
    meaning: old instruction exists but recall has not been assigned
  recall_open:
    meaning: player can select channel handler acknowledgement and cost
  partially_acknowledged:
    meaning: at least one recipient received recall and at least one remains stale or explicit absence
  fully_recalled_with_cost:
    meaning: affected recipients have acknowledgements and costs are recorded
  split_recall:
    meaning: readers are scoped differently and not universally clean
  stale_executed:
    meaning: old instruction executed or was cited
  false_execution:
    meaning: stale instruction became the operative reality for at least one reader
  recovered_with_scar:
    meaning: false execution was repaired but future use is narrowed or costlier
  recovery_only:
    meaning: old execution blocks clean route use

Required data surface

过期派发案卷 must record source change, old instruction, holder, stale action, affected readers, acknowledgement requirement, handler or explicit absence, and default.

The implementation must preserve both states:

source_history:
  old_instruction_issued_under_state: <old state>
  new_state_after_source_change: <new state>
  old_instruction_not_erased: true

The old instruction must be an object or row, not narration.

Assignable rite

过期派发召回 must require:

  • the docket;
  • the source decision or boundary;
  • the stale instruction;
  • holder or explicit absence;
  • recall channel;
  • handler or explicit absence;
  • acknowledgement surface or explicit absence;
  • protected reader;
  • reader left stale or explicit absence;
  • accepted cost;
  • future reader or route effect.

A universal notify all branch is valid only when every affected recipient records an acknowledgement and the branch pays cost on schedule, handler burden, proof burden, public confusion, sponsor pressure, inspection heat, edit debt, runner risk, crew load, or equivalent.

Branch families

Live-floor recall

Covers old call sheets, stage marks, floor gates, ward movement, crowd cues, recovery orders, and proof handoffs.

Expected result: wrong local execution risk falls; crew load, schedule pressure, or public confusion rises; future acceptance requires floor acknowledgement.

Cutroom recall

Covers scratch cuts, redaction marks, checksum tags, source labels, blackout delay masks, and final-air queues.

Expected result: final-air integrity improves; edit debt, source ambiguity, or proof burden rises; future readers reject unpatched stale cuts.

Lawful recall

Covers inspector, archive, ward, custody order, proof chain, and admissibility surfaces.

Expected result: lawful acceptance improves; public delay, bureau debt, or inspection heat rises; public reader may require addendum.

Covers sponsor copy, budget promises, preview clauses, package wording, and management clean reporting.

Expected result: false private promise falls; sponsor retaliation, contract capture, or public distrust rises; public use is costlier.

Public recall

Covers public script, fan delegate line, audience gate notice, public admission, pirate-correcting statement, and visible addendum.

Expected result: public legitimacy improves; panic, witness exposure, sponsor heat, or lawful addendum cost rises.

Runner or route-asset recall

Covers low-rank carriers, corridor notes, proof tags, route-asset handoffs, and physical custody movement.

Expected result: misdelivery risk falls; runner risk, payroll leak, favor debt, or custody noise rises.

Split recall

Covers partial recall where one reader can proceed and another remains scoped, delayed, or stale.

Expected result: immediate route may proceed; source ambiguity, handler burden, correction pressure, or future recovery cost rises.

Stale execution default

Covers unacknowledged, hidden, underfilled, or intentionally accepted stale execution.

Expected result: 过期派发执行 fires or is armed; future route is blocked, captured, costlier, or recovery-only.

Counter contract

Every branch must mutate at least one relief, one cost, and one future route or reader effect.

counter_contract:
  relief_min: 1
  cost_min: 1
  future_reader_or_route_effect_min: 1

Recommended counters and states:

  • stale_dispatch_risk
  • false_execution
  • final_air_integrity
  • custody_clarity
  • reader_acceptance_scoped
  • schedule_pressure
  • handler_burden
  • proof_burden
  • public_confusion
  • sponsor_stop_loss_pressure
  • inspection_heat
  • edit_debt
  • source_ambiguity
  • runner_risk
  • crew_load
  • route_asset_pressure
  • future_route_acceptance

Integration boundaries

  • With 认领告知顺序线, briefing asks who learns first before or during a pending action. Stale dispatch asks whether old local instructions are recalled after the state changes.
  • With 裁定读者冲突线, reader collision asks how future readers interpret a valid row. Stale dispatch asks whether recipients still execute the superseded row.
  • With 可用性读者冲突线, availability collision scopes access. Stale dispatch catches old access orders still moving bodies, slots, or route assets.
  • With 预播排练污染线, preair contamination decides whether a draft trace becomes pseudo-real. Stale dispatch catches old rehearsal instructions after the boundary is decided.
  • With 通告单负荷账本, call sheet load asks whether there are enough people to run a slot. Stale dispatch asks whether those people hold the current instruction.
  • With Stale Dispatch Afteruse Receipt, this mechanism answers the first recall question, while afteruse receipt answers whether a later reader can spend the recall row as clean authority.

Non-goals

  • Not an implementation governance checklist.
  • Not a generic communications system.
  • Not a fixed upkeep phase.
  • Not a raw-count objective.
  • Not a replacement for enforcement load, reader collision, or claimant notice.
  • Not valid unless stale execution changes a future reader, route, custody chain, broadcast state, or recovery scar.