Aller au contenu

root / tags / buzz-agent

#buzz-agent

2 fiches

Architecture & Construction

Buzz (buzz.xyz) — Rapport de recherche pour présentation

Rapport de recherche interne du **12 août 2026** consolidant, en vue d'une présentation, tout ce qui est publiquement documenté sur **Buzz** — le workspace humains + agents de **Block**, lancé le **21 juillet 2026** sous licence **Apache 2.0**. Il agrège les deux billets d'ingénierie déjà fichés avec l'annonce corporate, le dépôt GitHub, la presse, X, et **trois retours d'expérience indépendants** qui constituent les seules données non auto-déclarées du dossier. **(A) Un écart de vocabulaire documenté par citation** : le tweet de lancement de **Jack Dorsey** annonce *« model-agnostic, decentralized, self-sovereign, and open source »* ; l'`ARCHITECTURE.md` de Block écrit *« The relay is the single source of truth. All reads and writes flow through it. There is no peer-to-peer event exchange, no gossip, no replication. »* Le relais est donc unique et autoritaire par communauté : la « décentralisation » de Buzz est une **souveraineté organisationnelle** — auto-hébergement et identité portable — non une redondance réseau. Formule de **TFTC** : *« Two of those three hold cleanly. The third needs a qualifier. »* **(B) Une asymétrie entre la rigueur démontrée et le risque d'exploitation.** D'un côté, un formalisme rare pour une v0.4.x/0.5.x : spécification d'isolation multi-tenant **mécanisée en TLA+**, propriétés d'autorisation vérifiées en **Tamarin**, protocole de stockage Git model-checké, journal d'audit append-only à chaîne de hash, 127 *event kinds*, NIP-01/42/98/34. De l'autre, l'appartenance au canal est l'unité de permission — *« channel membership is not fine-grained tool authorization »* (João Queirós) —, les agents tournent en `--dangerously-skip-permissions` hors bac à sable sur le poste d'un humain, et l'observabilité manque : *« Buzz tells me an agent got a message. It doesn't tell me what happens next »* (DevTools Daily, qui rapporte des kills OOM silencieux). Block l'assume : *« the agent can do anything, and security rests entirely on restricting who can tell it what to do »*. **(C) La pile technique**, absente des billets fichés : relais **Rust** (Axum WS + REST), **Postgres**, **Redis**, **S3/MinIO** via Blossom, client desktop **Tauri + React**. L'intégration agent passe par **`buzz-acp`**, harnais **ACP** qui branche goose, Codex et Claude Code et traduit **ACP ↔ MCP**, plus **`buzz-agent`**, agent maison. Le rapport se corrige lui-même sur un point : le *« +33 % de travail »* du TL;DR de Block est le **ratio de tâches terminées (20 contre 15 sur 44)**, non un gain de score — celui-ci passe de 59,1 % à 71,5 %, soit **+12,4 points**.

#Buzz#buzz.xyz#Block

**Deep Research Veille Interne** — rapport non signé · produit le **12 août 2026** en préparation d'une présentation. Aucune URL publique ; source archivée dans `raw-data/`.

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

Note de veille de **Didier Girard** datée du **2 août 2026**, partie d'une question de collègue (« c'est quoi ACP ? ») pour traiter un problème qui n'est pas terminologique mais **documentaire**. **Trois protocoles se disputent le sigle**, sans aucune intersection technique : **Agent Client Protocol** (client ↔ agent — Zed, août 2025, JSON-RPC 2.0 sur stdio, Apache-2.0, « ce que LSP a fait pour les langages »), **Agentic Commerce Protocol** (agent ↔ commerçant — OpenAI + Stripe, 29 sept. 2025, face à l'**UCP** de Google du 11 janv. 2026 adossé à **AP2**), et **Agent Communication Protocol** (agent ↔ agent — IBM Research / BeeAI, marginal mais polluant les recherches). **Le cœur de la note n'est pas le démêlage mais son échec constaté** : l'auteur cherche « ACP » dans sa base de connaissances de veille et obtient **douze résultats, tous sur le protocole de commerce, zéro sur celui de Zed** — *« nos agents de veille avaient indexé le sigle sans le désambiguïser »*. D'où une règle d'ingénierie de la connaissance : ***« on n'indexe jamais un sigle seul »*** — l'entité est « Agent Client Protocol », « ACP » n'est **qu'un alias**, porté par trois entités distinctes. Suit une clarification structurante (**MCP relie un agent à ses outils, ACP relie un client à un agent ; les deux s'empilent**) puis le cas d'école : **Buzz**, publié par **Block** le 21 juillet 2026 sous Apache-2.0 — espace de travail auto-hébergeable bâti sur **Nostr**, où chaque participant humain ou agent est une **paire de clés** et chaque message, étape de workflow ou push git un **événement signé** dans un journal append-only. Architecture entièrement protocolaire (`buzz-acp` harnais ACP sur stdio, `buzz-agent` agent ACP appelant un LLM, `buzz-dev-mcp` serveur MCP shell + édition), d'où l'agnosticisme d'agents : **Goose, Claude Code et Codex** se branchent par le même harnais, et **Hermes** (Nous Research) s'y est raccordé sans que Block écrive une ligne — *« N+M au lieu de N×M, tenue en production »*. La note se clôt sur la question de l'**abonnement Claude** face aux agents tiers, avec une chronologie 2026 en cinq temps et une **règle de conception** qui vaut au-delà du cas : la ligne n'est pas juridique mais **architecturale** — ***« qui consomme, et pour le compte de qui »*** (un agent `owner-only` consomme votre abonnement pour vous ; un agent `anyone` dans un canal partagé fait passer les requêtes de vos collègues par votre compte). **Vérification menée sur ce corpus** : la thèse tient, et plus durement que ce que la note affirme — non seulement « Agent Client Protocol » y est **totalement absent**, mais le sigle nu `ACP` **est déjà typé comme entité** dans deux fiches, et la page KB `Agentic-Commerce-Protocol` **attribue déjà le protocole à Google** alors qu'il est d'OpenAI + Stripe. La collision décrite n'est pas un risque à venir : elle a **déjà produit une erreur d'attribution** dans le graphe.

#ACP#Agent Client Protocol#Agentic Commerce Protocol

**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.