Every task needs an owner

Managed worker abstractions make lifecycle policy visible. A task that escapes its owner also escapes that owner’s shutdown and failure handling.¶

Elixir can’t manage what it doesn’t know about.¶

Source: Q0433; B333.¶

Failure it prevents

A request returns but unobserved child work fails or holds resources indefinitely.¶

Our Effect 4.0.0 reading

Effect.forkScoped and FiberSet attach work to a Scope34. Effect.forkDetach detaches the fiber23 from its parent. The runtime can still stop it. Add recovery policy separately.¶

Source: packages/effect/src/Effect.ts, packages/effect/src/Scope.ts, packages/effect/src/FiberSet.ts.¶

How to check

Interrupt the owner. Verify child completion or interruption, resource release, and the reported outcome. This check is our proposal. The books do not prescribe it.¶

Continue with Supervision chooses what restarts11, Durable work needs storage14.¶

Connect this to the existing rat-stack guidance23.¶

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

Sources

  1. 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.
  2. 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.
  3. 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.
  4. 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

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

    Every task needs an owner — Give child work a lifetime, a failure observer, and a recovery decision.

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

    Every task needs an owner — new page: docs(lore): land the durability wiki pages and bibliography

  3. Concurrent work needs an owner and a bound. Limit active work, retain result order, and stop child work when its owning lifetime ends.

    For work that must survive a crash, read every task needs an owner and the durability index.¶

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

    Every task needs an owner: Give child work a lifetime, a failure observer, and a recovery decision.¶

  5. Durable work needs storage. A restarted worker cannot recover intent that existed only in memory.

    Continue with Every task needs an owner, Checkpoints follow the promised commit.¶

  6. Effect Meetup SF 2023: Why Effect?. Michael Arnaldi introduces Effect as a shared runtime for production TypeScript concerns.
    Link context

    Michael presents Effect as a missing standard library for TypeScript, bringing typed errors and requirements, structured concurrency, observability, resource safety, and composition into one runtime.

  7. Full agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
  8. Rat Stack lore | rat-stack. Short, source-grounded notes on the ideas and decisions behind rat-stack.

    Every task needs an owner — Give child work a lifetime, a failure observer, and a recovery decision.

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

    Every task needs an owner — new page: docs(lore): land the durability wiki pages and bibliography