T3 Code · ACP integration audit · 24 August 2026

ACP v2 parity is broad. The next wins are fidelity, auth handoff, and native transports.

The generic Registry path now prefers the latest unstable ACP v2 schema while retaining explicit v1 compatibility for agents that ship on an independent schedule. Pi and Google Antigravity revealed two different legacy handshakes in live testing, and both now route through the same provider-neutral boundary.

Preferred schemav2.0.0-alpha.3
Compatibilityv1.21.0
Focused tests237 passed
Live agentsPi + Antigravity

Outcome

Registry search, compatible-distribution selection, global package installation, managed binary installation, provider identity, authentication state, models, configuration, commands, prompt lifecycle, permissions, tools, message upserts, usage, plans, agent terminals, compaction, session import, checkpoints, and mobile provider identity all share the generic ACP path.

Live negotiation changed the implementation

pi-acp@0.0.33 returns a v1 response with protocol value 1. Google Antigravity returns a v1-shaped response with protocol value 2. Generation selection is now based on the response discriminator, not an overloaded numeric value.

Live proof

Pi ACP Registry install and completed T3 Code turn
Pi · fresh global install, model discovery, completed turn, and global command proof through negotiated ACP v1 compatibility.
Google Antigravity ACP Registry install and handshake
Google Antigravity · Registry binary download, provider identity, live ACP handshake, and clean Google login boundary. A model turn correctly remains disabled because the test host was deliberately left unauthenticated.

Current feature parity

SurfaceStatusWhat is integratedWhat remains
Registry lifecycleIntegratedSearch, environment compatibility, exact versions, global npm and uv tools, managed binaries, deletion semantics.Optional global shims for binary distributions.
Protocol routingIntegratedv2 alpha.3 preferred, v1.21 fallback, one provider-neutral client and adapter.Conformance fixtures for every future alpha.
AuthenticationBroadAgent, terminal, and environment methods, logout, provider status, URL elicitation.Better cross-device and headless continuation UX.
Prompt lifecycleIntegratedv2 accepted response plus idle state, v1 terminal response, cancel and late-event quarantine.Dedicated requires_action presentation.
Messages and contentBroadChunks, authoritative root and child assistant upserts, replay boundaries, text, links, resources, safe binary placeholders.Preserve unknown future content and validate user and thought upsert edge cases.
Tools and permissionsBroadTool lifecycle, content, permission policy, request identity, MCP approval elicitations, and native v2 structured diff metadata.Render structured operations and locations directly in the T3 tool UI.
Models and optionsIntegratedLive model discovery, custom IDs, config options, picker updates, Plan mapping, and preservation of the agent's native Build default.ACP provider credential management methods.
PlansBroadItems, file, markdown, replacement and removal updates.Project multiple concurrent plan IDs instead of one flattened plan.
Agent terminalsBroadSnapshots, streaming UTF-8 output chunks, decoded-byte caps, exit status, associated tool rows.Standalone terminal UI and strict base64/input-frame validation.
SessionsBroadList, deterministic import, v1 load, v2 resume/replay, failed-load isolation, fork, close, rollback replacement.User-facing session/delete.
Usage and compactionBroadContext usage, cumulative cost metadata, compaction lifecycle and summaries.Dedicated compaction UX and context-reset semantics.
MCPBridgeStdio and HTTP injection plus authenticated terminal fallback.Native ACP-carried MCP transport.
ClientsBroadWeb and desktop configuration; mobile displays ACP identity and provider health.Mobile install and provider-management flows.

Best generic ACP improvements

P0

Preserve unknown v2 variants

Keep raw future content and update payloads in durable events or explicit placeholders instead of dropping them during normalization.

Survives new alphas without silent data loss.
P0

Finish authentication handoff

Represent browser, terminal, and environment authentication as resumable provider actions with expiry, refresh, and cross-device continuation.

Makes Google and other OAuth agents obvious on remote hosts and mobile.
P1

Render structured diff fidelity

Native v2 operations, old paths, file and media types, multi-file changes, and patch text are preserved. Project them into first-class T3 file-change rows instead of a generic tool payload.

Makes agent edits reviewable and trustworthy.
P1

Project plans by ID

Retain multiple ACP plans, their file or markdown forms, and targeted removal rather than flattening all updates into one plan.

Supports richer planning agents without provider code.
P1

Complete authoritative replay semantics

Exercise user, assistant, and thought upserts during active turns and replay, including null clears, array replacement, and interleaved chunks.

Prevents duplicated or stale history after session import.
P1

Expose terminal and action state

Surface standalone agent terminals and a dedicated requires_action state, while adding strict base64 and input-frame validation around the existing decoded-byte cap.

Avoids invisible work and ambiguous stalled turns.
P1

Implement native MCP-over-ACP

Support { type: "acp" } servers and the connect, message, and disconnect methods alongside the existing stdio and HTTP bridge.

Removes extra processes and enables proxy-native tool transport.
P2

Add safe provider configuration

Integrate providers/list, providers/set, and providers/disable only with a secret-safe schema and clear ownership model.

Lets generic agents expose upstream model providers without custom settings.
P2

Add session deletion and compaction UX

Expose explicit deletion for listed native sessions and show compaction progress, failure, summary, and context reset as first-class state.

Closes lifecycle gaps without implicit destructive behavior.

Intentional limits

ACP does not provide portable subagent lineage or guarantee that provider-owned tools share T3's sandbox. Checkpoint rollback restores the workspace but must replace the native agent session because ACP has no conversation truncation operation.

Defer editor-only protocol surfaces

NES suggestions and document synchronization should wait for an editor surface that can present and own those semantics. Adding transport handlers without a product consumer would create machinery without user value.