SNAPSHOT DIFF · STRUCTURAL, NOT SEMANTIC

Pi
Diff

The automatic diff compares only Registry mechanism sets, Claims, Source Maps, and evidence types. Without a reviewed change record, structural differences are never labeled as changed behavior.

CROSS-SURFACE COMPARISON

Both records were observed on the same day. This compares evidence boundaries, not release chronology.

FROM · 2026-08-10

0.84.1@936aff0

pi-2026-08-10-source
Surface
cli
Freshness
current
Open snapshot
TO · 2026-08-10

0.84.1@936aff0

pi-2026-08-10-rpc
Surface
server
Freshness
current
Open snapshot
EVIDENCE-ONLY CANDIDATE0

Evidence type shifted

No evidence-type shift exists on retained mechanisms.

CHANGED · REVIEW REQUIRED

Behavior change is not inferred

A separate human-reviewed diff record is required before labeling behavior as changed.

SOURCE MAP DIFF

Path changes

Path changes describe the inspection boundary, not a change in file behavior.

+ 4 paths
  • packages/coding-agent/docs/rpc.md
  • packages/coding-agent/src/modes/rpc/rpc-client.ts
  • packages/coding-agent/src/modes/rpc/rpc-mode.ts
  • packages/coding-agent/src/modes/rpc/rpc-types.ts
8 paths
  • packages/agent/src/agent-loop.ts
  • packages/agent/src/agent.ts
  • packages/coding-agent/README.md
  • packages/coding-agent/docs/security.md
  • packages/coding-agent/src/core/agent-session.ts
  • packages/coding-agent/src/core/compaction/compaction.ts
  • packages/coding-agent/src/core/extensions/runner.ts
  • packages/coding-agent/src/core/session-manager.ts
CLAIM RECORD SETS

Atomic claims on both sides

FROM · 7 claimsagent-loopPi's pinned agent core uses an inner loop for model/tool/steering turns and an outer loop for queued follow-up messages, emitting explicit agent, turn, message, and tool lifecycle events throughout.context-compactionPi triggers compaction against a configurable reserve threshold, summarizes the older branch, keeps recent entries, tracks file operations, and preserves the full append-only session history outside the reduced model context.execution-policyPi explicitly does not provide an in-process permission system or built-in sandbox for model-invoked filesystem, process, network, or credential access; isolation must come from a container, VM, micro-VM, or other operating-system boundary.extension-runtimePi's coding-agent layer uses an extension runner to dispatch lifecycle events and lets extensions add or replace tools, commands, UI, providers, context transforms, and compaction behavior without modifying the low-level agent loop.subagent-orchestrationPi intentionally omits a built-in subagent orchestration policy; its official project guidance points users to separate Pi processes or extensions so delegation semantics remain outside the minimal core.event-streamPi combines a live typed AgentEvent stream with an append-only JSONL session tree whose entries carry id and parentId, allowing the active context to move between branches without deleting prior history.tool-dispatchPi validates tool arguments, offers before- and after-tool interception points, and executes a batch sequentially or in parallel according to the configured strategy and individual tool constraints.