# girard-acp-deux-protocoles-un-sigle-2026-08-02

## Veille

Tech-watch note by **Didier Girard** dated **August 2, 2026**, prompted by a colleague's question ("what is ACP?") that turns out to address a problem that is not terminological but **documentary**. **Three protocols compete for the acronym**, with no technical overlap whatsoever: **Agent Client Protocol** (client ↔ agent — Zed, August 2025, JSON-RPC 2.0 over stdio, Apache-2.0, "what LSP did for languages"), **Agentic Commerce Protocol** (agent ↔ merchant — OpenAI + Stripe, Sept. 29, 2025, facing Google's **UCP** of Jan. 11, 2026 backed by **AP2**), and **Agent Communication Protocol** (agent ↔ agent — IBM Research / BeeAI, marginal but polluting searches). **The core of the note is not the disentangling but its observed failure**: the author searches "ACP" in his tech-watch knowledge base and gets **twelve results, all about the commerce protocol, zero about Zed's** — *"our watch agents had indexed the acronym without disambiguating it"*. Hence a knowledge-engineering rule: ***"never index a bare acronym"*** — the entity is "Agent Client Protocol", "ACP" is **only an alias**, carried by three distinct entities. A structuring clarification follows (**MCP connects an agent to its tools, ACP connects a client to an agent; the two stack**), then the textbook case: **Buzz**, published by **Block** on July 21, 2026 under Apache-2.0 — a self-hostable workspace built on **Nostr**, where every human or agent participant is a **keypair** and every message, workflow step, or git push is a **signed event** in an append-only log. A fully protocol-based architecture (`buzz-acp` an ACP harness over stdio, `buzz-agent` an ACP agent calling an LLM, `buzz-dev-mcp` an MCP server for shell + editing), hence the agent-agnosticism: **Goose, Claude Code, and Codex** plug in through the same harness, and **Hermes** (Nous Research) connected to it without Block writing a single line — *"N+M instead of N×M, running in production"*. The note closes on the question of the **Claude subscription** versus third-party agents, with a five-stage 2026 timeline and a **design rule** that applies beyond this case: the line is not legal but **architectural** — ***"who is consuming, and on whose behalf"*** (an `owner-only` agent consumes your subscription for you; an `anyone` agent in a shared channel routes your colleagues' requests through your account). ⭐ **Verification carried out on this corpus**: the thesis holds, and more starkly than the note asserts — not only is "Agent Client Protocol" **completely absent** from it, but the bare acronym `ACP` **is already typed as an entity** in two fiches, and the KB page `Agentic-Commerce-Protocol` **already attributes the protocol to Google** when it belongs to OpenAI + Stripe. The collision described is not a risk yet to come: it has **already produced an attribution error** in the graph.

## Titre Article

ACP : deux protocoles, un sigle, zéro rapport

## Date

2026-08-02

## URL

*Aucune URL — texte fourni directement par l'auteur, non publié au moment de la mise en fiche. Source archivée dans `raw-data/girard-acp-deux-protocoles-un-sigle-2026-08-02.md`.*

## Keywords

ACP, Agent Client Protocol, Agentic Commerce Protocol, Agent Communication Protocol, acronym homonymy, disambiguation, documentary collision, knowledge engineering, entity alias, bare entity, indexing, duplicate trap, Zed, JetBrains, LSP, Language Server Protocol, JSON-RPC 2.0, stdio, Apache-2.0, agent registry, versioned specification, protocol governance, N+M vs N×M, editor-agent decoupling, interoperability, agent portability, MCP, Model Context Protocol, protocol stacking, OpenAI, Stripe, UCP, Universal Commerce Protocol, AP2, Agent Payments Protocol, agentic commerce, IBM Research, BeeAI, Buzz, Block, Jack Dorsey, Goose, Codex, Claude Code, Hermes, Nous Research, Nostr, keypair, signed event, append-only log, self-hosting, sovereignty, multi-agent substrate, harness, buzz-acp, buzz-agent, buzz-dev-mcp, Claude subscription, Agent SDK, claude -p, OAuth, Consumer Terms, OpenClaw, Agent SDK credits, API key, ordinary, individual use, owner-only, anyone, who consumes on whose behalf

## Authors

**Didier Girard** — auteur de la note. Écrit ici depuis la position de **praticien de la veille outillée** : le déclencheur est une question de collègue, le matériau principal est le comportement observé de sa propre base de connaissances, et la conclusion est une **règle de curation** adoptée en interne. Le texte alterne donc deux voix — l'explicateur de protocoles et l'ingénieur de la connaissance qui constate un défaut chez lui et en tire une norme.

## Ton

**Profile** : a technical clarification note, **practitioner** register, short and dense format. Neither market analysis nor position-taking — a **useful disentangling** paired with a methodological experience report. Audience: engineers, architects, and anyone maintaining a documentary corpus on these topics.

**Style** : structured in **five movements** (the three ACPs → the real risk → not to be confused with MCP → the Buzz case → the subscription question), each self-contained and separately citable. Three traits:

1. **Opening with the real question** — *"A colleague asks me this week: \"what is ACP?\""*. No abstract exposition: the problem is dated, embodied, and the answer is flagged as a trap before it is given.
2. **Confession as argument**. The strongest passage in the note is where the author **reports a failure of his own tooling** ("twelve results, all about the wrong protocol"). That's what turns a vocabulary curiosity into an engineering problem — and what gives authority to the rule that follows. A rare register: one rarely publishes the hole in one's own setup.
3. **The operational punch line**. Every section ends with something applicable — the indexing rule, the MCP/ACP table, the `owner-only` vs `anyone` flag. No development is left untranslated into action.

**Signature phrases** : *"two protocols, one acronym, zero connection"*, *"simple question, trap answer"*, *"never index a bare acronym"*, *"a perfect duplicate trap"*, *"Zed launched the thing, then let it go"*, *"N+M instead of N×M, running in production"*, *"the distinction is not legal, it is architectural"*, *"who is consuming, and on whose behalf"*, *"better settled at design time than by reading the terms of service"*.

**Epistemic stance** : **cautious and sourced**. The author explicitly bounds his competence on the contractual part and defers to primary sources rather than his own interpretation. The text gives seven links for a short format — an unusual sourcing density for a note of this size.

## Pense-betes

- **The disentangling, worth memorizing once and for all** : | Acronym | Full name | Connects | Origin | |---|---|---|---| | ACP #1 | **Agent Client Protocol** | a **client** to an **agent** | Zed, August 2025 | | ACP #2 | **Agentic Commerce Protocol** | an **agent** to a **merchant** | OpenAI + Stripe, Sept. 29, 2025 | | ACP #3 | **Agent Communication Protocol** | an **agent** to an **agent** | IBM Research / BeeAI | → **No technical overlap.** And the surface resemblance is maximal ("protocol", "agents", "open source", "2025-2026"), which is precisely what makes it a trap.
- **The analogy that lands** : ACP #1 is to the agent what **LSP** is to the language. Before, N editors × M agents = **N×M** custom-built integrations; afterward, each side speaks the protocol and **N+M** suffices. It's the classic interoperability argument, and it's the only one that matters for deciding whether to adopt it.
- **MCP vs ACP — the table to reuse as-is** : **MCP** connects an agent to its **tools and data**; **ACP** connects a **client** to an **agent**. **They stack**: the client speaks ACP to the agent, the agent speaks MCP to its tools. A frequent confusion, cleared up in two lines.
- **⭐ The curation rule — the note's real deliverable** : ***"never index a bare acronym"***. The canonical entity is the **full name**; the acronym is only an **alias**, and an alias can be carried by several entities. This is directly applicable to this repository — see [`docs/reference/ontologie-kg.md`](docs/reference/ontologie-kg.md) (disambiguation rules) and `scripts/entity_aliases.tsv`.
- **⭐⭐ VERIFICATION CARRIED OUT ON THIS CORPUS (2026-08-02) — the thesis holds, and worse** : 1. *"Zero about Zed's protocol"* → **confirmed exactly**. At the time of verification, the string "Agent Client Protocol" was **absent from `fiches/` and `kb/`**; "Zed" appeared only in an unrelated fiche ([[powered-by-claude-anthropic-partners-2025-07-09]]). **→ Gap closed the same day** by [[agentclientprotocol-introduction-2026-08-02]] (primary source), [[dethlefsen-zed-anthropic-subscription-changes-2026-05-14]], and [[sawers-thenewstack-anthropic-pause-agent-sdk-subscription-2026-06-16]]. 2. *"Twelve results"* → **not reproducible by grep**: **3 fiches** contain the token `ACP` ([[thilen-opascope-ai-shopping-assistant-agentic-commerce-protocols-2026-02-10]], [[marette-agentic-commerce-optimization-acp-ucp-2026-02-23]], [[ragsdale-merit-open-agentic-commerce-protocols-2026-03-19]]), for **32 occurrences**. The "twelve" likely comes from a semantic search engine, not a grep. **The number doesn't check out; the qualitative conclusion does** — and that's the one that matters. 3. **The trap was already loaded, not merely possible**: contrary to the proposed rule, the bare acronym **`ACP` was already typed as an entity** in the graph, subject of triples in two fiches ([[thilen-opascope-ai-shopping-assistant-agentic-commerce-protocols-2026-02-10]], [[ragsdale-merit-open-agentic-commerce-protocols-2026-03-19]]), alongside a variant `Agentic Commerce Protocol (ACP)` — i.e. **three entities for a single protocol**. Had a fiche on Zed's ACP typed `ACP` as an entity, the two protocols would have merged into a single KB page. **→ Fixed on August 2, 2026**: the variants were normalized to `Agentic Commerce Protocol`, and symmetrically `UCP` → `Universal Commerce Protocol` and `ACS` → `Agentic Commerce Suite`. The note's rule was therefore not preventive here: it was **corrective**. 4. **⚠️ A defect already materialized, and a more serious one**: the page `kb/Agentic-Commerce-Protocol.md` carries the attribute **"category: **Google** agentic commerce protocol"** and the relation **`Google created → Agentic Commerce Protocol` (confidence 0.99)**. Yet the ACP is **OpenAI + Stripe**; Google's protocol is **UCP** (+ AP2). **The confusion the note describes between two ACPs has already produced, in this corpus, an attribution error between OpenAI's ACP and Google's protocol.** → **Fix to be applied to the source fiches** (since the KB is generated, it cannot be corrected by hand).
- **Governance of ACP #1 — a nuance to add** : the note writes *"Zed launched the thing, then let it go"*. The opening move is **real and verifiable** (its own organization, versioned specification, public registry, JetBrains implementation). But public sources describe more of a **shared Zed × JetBrains governance** — the agent registry was **co-launched** by the two in **January 2026**, and ACP is still presented on Zed's side as *its* open standard and the flagship feature of Zed 1.0. **Openness, yes; dispossession, no.** A nuance with no consequence for the interoperability argument, but not to be overplayed when speaking about it. ⚠️ **Detail since disproven, by the primary source**: the version number **ACP 1.2** is not corroborated — the specification's navigation shows **`v1` (Latest)** and **`v2` (Draft)**, cf. [[agentclientprotocol-introduction-2026-08-02]]. Cite **v1 / v2 draft**. The registry URL `cdn.agentclientprotocol.com/registry` remains unconfirmed (public sources point to `agentclientprotocol.com/registry`).
- **Buzz — the concrete case, verified and accurate** : published by **Block** on **July 21, 2026**, **Apache-2.0**, repository `github.com/block/buzz`. A **self-hostable** workspace on **Nostr**; every human or agent participant is a **keypair** (Schnorr); every message, workflow step, and git push is a **signed event** in an **append-only** log. Three protocol building blocks: **`buzz-acp`** (a harness translating Buzz events to an agent, in ACP over stdio), **`buzz-agent`** (an ACP agent calling an LLM and using MCP tools), **`buzz-dev-mcp`** (an MCP server for shell + file editing). **Three harnesses shipped out of the box: Goose (Block), Claude Code (Anthropic), Codex (OpenAI).** A self-hostable relay — an explicit **data sovereignty** argument at Block.
- **⭐ Why Buzz is the right illustration** : it's not "a product that uses ACP", it's **the demonstration that the decoupling holds**. Three agents from three competing vendors plugged in through **the same harness**, and a fourth (**Hermes**, Nous Research) connected **without Block writing a single line**. The N+M promise stops being an architecture argument and becomes an observable fact. *(Nuance: on Hermes's side, the public source frames the addition as an **ACP server mode** opening up Zed, JetBrains, Neovim, and others — the benefit for Buzz is a consequence of ACP, not a targeted integration. Which **reinforces** the argument rather than weakening it.)*
- **The enterprise-architecture reading** : Buzz provides a **sovereign, auditable multi-agent substrate, with no third-party SaaS dependency** — signed log, self-hosted relay, cryptographic identities. It's one possible answer to the question of "where human-agent collaboration will live in the information system". Worth relating to the convergence of hyperscaler agent platforms analyzed in [[janakiram-agent-platform-portability-contract-2026-07-20]]: **Buzz is the self-hosted option for the same portability need**.
- **Claude subscription and third-party agents — 2026 timeline as reported** (⚠️ **taken from the note's sources, not re-verified here**) : Jan. 9 silent technical block on subscription OAuth tokens outside official tools → Feb. 17-20 formalization in the docs and the Consumer Terms (the **OpenClaw** episode) → Apr. 4 full enforcement → May 13-14 announcement of **separate Agent SDK credits** ($20 Pro / $100 Max 5x / $200 Max 20x) effective June 15 → **June 15: the change suspended the very day it took effect**. **State reported as of August 2, 2026**: the Agent SDK, `claude -p`, and third-party applications built on it **draw from the subscription's limits**; the separate credit **does not exist**. → **This state is time-bound by construction: re-verify it before any decision.**
- **⭐⭐ The rule that will outlast the terms of service — the note's best idea** : the line drawn by Anthropic separates **"ordinary, individual"** use from **routing other people's requests** via Free/Pro/Max credentials. Translation: an **`owner-only`** agent consumes **your** subscription **for you** — within bounds; an **`anyone`** agent in a shared channel routes **your colleagues'** requests through **your account** — out of bounds, and that's the moment to switch to a **usage-billed API key**. **The distinction is not legal, it is architectural: *who is consuming, and on whose behalf*. To be settled at design time, not by reading the terms of service.** ⭐ **A connection worth making** : this is **exactly the ambient authority** from [[valente-zalewski-beyond-zero-enterprise-security-ai-era-2026-07-20]], transposed from authorization to billing. An agent that inherits its human's permissions and acts on behalf of a third party poses the same boundary problem, whether it's accessing a document or consuming a quota. **The question "on whose behalf?" is the same invariant in both cases.**
- **Meta / to link** : on the commerce side, the three fiches carrying the homonymy — [[ragsdale-merit-open-agentic-commerce-protocols-2026-03-19]], [[marette-agentic-commerce-optimization-acp-ucp-2026-02-23]], [[thilen-opascope-ai-shopping-assistant-agentic-commerce-protocols-2026-02-10]] — plus [[nrf-2026-commerce-agentique-ucp-deep-research-2026-01-13]] and [[google-agentic-commerce-ap2-payment-protocol-2025-09-16]] on the Google side. On the Block/Goose side: [[block-goose-mcp-ui-future-agentic-interfaces-2025-08-25]] and [[mcp-ui-future-agentic-interfaces-goose-2025-08-25]]. On the open standardization of the agent layer: [[openai-agentic-ai-foundation-linux-2025-12-09]]. ⚠️ **Graph guideline arising from this fiche** : **never create an `ACP` entity**. The three canonical entities are **Agent Client Protocol**, **Agentic Commerce Protocol**, and **Agent Communication Protocol**; "ACP" must only ever appear as an alias explicitly attached to one of them.

## RésuméDe400mots

Tech-watch note dated **August 2, 2026**, born from a colleague's question — *"what is ACP?"* — which the author shows has no simple answer: **three protocols compete for the acronym**, with not the slightest technical overlap.

**Agent Client Protocol** connects **a client to an agent**. Introduced by **Zed** in August 2025, it does for agents what **LSP** did for languages: it decouples the editor from the agent. Before, N editors × M agents required **N×M** custom-built integrations; afterward, each side speaks the protocol and **N+M** suffices. JSON-RPC 2.0 over stdio, Apache-2.0. The note points out that the protocol has left its creator's orbit — its own organization, an agent registry, a versioned specification, a JetBrains implementation.

**Agentic Commerce Protocol** has nothing to do with it: it connects **an agent to a merchant** (discovery, cart, payment). Announced by **OpenAI and Stripe** on September 29, 2025, it faces **Google**'s **UCP** (January 11, 2026), backed by **AP2** for payment. The stake: the "Visa/Mastercard" layer of agentic commerce. **Agent Communication Protocol** (IBM Research / BeeAI), agent-to-agent, rounds out the picture and pollutes searches.

**The real subject is documentary.** The author searches "ACP" in his tech-watch database: **twelve results, all about the commerce protocol, zero about Zed's**. The indexing agents had processed the acronym without disambiguating it. Hence the rule adopted: ***"never index a bare acronym"*** — the entity is the full name, the acronym is only an **alias**, here carried by three distinct entities. In passing, the note clears up a neighboring confusion: **MCP** connects an agent to its **tools**, **ACP** connects a **client** to an **agent**, and the two **stack**.

**The concrete case is Buzz**, published by **Block** on July 21, 2026 under Apache-2.0: a self-hostable workspace on **Nostr** where humans and agents share the same channels, each participant being a **keypair** and every event — message, workflow step, git push — being **signed** in an append-only log. The agent architecture is entirely protocol-based (`buzz-acp`, `buzz-agent`, `buzz-dev-mcp`), hence the agnosticism: **Goose, Claude Code, and Codex** through the same harness, and **Hermes** connected without a single line of code on Block's side. *"N+M instead of N×M, running in production."*

**The punch line concerns the Claude subscription** versus third-party agents, after a turbulent 2026 (OAuth block, separate credits announced then suspended the day they took effect). The rule adopted separates **ordinary, individual** use from **routing other people's requests**. Its formulation applies beyond this case: *"the distinction is not legal, it is architectural: **who is consuming, and on whose behalf**"* — best settled at design time rather than by reading the terms of service.

## GrapheDeConnaissance

- Didier Girard —affirme_que→ trois protocoles distincts se partagent le sigle ACP sans aucune intersection technique (AFFIRMATION, 0.97)
- Agent Client Protocol —permet→ de relier un client à un agent, en découplant l'éditeur de l'agent (AFFIRMATION, 0.96)
- Agent Client Protocol —s_inspire_de→ Language Server Protocol (TECHNOLOGIE, 0.93)
- Zed —a_créé→ Agent Client Protocol (TECHNOLOGIE, 0.95)
- JetBrains —utilise→ Agent Client Protocol (TECHNOLOGIE, 0.92)
- Agent Client Protocol —utilise→ JSON-RPC 2.0 sur stdio (TECHNOLOGIE, 0.94)
- Agent Client Protocol —réduit→ le nombre d'intégrations de N×M à N+M (AFFIRMATION, 0.94)
- Agentic Commerce Protocol —permet→ de relier un agent à un commerçant (découverte, panier, paiement) (AFFIRMATION, 0.95)
- OpenAI —a_créé→ Agentic Commerce Protocol (TECHNOLOGIE, 0.95)
- Stripe —a_créé→ Agentic Commerce Protocol (TECHNOLOGIE, 0.93)
- Universal Commerce Protocol —concurrence→ Agentic Commerce Protocol (TECHNOLOGIE, 0.92)
- Universal Commerce Protocol —utilise→ Agent Payments Protocol (TECHNOLOGIE, 0.9)
- Agent Communication Protocol —permet→ l'interopérabilité agent-à-agent (AFFIRMATION, 0.88)
- Didier Girard —recommande→ ne jamais indexer un sigle seul : l'entité est le nom complet, le sigle n'est qu'un alias (AFFIRMATION, 0.96)
- homonymie de sigle —s_oppose_à→ la qualité d'un corpus de veille indexé automatiquement (AFFIRMATION, 0.9)
- Model Context Protocol —s_applique_à→ la liaison entre un agent et ses outils et données (AFFIRMATION, 0.95)
- Agent Client Protocol —converge_avec→ Model Context Protocol (TECHNOLOGIE, 0.9)
- Block —publie→ Buzz (TECHNOLOGIE, 0.97)
- Buzz —utilise→ Nostr (TECHNOLOGIE, 0.95)
- Buzz —utilise→ Agent Client Protocol (TECHNOLOGIE, 0.95)
- Buzz —utilise→ Model Context Protocol (TECHNOLOGIE, 0.93)
- Buzz —permet→ de brancher Goose, Claude Code et Codex par le même harnais (AFFIRMATION, 0.94)
- Buzz —permet→ un substrat multi-agent auto-hébergeable et auditable, sans dépendance SaaS tierce (AFFIRMATION, 0.9)
- Nous Research —utilise→ Agent Client Protocol (TECHNOLOGIE, 0.88)
- Didier Girard —affirme_que→ la frontière entre usage individuel et routage de requêtes d'autrui est architecturale, pas juridique — qui consomme, et pour le compte de qui (CITATION, 0.95)
- Anthropic —affirme_que→ les limites Pro et Max supposent un usage ordinaire et individuel de Claude Code et de l'Agent SDK (AFFIRMATION, 0.9)
- Anthropic —s_oppose_à→ le routage de requêtes d'utilisateurs tiers via des identifiants Free, Pro ou Max (AFFIRMATION, 0.92)

---
Canonical: https://www.thekb.eu/en/fiches/girard-acp-deux-protocoles-un-sigle-2026-08-02/
