Restart must reconstruct known state

Letting a worker fail is useful when recovery returns it to a known state. Preserve indispensable recovery data; rebuild disposable state.

Book basis: B133, B233, B333.

Failure it prevents

A fresh worker reuses inconsistent state or forgets critical coordination data.

Our Effect 4.0.0 reading

Activity results and WorkflowEngine can support reconstruction with persistent storage. A new fiber23 does not restore old local variables or machine26 memory.

Source: packages/effect/src/workflow/Activity.ts, packages/effect/src/workflow/WorkflowEngine.ts, packages/effect/src/Fiber.ts.

How to check

Recover from an incomplete step using durable authority. Check behavior rather than merely checking that the worker is running. This check is our proposal. The books do not prescribe it.

Continue with Replay needs stable inputs9, Durable timers need recovery7.

Connect this to the existing rat-stack guidance26.

Use the durability skill for the full review. Return to the durability index34.

Sources

  1. Logan, Martin; Merritt, Eric; Carlsson, Richard. Erlang and OTP in Action.. Manning. The Erlang/OTP Platform: Let It Crash; process isolation; §4.2.2 supervisor restart strategy. Accessed 2026-10-23.
  2. Jurić, Saša. Elixir in Action, Third Edition. Manning, 2024.. Manning. §5.4.3 Shared-Nothing Concurrency; Chapters 8–9, fault tolerance and supervision; Other Use Cases for ETS. Accessed 2026-10-23.
  3. Gray II, James Edward; Tate, Bruce A. Designing Elixir Systems with OTP. Pragmatic Bookshelf, 2019.. Pragmatic Bookshelf. Build a Functional Core; Isolate Process Machinery in a Boundary; Customize Your Lifecycle; Big, Loud Worker-Bees; Add Persistence as a Boundary Service; Test the Boundary. Accessed 2026-10-23.
  4. Effect contributors. Effect 4.0.0. workflow/Activity.ts. Effect-TS. Pinned source for our Effect mapping, not a claim from the book. Accessed 2026-10-23.
  5. Effect contributors. Effect 4.0.0. workflow/WorkflowEngine.ts. Effect-TS. Pinned source for our Effect mapping, not a claim from the book. Accessed 2026-10-23.
  6. Effect contributors. Effect 4.0.0. Fiber.ts. Effect-TS. Pinned source for our Effect mapping, not a claim from the book. Accessed 2026-10-23.

Last changed 2026-10-23 in 58dc623. Source on GitHub. Change log.

Linked from

  1. Agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.

    Restart must reconstruct known state — Execution recovery and state recovery need separate contracts.

  2. Change log. What changed in the files served here, newest first.

    Restart must reconstruct known state — new page: docs(lore): land the durability wiki pages and bibliography

  3. Durability starts with a recovery record. A reading order for storage, replay, worker ownership, overload, and recovery tests.

    Restart must reconstruct known state: Execution recovery and state recovery need separate contracts.¶

  4. Durable timers need recovery. Persist scheduled intent when losing a worker must not lose its deadlines.

    Continue with Durable work needs storage, Restart must reconstruct known state.¶

  5. Full agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
  6. Lifecycles are machines. XState owns finite lifecycle states while declared Effect actors own side effects.

    Restart must reconstruct known state and supervision chooses what restarts cover recovery.¶

  7. Rat Stack lore | rat-stack. Short, source-grounded notes on the ideas and decisions behind rat-stack.

    Restart must reconstruct known state — Execution recovery and state recovery need separate contracts.

  8. Source change history (log.md). The generated change log as Markdown.

    Restart must reconstruct known state — new page: docs(lore): land the durability wiki pages and bibliography

  9. Supervision chooses what restarts. Restart policy follows dependency shape and bounds repeated recovery.

    Continue with Restart must reconstruct known state, Circuit breakers have state.¶