Skip to content

EngineRelocatedOutcome

EngineRelocatedOutcome = "not-dispatched" | "unknown"

Defined in: packages/client/src/worker/engine-control.ts:327

The two honest relocation outcomes (ADR D10, invariant 5). There is deliberately NO blanket “retryable”:

  • "not-dispatched" — the call NEVER reached the engine (a queued call failed on the handoff queue’s cap/deadline, or was never sent). SAFE TO RETRY.
  • "unknown" — a DISPATCHED mutation whose response was lost to relocation. Its journal update MAY already exist and there is NO mutation-dedup key, so it must be inspected/reconciled, NEVER auto-retried.

A dispatched READ that lost its response is NOT a third outcome: repeating a read is safe, so that is the CALLER’S policy (repeat the read), not a distinct wire value.