Signals / Pi Coding Agent profile

Pi Coding Agent

Sourced signals for Pi Coding Agent: release changes, governance moves, runtime shifts, and operator consequences. Each links to the run that produced it. The Pi Coding Agent profile carries the current evergreen state.

June 2026

  1. 2026-06-23 / Pi Coding Agent

    Pi compaction events now carry reason and willRetry so a harness can tell the trigger apart

    • v0.79.10 (PR #5962) adds `reason` and `willRetry` to the extension `session_before_compact` and `session_compact` events, so an extension can distinguish a manual `/compact` from a threshold auto-compaction from an overflow-retry flow. The runtime's context management becomes legible from the outside.
    • Harness authors building on Pi extensions can now branch behavior on why compaction fired and whether it will retry, rather than inferring it.
  2. 2026-06-08 / Pi Coding Agent

    Pi gates local settings, instructions, and packages behind a saved trust decision

    • v0.79.0 added project trust for local settings, resources, instructions, and packages with saved decisions and --approve/--no-approve CLI controls. Pi now treats local project files as untrusted-by-default; open an untrusted repo and confirm it refuses to load local resources until approved.
  3. 2026-06-03 / Pi Coding Agent

    OAuth browser-launch URI validation closes command-injection path

    • An operator authenticating against a third-party or attacker-influenced OAuth server was exposed to shell command injection via the verification URI; upgrading past ba6e529 removes that exposure.
    • Verification path: confirm the build includes ba6e529 (non-HTTP(S) URIs rejected, browser launched via spawn() not shell exec()).
  4. 2026-06-03 / Pi Coding Agent

    Git package install path-traversal rejection

    • An operator installing a git-sourced package from an untrusted URL was exposed to files being written outside the package install root via traversal sequences; upgrading past a98e087 blocks this at parse and resolution time.
    • Verification path: confirm a98e087 is present; a crafted git URL with '../' is rejected with 'Refusing to use path outside package install root'.

May 2026

  1. 2026-05-12 / Pi Coding Agent

    Package scope migration to earendil-works; harness SDK stream config

    • Operators with global Pi installs should run `pi update --self` once @earendil-works/pi-coding-agent is published to migrate from the old @mariozechner scope.
    • Operators with Pi pinned in CI, Dockerfiles, or package.json by the old @mariozechner/pi-coding-agent name should update their references to @earendil-works/pi-coding-agent.
  2. Accessibility is a frontier capability, not marketing polish

    • Everyday adoption depends on setup recovery, visible progress, voice/chat surfaces, readable UI, OAuth clarity, and fewer dead ends.
  3. Integrations are volatile; the operating loop has to be durable

    • Provider lists, plugin systems, transports, and model profiles will keep changing.
  4. Authority semantics are explicit but fragmented.

    • Permission profiles, workspace trust, env loading, hooks, MCP behavior, extension schemas, and provider transports differ by worker and release.
  5. Plugin, extension, and skill ecosystems are becoming the integration surface.

    • The practical power of worker CLIs increasingly depends on plugins, hooks, extensions, skills, and transport modules, not just the base model.
  6. Worker integrations are not durable doctrine.

    • Pi removed built-in Gemini CLI and Antigravity support while adding many providers; Gemini preview/nightly channels differ materially; Codex alpha releases and app-server surfaces move quickly.

<- All signals