Pi 0.87.1: the version DAC's Pi facade runs

October 14, 2026 • 297 words • 2 min read

DAC's second runtime is Pi (@earendil-works/pi-coding-agent), reached through pi-api-facade. Pi ships close to daily, so the facade pins one exact version and never floats a range. We run 0.87.1, released 2026-09-22. This post covers that pin.

What 0.87.1 contains

0.87.1 itself is a model-catalog refresh on top of 0.87.0:

  • Frontier models through supported providers, GitHub Copilot included: Claude Opus 5.5, GPT-6 Sol, GPT-6 Luna.
  • Grok 4.7 becomes the default for new xAI sessions.
  • Fixes for split-turn compaction summaries, --mode validation, and image-only messages on some OpenAI-compatible providers.

The weightier changes landed a day earlier in 0.87.0, and they are the reason an exact pin matters:

  • Canonical session context. Edit the model context without rewriting history, through append-only context edits.
  • Actionable extension boundaries at turn_end and agent_before_settle.
  • Full-transcript context extensions (context_with_system) and per-model image input limits.
  • Breaking changes for SDK consumers. shouldStopAfterTurn was removed, SessionManager became canonical for provider context, TurnEndEvent gained required fields, and runs requested from agent_settled handlers are deferred.

How the facade embeds it

pi-api-facade runs Pi's SDK in-process through createAgentSession. Each node gets its own agent directory, so sessions stay isolated. The facade translates Pi's event stream into the same frozen wire contract the DSH facade speaks. That is the whole point: the manager sees one integration surface for two very different runtimes.

The SDK breaking changes above touch session and turn handling, which the facade depends on. So the facade records every upstream behavior it relies on in a fact card and re-verifies each entry before the pin moves. That discipline is what lets DAC adopt a fast-moving upstream without chasing every release.

Tracking status

Pi has moved well past this pin; 1.2.0 is current. We have not bumped yet. A separate catch-up note walks through 0.87.1 to 1.2.0 and what a bump would involve.