T3 Code · ACP integration audit · 24 August 2026

The generic ACP path now covers the planned v2 parity work.

The Registry integration prefers the latest unstable ACP v2 schema while retaining explicit v1 compatibility for agents that ship on an independent schedule. Every P0, P1, and P2 item from the audit is implemented through one provider-neutral boundary.

Preferred schemav2.0.0-alpha.3
Compatibilityv1.21.0
Focused verification13 test files
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 and provider management, MCP-over-ACP, checkpoints, and mobile provider identity all share the generic ACP path. Unknown future variants remain explicit instead of disappearing.

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 · Registry discovery, fresh global installation, provider and model selection, and a completed turn through negotiated 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.
AuthenticationIntegratedAgent, terminal, and environment methods, logout, provider status, expiring URL actions, refresh, and cross-device snapshots.Mobile controls for completing provider actions.
Prompt lifecycleIntegratedv2 accepted response plus idle state, v1 terminal response, cancel, late-event quarantine, and visible requires_action state.Broader stress coverage across independent agents.
Messages and contentIntegratedAuthoritative user, assistant, and thought upserts; replay and null clears; text, links, resources, binary placeholders, and explicit unknown variants.First-class rendering for more media and resource types.
Tools and permissionsIntegratedTool lifecycle, permission policy, confined client reads, request identity, MCP approvals, and first-class structured diff operations.Provider-specific extension UX remains opt-in.
Models and optionsIntegratedLive models, custom IDs, config options, picker updates, native Build defaults, Plan mapping, and secret-safe upstream provider management.Mobile provider-management controls.
PlansIntegratedMultiple native plan IDs, item, file, and markdown forms, replacement, and targeted removal.Provider-specific plan renderers are intentionally unnecessary.
Agent terminalsIntegratedAssociated and standalone terminals, streaming UTF-8, decoded-byte and frame caps, strict base64 validation, and exit state.Interactive input when a future schema standardizes it.
SessionsIntegratedList, deterministic import, v1 load, v2 resume and replay, failed-load isolation, fork, close, rollback replacement, and explicit deletion.Mobile session-management controls.
Usage and compactionIntegratedContext usage, cumulative cost, progress, stopped, failed, and completed compaction, summaries, and context reset.Nothing required for current schema parity.
MCPIntegratedStdio, HTTP, native ACP-carried MCP, authenticated fallback, message bounds, and disconnect cleanup.Notification-heavy and long-lived bridge stress fixtures.
ClientsBroadWeb and desktop configuration and lifecycle UI; mobile identity, health, activity, and structured diffs.Mobile install, authentication, provider, and session management.

P0, P1, and P2 work now shipped

P0

Unknown v2 variants

Future content and update variants survive normalization as bounded raw payloads and explicit placeholders.

No silent loss on a new alpha.
P0

Authentication handoff

Browser, terminal, and environment actions are resumable, expiring, refreshable, and visible across connected clients.

Remote OAuth has durable state.
P1

Structured diff fidelity

Operations, old paths, file and media types, multi-file changes, and patch text project into typed web and mobile rows.

Edits remain reviewable.
P1

Plans by native ID

Multiple plans retain their IDs, item, file, and markdown forms, replacement, and targeted removal.

Richer planners do not collide.
P1

Authoritative replay

User, assistant, and thought upserts cover active turns, replay, null clears, replacements, and interleaved chunks.

Imported history stays exact.
P1

Terminal and action state

Standalone terminals, requires_action, strict frame validation, and decoded-byte bounds are first-class.

No invisible or ambiguous work.
P1

Native MCP-over-ACP

{ type: "acp" } connect, message, and disconnect join the stdio and HTTP bridge behind shared bounds.

No extra proxy process required.
P2

Safe provider configuration

providers/list, providers/set, and providers/disable use a secret-safe wire contract and scoped RPC authorization.

Upstream providers stay generic.
P2

Session deletion and compaction UX

Native session deletion and compaction progress, failure, stopped, completed, summary, and context-reset states are exposed.

Lifecycle behavior is explicit.

Remaining generic gaps

Next

Mobile lifecycle controls

Mobile can identify ACP providers and render their activity, health, and structured changes, but cannot yet install agents or manage authentication, upstream providers, and native sessions.

Largest remaining surface gap.
Next

Richer content presentation

Unknown and binary content is preserved safely, but more ACP media and resource variants could receive dedicated renderers instead of compact fallbacks.

Better fidelity without provider branches.
Next

Broader conformance coverage

Add notification-heavy MCP fixtures, cancellation and reconnect races, future alpha fixtures, and live coverage for more independent Registry agents.

Hardens the compatibility boundary.

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.