@sztlink/pi-ensemble 0.1.0-alpha.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/AUDIT.md ADDED
@@ -0,0 +1,20 @@
1
+ # Audit notes — pi-ensemble v0.1-alpha
2
+
3
+ ## Decision
4
+
5
+ Publish as a standalone package/repository: `sztlink/pi-ensemble`.
6
+
7
+ Reason: the protocol is generic infrastructure for local coding-agent coordination. Keeping it inside a TurboQuant benchmark repo would confuse purpose, audience, and security posture.
8
+
9
+ ## Auditor synthesis
10
+
11
+ - **Suely Rolnik:** approved only as membrane, not empire. The system must reduce relay burden without turning Felipe's ateliê into a factory of self-automation.
12
+ - **Vilém Flusser:** approved if the files remain the material interface. It becomes artifact when another developer can use it without the szt.link implant.
13
+ - **Case/Mori lens:** v0.1 must avoid network, process spawning, remote sessions, credential handling, and hidden persistence.
14
+ - **Bion lens:** logs are not thought. Require typed handoffs and human synthesis; avoid auto-summarizing loops in v0.1.
15
+ - **Casey Reas lens:** the interface should show behavior: who has a message, who claims what, what changed. Avoid dashboards that merely inventory state.
16
+ - **Giselle Beiguelman lens:** preserve traces in human-readable files; do not create opaque telemetry or surveillance of agents/users.
17
+
18
+ ## v0.1 acceptance test
19
+
20
+ A user can delete the CLI/extension and still understand the entire collaboration by reading `.pi-ensemble/`.
@@ -0,0 +1,149 @@
1
+ # Claude Code Agent Teams interop
2
+
3
+ Claude Code Agent Teams already provides the right runtime abstraction for many-Claude parallelism: a lead session, teammates with independent context windows, a shared task list, mailbox, task claiming, and tmux/iTerm display modes.
4
+
5
+ `pi-ensemble` should not recreate that layer.
6
+
7
+ Instead, use `pi-ensemble` as the cross-runtime ledger around Agent Teams.
8
+
9
+ ## Recommended architecture
10
+
11
+ ```txt
12
+ Felipe / Pi / another runtime
13
+ ↕ durable handoff
14
+ .pi-ensemble/
15
+
16
+ Claude Code lead session
17
+ ↕ native Claude Agent Teams internals
18
+ Claude teammate A / B / C
19
+ ```
20
+
21
+ The Claude lead can coordinate teammates however Claude Code wants. `pi-ensemble` records only the durable boundary events needed by other runtimes and by the human after the fact.
22
+
23
+ ## What to mirror into pi-ensemble
24
+
25
+ Mirror these events:
26
+
27
+ - lead accepts a handoff;
28
+ - lead claims or releases paths/worktrees;
29
+ - lead starts a meaningful Agent Teams run;
30
+ - lead finds a durable fact that other runtimes need;
31
+ - lead hits a blocker requiring Pi/human/another runtime;
32
+ - lead produces a result pointer;
33
+ - lead asks a cross-runtime question;
34
+ - lead finishes and returns control.
35
+
36
+ Do **not** mirror:
37
+
38
+ - every teammate message;
39
+ - internal debate;
40
+ - transient hypotheses;
41
+ - token/cost chatter;
42
+ - raw terminal scrollback;
43
+ - Claude team topology unless it affects external coordination.
44
+
45
+ Rule:
46
+
47
+ ```txt
48
+ If Pi needs it to decide, publish, avoid conflict, or resume later -> mirror.
49
+ If it only helps Claude teammates coordinate internally -> keep it in Claude.
50
+ ```
51
+
52
+ ## Lead-session startup ritual
53
+
54
+ From the project root:
55
+
56
+ ```bash
57
+ ensemble status
58
+ ensemble inbox --agent claude-lead --since-last-read
59
+ ```
60
+
61
+ If there is a new handoff, acknowledge it:
62
+
63
+ ```bash
64
+ ensemble ack msg_xxx --from claude-lead --body "Claude lead received <task>; preparing Agent Teams run."
65
+ ```
66
+
67
+ Claim paths before edits:
68
+
69
+ ```bash
70
+ ensemble claim src/module-a --agent claude-lead
71
+ ```
72
+
73
+ Record durable start:
74
+
75
+ ```bash
76
+ ensemble note "Claude lead started Agent Teams run: security/perf/tests review for src/module-a." \
77
+ --from claude-lead
78
+ ```
79
+
80
+ Return result:
81
+
82
+ ```bash
83
+ ensemble send pi \
84
+ "Result: Agent Teams review complete. Findings in /path/to/findings.md. No edits applied." \
85
+ --from claude-lead \
86
+ --type result
87
+ ```
88
+
89
+ Release paths:
90
+
91
+ ```bash
92
+ ensemble release src/module-a --agent claude-lead
93
+ ```
94
+
95
+ ## Prompt template for a Claude lead
96
+
97
+ Use this when Pi or a human hands work to a Claude lead:
98
+
99
+ ```txt
100
+ You are a Claude Code lead session participating in pi-ensemble.
101
+
102
+ Before work:
103
+ 1. Run `ensemble status` from the project root.
104
+ 2. Read new inbox items with `ensemble inbox --agent claude-lead --since-last-read`.
105
+ 3. Ack the handoff id with `ensemble ack msg_xxx --from claude-lead --body "received"`.
106
+ 4. Claim any paths you may edit.
107
+
108
+ You may use Claude Code Agent Teams internally if parallel teammates are useful.
109
+
110
+ Mirror only durable milestones into pi-ensemble:
111
+ - accepted task frame;
112
+ - claims/releases;
113
+ - durable findings;
114
+ - blockers/questions;
115
+ - result pointers;
116
+ - final handoff.
117
+
118
+ Do not mirror every internal teammate message.
119
+
120
+ When done, send a concise result with exact paths/URLs and release claims.
121
+ ```
122
+
123
+ ## When to use Agent Teams vs plain Claude lead
124
+
125
+ Use Agent Teams when:
126
+
127
+ - work splits into independent lenses or files;
128
+ - review/research benefits from multiple perspectives;
129
+ - debugging has competing hypotheses;
130
+ - the lead can synthesize without heavy same-file conflicts.
131
+
132
+ Use a single Claude lead when:
133
+
134
+ - task is sequential;
135
+ - one file is edited by everyone;
136
+ - coordination overhead exceeds the task;
137
+ - a focused patch is enough.
138
+
139
+ ## Failure modes and pi-ensemble fallback
140
+
141
+ Agent Teams are experimental and can have resume/task-state/shutdown limitations. If the team state is lost but the lead mirrored durable events, Pi can still reconstruct:
142
+
143
+ - what was requested;
144
+ - what paths were owned;
145
+ - what result pointers exist;
146
+ - what questions/blockers remain;
147
+ - who needs to continue.
148
+
149
+ This is the reason `pi-ensemble` remains separate from Agent Teams.
@@ -0,0 +1,452 @@
1
+ ---
2
+ description: Landscape/benchmark of existing Claude Code, Pi and terminal-agent orchestrators informing pi-ensemble
3
+ tags:
4
+ - pi-ensemble
5
+ - claude-code
6
+ - pi
7
+ - orchestration
8
+ - benchmark
9
+ - multi-agent
10
+ created: '2026-05-05'
11
+ ---
12
+ # pi-ensemble — benchmark/landscape de orquestradores existentes
13
+
14
+ Este é o levantamento correto que deu origem ao `pi-ensemble`: não TurboQuant/KV-cache, mas o ecossistema de ferramentas que tentam coordenar múltiplos Claude Code/Pi/Codex/terminal agents.
15
+
16
+ ## Pergunta
17
+
18
+ O que já existe no campo de orquestração local de agentes de código, e onde o `pi-ensemble` deve se diferenciar?
19
+
20
+ ## Achado central
21
+
22
+ O campo já tem muitos projetos tentando resolver “múltiplos agentes trabalhando em paralelo”, mas quase todos caem em um destes modelos:
23
+
24
+ 1. **mission control / TUI** — gerencia várias instâncias como tarefas em workspaces separados;
25
+ 2. **tmux spawner** — cria janelas/panes de Claude Code e manda mensagens;
26
+ 3. **daemon/orchestrator** — controla lifecycle, worktrees e coordenação;
27
+ 4. **blackboard/memory plugin** — compartilha contexto, mas não necessariamente coordena handoffs;
28
+ 5. **Pi extension / Claude agent-team clone** — tenta portar o modelo de agent teams para Pi.
29
+
30
+ A lacuna para o `pi-ensemble` é outra:
31
+
32
+ > protocolo local, file-only, auditável, sem spawn, sem daemon, sem rede, que deixa qualquer agente participar lendo/escrevendo blackboard + inbox + claims.
33
+
34
+ Ou seja: menos “orquestrador que controla agentes”, mais **camada de handoff legível entre agentes já existentes**.
35
+
36
+ ---
37
+
38
+ # Projetos relevantes
39
+
40
+ ## 1. `smtg-ai/claude-squad`
41
+
42
+ - URL: https://github.com/smtg-ai/claude-squad
43
+ - Stars no scan: ~7330
44
+ - Linguagem: Go
45
+ - Descrição: gerencia múltiplos agentes terminal como Claude Code, Codex, OpenCode e Amp em workspaces separados.
46
+ - Modelo:
47
+ - TUI / mission control;
48
+ - múltiplas tarefas em paralelo;
49
+ - workspaces isolados;
50
+ - revisão de mudanças antes de aplicar.
51
+ - O que ensina:
52
+ - há demanda real por “vários agentes ao mesmo tempo”;
53
+ - UX centralizada é valiosa;
54
+ - porém é ferramenta grande, com lifecycle/controle.
55
+ - Diferença para `pi-ensemble`:
56
+ - `pi-ensemble` não quer ser TUI nem gerenciador de instâncias;
57
+ - pode funcionar por baixo/ao lado de ferramentas assim.
58
+
59
+ ## 2. `dlorenc/multiclaude`
60
+
61
+ - URL: https://github.com/dlorenc/multiclaude
62
+ - Stars no scan: ~542
63
+ - Linguagem: Go
64
+ - Modelo:
65
+ - múltiplas instâncias Claude Code;
66
+ - tmux window por agente;
67
+ - git worktree por agente;
68
+ - roles: supervisor, worker, merge-queue;
69
+ - daemon/coordenação.
70
+ - O que ensina:
71
+ - worktrees são a unidade prática de isolamento;
72
+ - a figura supervisor/worker aparece naturalmente;
73
+ - tmux é o backend visível mais comum.
74
+ - Diferença para `pi-ensemble`:
75
+ - não ter daemon;
76
+ - não assumir Claude-only;
77
+ - não impor roles fixos;
78
+ - registrar claims de path/worktree, mas não gerenciar worktree automaticamente.
79
+
80
+ ## 3. `Iron-Ham/claudio`
81
+
82
+ - URL: https://github.com/Iron-Ham/claudio
83
+ - Stars no scan: ~26
84
+ - Linguagem: Go
85
+ - Descrição: multi-instance Claude Code orchestrator using git worktrees.
86
+ - Sinal importante:
87
+ - issue sobre “Inter-Instance Mailbox System”;
88
+ - hoje usa sentinel JSON/completion signals, e quer comunicação bidirecional.
89
+ - O que ensina:
90
+ - mailbox é necessidade real;
91
+ - sentinel one-way não basta;
92
+ - comunicação entre instâncias é o gargalo.
93
+ - Diferença para `pi-ensemble`:
94
+ - `pi-ensemble` começa pelo mailbox/blackboard como núcleo, não como feature futura.
95
+
96
+ ## 4. `bfollington/claude-blackboard`
97
+
98
+ - URL: https://github.com/bfollington/claude-blackboard
99
+ - Stars no scan: ~11
100
+ - Linguagem: TypeScript
101
+ - Modelo:
102
+ - plugin Claude Code;
103
+ - blackboard local SQLite;
104
+ - foco em session-independence/context sharing.
105
+ - O que ensina:
106
+ - blackboard é um padrão forte;
107
+ - mas SQLite/plugin específico aumenta acoplamento.
108
+ - Diferença para `pi-ensemble`:
109
+ - markdown/jsonl legíveis por humanos;
110
+ - não depende de SQLite;
111
+ - não é Claude-only;
112
+ - inbox tipado + claims entram junto.
113
+
114
+ ## 5. `primeline-ai/claude-tmux-orchestration`
115
+
116
+ - URL: https://github.com/primeline-ai/claude-tmux-orchestration
117
+ - Stars no scan: ~25
118
+ - Linguagem: Shell
119
+ - Modelo:
120
+ - spawn de sessões Claude Code como workers paralelos;
121
+ - heartbeat monitoring;
122
+ - file-based coordination;
123
+ - tmux.
124
+ - O que ensina:
125
+ - heartbeat/watcher é útil;
126
+ - file-based coordination é caminho pragmático;
127
+ - tmux paste é frágil para mensagens longas.
128
+ - Diferença para `pi-ensemble`:
129
+ - tmux deve ser adapter, não core;
130
+ - mensagens longas ficam em arquivo/inbox, não paste.
131
+
132
+ ## 6. `6missedcalls/swarmux`
133
+
134
+ - URL: https://github.com/6missedcalls/swarmux
135
+ - Stars no scan: ~0
136
+ - Linguagem: Shell
137
+ - Modelo:
138
+ - tmux + jq;
139
+ - spawn, message, monitor, coordinate Claude Code agents.
140
+ - O que ensina:
141
+ - implementação pequena é possível;
142
+ - mas ainda mistura coordenação com controle de processo.
143
+ - Diferença para `pi-ensemble`:
144
+ - não spawnar;
145
+ - só escrever/ler estado local.
146
+
147
+ ## 7. `rhysheavensmith/claude-agent-launcher`
148
+
149
+ - URL: https://github.com/rhysheavensmith/claude-agent-launcher
150
+ - Stars no scan: ~6
151
+ - Linguagem: Shell
152
+ - Modelo:
153
+ - tmux multipane launcher para Claude Code agent teams.
154
+ - O que ensina:
155
+ - há uma camada simples de launcher que muita gente quer;
156
+ - mas launcher não resolve memória/handoff/ownership.
157
+ - Diferença para `pi-ensemble`:
158
+ - complementa launchers com protocolo de comunicação persistente.
159
+
160
+ ## 8. `MakingJamie/claude-colony`
161
+
162
+ - URL: https://github.com/MakingJamie/claude-colony
163
+ - Stars no scan: ~12
164
+ - Linguagem: TypeScript
165
+ - Modelo:
166
+ - spawn specialist teams in tmux;
167
+ - steer/watch side-by-side;
168
+ - usa native Claude Code agents.
169
+ - O que ensina:
170
+ - “colony/team” é a metáfora dominante;
171
+ - especialização por agente é atraente, mas pode virar rigidez.
172
+ - Diferença para `pi-ensemble`:
173
+ - protocolo neutro, roles opcionais;
174
+ - não assume especialistas fixos.
175
+
176
+ ## 9. `tcpsyn/hivemind`
177
+
178
+ - URL: https://github.com/tcpsyn/hivemind
179
+ - Stars no scan: ~1
180
+ - Linguagem: TypeScript
181
+ - Modelo:
182
+ - GUI desktop para Claude Code agent teams;
183
+ - resolve dor de terminal/tmux com muitos agentes.
184
+ - O que ensina:
185
+ - UI vira necessária quando o número de agentes cresce;
186
+ - mas UI não é o primeiro problema do `pi-ensemble`.
187
+ - Diferença para `pi-ensemble`:
188
+ - manter core file-only; UI pode vir depois lendo `.pi-ensemble/`.
189
+
190
+ ## 10. `zircote/claude-team-orchestration`
191
+
192
+ - URL: https://github.com/zircote/claude-team-orchestration
193
+ - Stars no scan: ~3
194
+ - Modelo:
195
+ - Claude Code plugin;
196
+ - shared tasks, messaging, team patterns;
197
+ - padrões de coordenação como parallel review, pipelines, swarms, large-file analysis.
198
+ - O que ensina:
199
+ - padrões de colaboração são importantes;
200
+ - mas plugin Claude-only fecha o escopo.
201
+ - Diferença para `pi-ensemble`:
202
+ - o core deve ser ferramenta mínima; padrões podem ser docs/templates.
203
+
204
+ ## 11. `skidvis/pi-coordinator`
205
+
206
+ - URL: https://github.com/skidvis/pi-coordinator
207
+ - Stars no scan: ~6
208
+ - Linguagem: TypeScript
209
+ - Modelo:
210
+ - extensão Pi;
211
+ - transforma o agente primário em dispatcher/orchestrator;
212
+ - delega para subagentes especialistas.
213
+ - O que ensina:
214
+ - no ecossistema Pi já existe desejo de “Pi como coordenador puro”;
215
+ - subagentes isolados são uma vantagem nativa.
216
+ - Diferença para `pi-ensemble`:
217
+ - `pi-ensemble` não é só subagent dispatch dentro de uma sessão;
218
+ - é coordenação entre sessões/agentes/processos diferentes.
219
+
220
+ ## 12. `codexstar69/pi-agent-teams`
221
+
222
+ - URL: https://github.com/codexstar69/pi-agent-teams
223
+ - Stars no scan: ~9
224
+ - Linguagem: TypeScript
225
+ - Modelo:
226
+ - “Claude Code agent teams style workflow for Pi”;
227
+ - task list compartilhada;
228
+ - spawn/stop/shutdown;
229
+ - múltiplas sessões Pi.
230
+ - O que ensina:
231
+ - existe tentativa explícita de portar agent teams para Pi;
232
+ - shared task list é útil.
233
+ - Diferença para `pi-ensemble`:
234
+ - `pi-ensemble` deve ser mais baixo nível: blackboard + inbox + claims;
235
+ - task list pode ser adapter/módulo posterior.
236
+
237
+ ## 13. `disler/pi-vs-claude-code`
238
+
239
+ - URL: https://github.com/disler/pi-vs-claude-code
240
+ - Stars no scan: ~948
241
+ - Linguagem: TypeScript
242
+ - Descrição: comparação entre Pi open source e Claude Code fechado.
243
+ - O que ensina:
244
+ - o debate Pi vs Claude Code já existe publicamente;
245
+ - Pi é percebido como harness customizável/extensível.
246
+ - Diferença para `pi-ensemble`:
247
+ - não entrar como “Pi vence Claude”;
248
+ - entrar como protocolo que permite Pi + Claude + Codex coexistirem.
249
+
250
+ ## 14. `protocol-security/claude-swarm`
251
+
252
+ - URL: https://github.com/protocol-security/claude-swarm
253
+ - Stars no scan: ~4
254
+ - Linguagem: Shell
255
+ - Modelo:
256
+ - swarm de Claude Code em Docker;
257
+ - coordenação via git;
258
+ - sem orchestrator, sem message passing.
259
+ - O que ensina:
260
+ - git pode ser o protocolo de coordenação;
261
+ - mas falta comunicação explícita/handoff.
262
+ - Diferença para `pi-ensemble`:
263
+ - pode complementar git coordination com mailbox/blackboard.
264
+
265
+ ## 15. `openswarm-ai/openswarm`
266
+
267
+ - URL: https://github.com/openswarm-ai/openswarm
268
+ - Stars no scan: ~414
269
+ - Linguagem: JavaScript
270
+ - Modelo:
271
+ - mission control center para swarms de agentes;
272
+ - launch/monitor/coordinate.
273
+ - O que ensina:
274
+ - há apetite por dashboards maiores;
275
+ - mas a superfície pública do `pi-ensemble` deve evitar hype “swarm”.
276
+ - Diferença para `pi-ensemble`:
277
+ - pequeno, local, auditável, apagável.
278
+
279
+ ---
280
+
281
+ # Issues oficiais relevantes em Claude Code
282
+
283
+ ## `anthropics/claude-code#29086`
284
+
285
+ Tema: cross-session awareness entre instâncias locais de Claude Code.
286
+
287
+ Dor descrita:
288
+
289
+ - sessões são silos;
290
+ - não sabem quem trabalha em quê;
291
+ - não compartilham contexto;
292
+ - não detectam conflito;
293
+ - handoff é manual.
294
+
295
+ Conexão direta com `pi-ensemble`:
296
+
297
+ - esse é exatamente o problema que blackboard/inbox/claims resolve.
298
+
299
+ ## `anthropics/claude-code#37993`
300
+
301
+ Tema: multi-instance support para agent orchestration.
302
+
303
+ Dor descrita:
304
+
305
+ - notificações MCP roteiam para primeira instância;
306
+ - múltiplas instâncias precisam file-based workarounds;
307
+ - polling desperdiça tokens.
308
+
309
+ Conexão direta:
310
+
311
+ - `pi-ensemble` não tenta resolver routing nativo do Claude;
312
+ - assume file-based coordination como protocolo explícito e auditável.
313
+
314
+ ## `anthropics/claude-code#33575`
315
+
316
+ Tema: três instâncias Claude coordenando via message queue self-hosted.
317
+
318
+ Conexão direta:
319
+
320
+ - message queue funciona, mas adiciona infra;
321
+ - `pi-ensemble` escolhe o menor denominador comum: filesystem local.
322
+
323
+ ---
324
+
325
+ # O que isso informa para `pi-ensemble`
326
+
327
+ ## 1. Não competir com Claude Squad / OpenSwarm
328
+
329
+ Eles são gerenciadores/mission control. `pi-ensemble` deve ser menor:
330
+
331
+ ```txt
332
+ local coordination substrate, not an app shell
333
+ ```
334
+
335
+ ## 2. Não competir com tmux orchestrators
336
+
337
+ Tmux é adapter, não core.
338
+
339
+ Regra:
340
+
341
+ ```txt
342
+ long message -> file/inbox
343
+ wake signal -> tmux/adapter opcional
344
+ ```
345
+
346
+ ## 3. Não spawnar agentes
347
+
348
+ Quase todos tentam spawn/stop/monitor. Isso aumenta risco e blast radius.
349
+
350
+ O diferencial:
351
+
352
+ ```txt
353
+ pi-ensemble never runs commands, never starts agents, never accesses network
354
+ ```
355
+
356
+ ## 4. File-only é feature, não limitação
357
+
358
+ A maioria ou usa daemon, SQLite, tmux, Docker, MCP, GUI. O `pi-ensemble` deve ser:
359
+
360
+ ```txt
361
+ mkdir .pi-ensemble
362
+ blackboard.md
363
+ agents/<agent>/inbox.md
364
+ audit.jsonl
365
+ worktrees.json
366
+ ```
367
+
368
+ Humano pode abrir e entender tudo.
369
+
370
+ ## 5. Claims de worktree/path são importantes
371
+
372
+ A paisagem confirma que git worktrees/isolamento são padrão. `pi-ensemble` não precisa criar worktrees, mas precisa registrar ownership:
373
+
374
+ ```txt
375
+ ensemble claim ./path --agent claude-a
376
+ ensemble release ./path --agent claude-a
377
+ ```
378
+
379
+ ## 6. Pi maestro + múltiplos Claude Codes
380
+
381
+ A arquitetura recomendada para Felipe:
382
+
383
+ - **Pi maestro**: mantém memória, objetivos, decisões, publicação, auditoria e pergunta viva.
384
+ - **Claude Code worker A**: execução técnica/código real.
385
+ - **Claude Code worker B**: revisão/testes/benchmarks.
386
+ - **Claude Code worker C**: pesquisa/repos/issues/docs.
387
+ - **Codex/Pi subagents**: scouts/reviewers isolados quando couber.
388
+ - **pi-ensemble**: protocolo comum de mensagens/claims entre todos.
389
+
390
+ ## 7. O nome/framing precisa fugir de hype
391
+
392
+ Evitar:
393
+
394
+ ```txt
395
+ swarm
396
+ hivemind
397
+ control plane
398
+ command bus
399
+ agent orchestration platform
400
+ ```
401
+
402
+ Usar:
403
+
404
+ ```txt
405
+ blackboard + mailbox protocol for local coding agents
406
+ structured handoff for multi-agent coding workflows
407
+ ```
408
+
409
+ ---
410
+
411
+ # Relação com o scaffold atual
412
+
413
+ O scaffold atual em `/home/aya/implante/tools/pi-ensemble/` está alinhado com o benchmark:
414
+
415
+ - CLI `ensemble`;
416
+ - Pi extension;
417
+ - file-only;
418
+ - blackboard;
419
+ - inboxes;
420
+ - audit log;
421
+ - claims;
422
+ - sem spawn;
423
+ - sem rede;
424
+ - sem tmux core.
425
+
426
+ A diferença que talvez precise entrar nos docs:
427
+
428
+ 1. uma página `docs/LANDSCAPE.md` com este benchmark;
429
+ 2. uma tabela “not a replacement for claude-squad/multiclaude/etc.”;
430
+ 3. exemplos de uso com Pi maestro + Claude workers;
431
+ 4. clareza de adapters: tmux wake, watcher, dashboard são fora do core.
432
+
433
+ ---
434
+
435
+ # Atualização — 2026-05-06
436
+
437
+ Uma busca nova confirmou que o campo está se movendo rápido em direção a agent teams e file-based coordination.
438
+
439
+ Novos sinais relevantes:
440
+
441
+ - **Claude Code Agent Teams oficial** — Claude Code já documenta coordenação de múltiplas sessões com task coordination, messaging e limitações conhecidas de retomada/coordenação/shutdown.
442
+ - **openedclaude/claude-reviews-claude** — leitura arquitetural do sistema de agent swarms do Claude Code, incluindo mailbox file-based e lockfile concurrency.
443
+ - **ComposioHQ/agent-orchestrator#853** — issue propondo substituir tmux messaging por protocolo file-based JSONL; tmux ficaria para lifecycle/acesso humano.
444
+ - **internet-dot/agent-message-queue** — AMQ como bus local file-based estilo Maildir para agent sessions/adapters; não tenta controlar task decomposition nem scheduler.
445
+ - **initech / cccc / wave orchestrator** — exemplos de uma camada mais alta de terminal/IPC/dashboard/control plane surgindo por cima do mesmo problema.
446
+ - **novas extensões Pi agent-teams/coordinator** — reforçam que o ecossistema Pi também quer modo maestro/worker, mas frequentemente via spawn/RPC/subagentes.
447
+
448
+ Conclusão da atualização:
449
+
450
+ > O diferencial do `pi-ensemble` ficou mais claro: ele deve continuar menor do que os orchestrators. O valor é ser o substrato local legível que pode conviver com Claude Agent Teams, tmux launchers, Pi coordinators, dashboards e message queues.
451
+
452
+ O roadmap derivado está em [`ROADMAP.md`](ROADMAP.md).