SNAPSHOT · TIER B · SERVER

Pi 0.84.1@936aff0

RPC-specific snapshot. Its JSONL transport is source-mapped independently from Pi's interactive CLI behavior.

pi-2026-08-10-rpccurrent1 claims
Evidence boundary

Source claims are pinned to commit 936aff00918d; product behavior still requires independent experiments.

loopunknown
contextunknown
toolsunknown
safetyunknown
reliabilityunknown
extensibilityunknown
orchestrationunknown
interfacespartial
observabilityunknown

Pi RPC snapshot

RPC mode is a process boundary for non-Node integrations, not a network daemon. Commands are written to stdin as strict LF-delimited JSON; responses and agent events leave through stdout, so business logs must not corrupt the framing channel.

The protocol covers prompts, steering, follow-up, abort, model/thinking controls, queue modes, compaction, retry, Bash, session trees, fork/clone, and command discovery. A client can subscribe to events and use agent_settled to determine that a run is idle.

Confirmed and unknown

  • Confirmed: typed command union, JSONL framing, request IDs, and asynchronous event flow.
  • Unknown: cross-language compatibility, backpressure, large-message boundaries, crash/restart behavior, and protocol evolution policy.
  • Safety: RPC adds no sandbox; it inherits the CLI core's requirement for an external isolation boundary.

Claim: pi-source-rpc-mode. The next step is a provider-free scripted RPC fixture covering prompt → tool events → settle → session tree.

PINNED SOURCE MAP

github.com/earendil-works/pi

936aff00918de1187f085f123c2812d8f2d67745
  • packages/coding-agent/src/modes/rpc/rpc-mode.ts
  • packages/coding-agent/src/modes/rpc/rpc-types.ts
  • packages/coding-agent/src/modes/rpc/rpc-client.ts
  • packages/coding-agent/docs/rpc.md
CLAIM LEDGER1 REVIEWED · 0 DISPUTED