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
Current feature parity
| Surface | Status | What is integrated | What remains |
|---|---|---|---|
| Registry lifecycle | Integrated | Search, environment compatibility, exact versions, global npm and uv tools, managed binaries, deletion semantics. | Optional global shims for binary distributions. |
| Protocol routing | Integrated | v2 alpha.3 preferred, v1.21 fallback, one provider-neutral client and adapter. | Conformance fixtures for every future alpha. |
| Authentication | Broad | Agent, terminal, and environment methods, logout, provider status, URL elicitation. | Better cross-device and headless continuation UX. |
| Prompt lifecycle | Integrated | v2 accepted response plus idle state, v1 terminal response, cancel and late-event quarantine. | Dedicated requires_action presentation. |
| Messages and content | Broad | Chunks, 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 permissions | Broad | Tool 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 options | Integrated | Live model discovery, custom IDs, config options, picker updates, Plan mapping, and preservation of the agent's native Build default. | ACP provider credential management methods. |
| Plans | Broad | Items, file, markdown, replacement and removal updates. | Project multiple concurrent plan IDs instead of one flattened plan. |
| Agent terminals | Broad | Snapshots, streaming UTF-8 output chunks, decoded-byte caps, exit status, associated tool rows. | Standalone terminal UI and strict base64/input-frame validation. |
| Sessions | Broad | List, deterministic import, v1 load, v2 resume/replay, failed-load isolation, fork, close, rollback replacement. | User-facing session/delete. |
| Usage and compaction | Broad | Context usage, cumulative cost metadata, compaction lifecycle and summaries. | Dedicated compaction UX and context-reset semantics. |
| MCP | Bridge | Stdio and HTTP injection plus authenticated terminal fallback. | Native ACP-carried MCP transport. |
| Clients | Broad | Web and desktop configuration; mobile displays ACP identity and provider health. | Mobile install and provider-management flows. |
Best generic ACP improvements
Preserve unknown v2 variants
Keep raw future content and update payloads in durable events or explicit placeholders instead of dropping them during normalization.
Finish authentication handoff
Represent browser, terminal, and environment authentication as resumable provider actions with expiry, refresh, and cross-device continuation.
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.
Project plans by ID
Retain multiple ACP plans, their file or markdown forms, and targeted removal rather than flattening all updates into one plan.
Complete authoritative replay semantics
Exercise user, assistant, and thought upserts during active turns and replay, including null clears, array replacement, and interleaved chunks.
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.
Implement native MCP-over-ACP
Support { type: "acp" } servers and the connect, message, and disconnect methods alongside the existing stdio and HTTP bridge.
Add safe provider configuration
Integrate providers/list, providers/set, and providers/disable only with a secret-safe schema and clear ownership model.
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.
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.