← All conversations

Monday Meditations

Pi Durable: why not Temporal or Effect?

Mario Zechner & Armin Ronacher · 27:26 · English audio

AI summary

Reading notes

Based on this transcript. Use timestamps to check the original discussion.

  1. Beyond short-lived, single-user sessions

    Pi Coding Agent’s session model suits a person working with an agent. Pi Durable targets long-running, multiplayer agents with parallel branches that can suspend and resume across different execution environments.

  2. Break execution into recoverable tasks

    The design persists task intent and results, bringing model requests, tools and subagents into a task graph. Recovery can identify where execution stopped, while tools still need to declare whether replay is safe.

  3. A durable harness does not make the outside world durable

    Filesystems, deployments and external services retain their own state. Snapshots, idempotent operations or appropriate storage design are still necessary; adding a workflow engine cannot solve every recovery problem.

  4. Design execution and state persistence together

    State that must recover together needs atomic persistence. Built-in task scheduling lets applications participate in execution and storage; large data can live elsewhere with references stored in the harness.

  5. Why not simply adopt a Temporal-style abstraction?

    They favor explicit checkpoints, names and versions so an agent changing its own code can reason about persisted data. They contrast replaying a function call stack with restoring a tree of self-contained tasks.

  6. Why they did not choose Effect

    They value Effect’s concurrency, errors and service composition, but distinguish those features from recovery across process restarts. Adopting its workflow solution also brings ecosystem and portability tradeoffs, motivating a self-contained foundation.

  7. Validate the data model before adding abstractions

    They invite users to try the repository’s examples and assess the state model against real needs. Higher-level state abstractions remain open, and the team plans to test the foundation through its own products and applications.

Keep listening