Pure cores reduce timeline coupling

A functional core keeps domain rules independent of external interfaces and process machinery. Fewer shared timelines remove ordering problems before coordination is added.

Our core doesn’t access external interfaces or use any process machinery your component might use.

Source: Q1433; B333, B1333.

Failure it prevents

Rules change with hidden time or shared state and can only be tested through live integrations.

Our Effect 4.0.0 reading

Keep pure rules as ordinary functions. Context.Service and Layer put effectful dependencies26 behind seams. Wrapping a callback in Effect29 does not make it pure.

Source: packages/effect/src/Context.ts, packages/effect/src/Layer.ts, packages/effect/src/Effect.ts.

How to check

Run the same decision with the same explicit data. Check that it needs neither network nor process state. This check is our proposal. The books do not prescribe it.

Continue with Replay needs stable inputs9, Recovery needs model tests10.

Connect this to the existing rat-stack guidance18.

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. Normand, Eric. Grokking Simplicity: Taming Complex Software with Functional Thinking. Manning, 2021.. Manning. Chapters 15–17: Isolating Timelines, Sharing Resources Between Timelines, Coordinating Timelines. Accessed 2026-10-23.
  3. Effect contributors. Effect 4.0.0. Context.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. Layer.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. Effect.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.

    Pure cores reduce timeline coupling — Move deterministic rules out of time-dependent actions and shared mutable state.

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

    Pure cores reduce timeline coupling — new page: docs(lore): land the durability wiki pages and bibliography

  3. Durability bibliography. Books, checked short quotations, source limits, and Effect mapping provenance.

    Build a Functional Core¶

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

    Pure cores reduce timeline coupling: Move deterministic rules out of time-dependent actions and shared mutable state.¶

  5. Failures keep their meaning. Expected refusals, infrastructure faults, and defects need different policies.

    Continue with Cleanup can be an idempotent postcondition, Pure cores reduce timeline coupling.¶

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

    Pure cores reduce timeline coupling — Move deterministic rules out of time-dependent actions and shared mutable state.

  8. Replay needs stable inputs. Historical processing must not silently depend on today’s clock or external decisions.

    Continue with Old events must still decode, Pure cores reduce timeline coupling.¶

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

    Pure cores reduce timeline coupling — new page: docs(lore): land the durability wiki pages and bibliography