Saurabh Kumar

Pi Durable

Pi Durable is Earendil’s experimental agent harness, shipped alongside Pi 1.0. TannerMidd/pi-pocket is a mobile-first, multiplayer web app for Pi built on it.

  • Every model call and tool call is a task that checkpoints to storage (SQLite, JSONL, or memory) before moving on. Kill the process and a new one opens the same file and resumes.
  • Recovery is per step: a cut-off model request is resent with the partial answer kept and marked aborted. A cut-off tool call reruns only if it is replay-safe; otherwise the model is told it was interrupted.
  • A requestId makes a submission exactly-once, so a client retrying after a crash gets the original back.
  • Forks see the parent transcript up to the fork point without copying it.
  • ~15k lines total, small enough for an agent to read end to end.
  • pi-pocket: restart the server mid-run and the work continues. Several people can watch, steer, or queue messages on the same session.
  • npm start -- --access tailscale binds only to the tailnet address, so my phone gets it with no tunnel.
  • The shift: the session lives in a SQLite file, not a terminal process, so the phone is just another client. Could replace my Moshi + tmux setup.
  • Caveat: anyone who can steer runs shell commands as you.