Supervision chooses what restarts
OTP restart strategies distinguish independent children from dependent siblings. A persistently broken child also needs a limit on repeated restarts.¶
The point of letting an entire subsystem terminate and be restarted is that it brings you back to a state known to function properly.¶
Source: Q0133; B133, B233, B333.¶
Failure it prevents
Healthy siblings restart unnecessarily, or dependent siblings continue with stale state.¶
Our Effect 4.0.0 reading
No OTP restart supervisor was found in the checked source. Scope34 and FiberSet handle lifetime. Use XState for explicit restart modes and a host for runtime restart.¶
Source: packages/effect/src/Effect.ts, packages/effect/src/Scope.ts, packages/effect/src/FiberSet.ts.¶
How to check
Generate child failures and repeated restart attempts. Check affected dependents, escalation, and reconstructed state. This check is our proposal. The books do not prescribe it.¶
Continue with Restart must reconstruct known state9, Circuit breakers have state10.¶
Connect this to the existing rat-stack guidance26.¶
Use the durability skill for the full review. Return to the durability index34.¶
Sources
- 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.
- 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.
- 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.
- Effect contributors. Effect 4.0.0. Effect.ts. Effect-TS. Pinned source for our Effect mapping, not a claim from the book. Accessed 2026-10-23.
- Effect contributors. Effect 4.0.0. Scope.ts. Effect-TS. Pinned source for our Effect mapping, not a claim from the book. Accessed 2026-10-23.
- Effect contributors. Effect 4.0.0. FiberSet.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
- Agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
Supervision chooses what restarts — Restart policy follows dependency shape and bounds repeated recovery.
- Change log. What changed in the files served here, newest first.
Supervision chooses what restarts — new page: docs(lore): land the durability wiki pages and bibliography
- Circuit breakers have state. A breaker stops doomed calls and controls probes before restoring traffic.
Continue with Bulkheads isolate scarce capacity, Supervision chooses what restarts.¶
- Durability bibliography. Books, checked short quotations, source limits, and Effect mapping provenance.
Chapters 8–9, fault tolerance and supervision¶
- Durability starts with a recovery record. A reading order for storage, replay, worker ownership, overload, and recovery tests.
Supervision chooses what restarts: Restart policy follows dependency shape and bounds repeated recovery.¶
- Effect is not BEAM. Fibers share a runtime; scope ownership does not supply isolated heaps or OTP restart strategies.
Supervision observes worker failure and applies restart policy.
- Every task needs an owner. Give child work a lifetime, a failure observer, and a recovery decision.
Continue with Supervision chooses what restarts, Durable work needs storage.¶
- Full agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
- 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.¶
- Rat Stack lore | rat-stack. Short, source-grounded notes on the ideas and decisions behind rat-stack.
Supervision chooses what restarts — Restart policy follows dependency shape and bounds repeated recovery.
- Source change history (log.md). The generated change log as Markdown.
Supervision chooses what restarts — new page: docs(lore): land the durability wiki pages and bibliography