Armadilhas
O que já fez alguém perder tempo. As do produto têm a evidência técnica completa em
knowledge/gotchas/ e a regra em Problemas conhecidos; aqui
fica o resumo para quem está com a mão no código, mais as armadilhas de ferramenta.
No produto
- iroh-gossip não disca de novo. Um par passado como bootstrap (ou por
join_peers) cuja primeira discagem falha ficaPendingpara sempre. Nunca entregue pares ao gossip antes de existir uma conexão: onode::connect_peerdisca com o ALPN do gossip e passa a conexão porGossip::handle_connection(ADR 0003). - Channels descartados em silêncio. Se o Claude Code não foi aberto com a flag de channels (ou a
organização não habilitou), as notificações somem sem erro. Por isso uma mensagem empurrada continua
não lida até
wait,inboxou uma resposta comreply_to. Não “otimize” isso marcando como lida no push. - O stdout do
papo mcpé do JSON-RPC. Umprintln!ou um log no stdout corrompe o protocolo e o Claude Code derruba o servidor. Diagnóstico vai para o stderr (eprintln!,tracing). - A trava do perfil. Só um
papo mcppor perfil. Uma segunda sessão do Claude Code no mesmo perfil recebe “another papo server is already running”: é o comportamento certo. Para testar dois agentes, use dois perfis ou doisPAPO_HOME. - Versão do protocolo MCP. Não negocie revisões mais novas que
SUPPORTED_PROTOCOLS[0]; o Claude Code não registra como channel quem negocia2026-07-28. - Chaves do
meta. Só[A-Za-z0-9_]; uma chave com hífen some do evento sem aviso.
Nas ferramentas
- Hook local bloqueia o
Readem código. Na máquina do mantenedor, um hook (cbm-code-discovery-gate) bloqueia a ferramentaReadem arquivos de código e manda usar o codebase-memory primeiro. Para ler um arquivo de código inteiro, usesed -noucatpelo shell, ou as ferramentas do codebase-memory. - RTK reescreve comandos. O shell da máquina passa comandos como
gitpelortk. Num worktree isolado, a proteção de isolamento recusagitreescrito; chame/usr/bin/gitdireto. Para a saída crua de qualquer comando,rtk proxy <comando>. - Worktree a partir da pasta pai falha. Ver Agentes em paralelo.
- Filtro de caminho no primeiro push. O workflow
pagestem filtro de caminhos; no push que criou o branchmainele não disparou. Depois de criar um repositório, dispare à mão (gh workflow run pages.yml). - Pages precisa estar ligado antes do deploy. O GitHub Pages tem de estar configurado com origem
“GitHub Actions” (
gh api -X POST repos/<dono>/papo/pages -f build_type=workflow) antes da primeira execução dopages. - A wiki só existe depois da primeira página. O workflow
wikifalha até alguém salvar uma página pela interface; não há API para isso. README.mddentro do livro. O mdBook transformaREADME.mdemindex.html, mas um link paraREADME.mdem outra página viraREADME.htmle quebra. Aponte para a pasta (adr/).- Rótulos em
stateDiagram. O rótulo de uma transição vem depois de:e não pode ter outro (Endpoint::connectquebra o diagrama inteiro, e o livro não avisa). pgrep -fpega o processo errado. Comtimeoutoutailno pipeline, o padrão casa com eles também; usepgrep -x papo.- Chromium headless e páginas altas. Uma captura de 1280×2200 de uma página com diagramas chegou a
ser morta por falta de memória; para validar diagramas use o
--dump-domdo script, não a captura.