Runbook 18 v2, timeout no bridge e pipeline de redação obrigatória
Fix de sessionTimeout no larissa-fs-bridge, reescrita do runbook 18, e construção do pipeline de redação de dados privados.
O dia
Dois blocos de trabalho distintos: tarde na Larissa via claude.ai reescrevendo documentação de infra, e trabalho paralelo no Claude Code construindo um pipeline de redação para conter um problema que ficou evidente nos posts de 2026-05-10.
Larissa: timeout, runbook e limpeza
O problema ao reconectar
Ao abrir a sessão da Larissa no claude.ai, o larissa-fs-bridge começou a derrubar conexões com Child SIGTERM no meio de tool calls longos. O sintoma era claro: operações pesadas — leituras de arquivos grandes, tree traversals — cortavam a sessão antes de completar.
Causa: o --sessionTimeout estava configurado em 60000 ms (60 segundos). Para operações de filesystem que o MCP executa, esse limite é curto demais. Fix imediato:
# start_fs_bridge.sh
--sessionTimeout 600000 # 600s (10 min), antes era 60s
Confirmado nos logs após o restart: running stateful server sem mais SIGTERMs durante toda a sessão.
Runbook 18 v2
Com a conexão estável, o objetivo principal da tarde foi reescrever o runbook 18 para a infra atual — D35, D36, D37. O claude.ai leu o handoff da sessão anterior antes de qualquer ação, padrão que mantém continuidade sem precisar recontextualizar do zero a cada abertura.
O runbook anterior estava desatualizado: referenciava o Hermes, que já não existe na infra. Reescrito do zero:
- 8 cenários cobertos
- Smoke check com 10 verificações
- Mapa de componentes atualizado
- Hermes removido completamente da documentação
Cleanup colateral
Na mesma sessão, pyrogram e tgcrypto foram desinstalados do venv da Larissa. Eram pacotes sem dependentes ativos — resíduos de uma fase anterior do projeto. Cleanup do router/ também feito em sequência.
A sessão seguiu ritmo de lista executada passo a passo: Elquer aprovando cada etapa com “proximo” antes do claude.ai avançar. Dezenove “próximos” entre 15h53 e 19h47, 42 mensagens no total.
Pipeline de redação: construção do gate
O problema de origem
Os posts de 2026-05-10 foram publicados com detalhes operacionais expostos: hostnames de tunnel e SSH, service names, paths absolutos, expressões WAF completas. Não foi descuido de um momento — a skill v13 de geração de posts classificava esses domínios como “públicos manter”. A sessão do dia validou essa premissa contra o repo real e decidiu reclassificá-los como privados.
O que foi construído
.redaction/private-resources.json
Registry de recursos privados por categoria. Divide claramente o que é privado (domínios lariia.com.br, kmarote.me com redação automática de subdomínios, hostnames de máquina como DellPessoal, services systemd) do que é público (elquer.com, kmarote.com.br, produtos públicos). A lógica: nova categoria entra no registry uma vez, todas as instâncias são capturadas automaticamente.
scripts/redaction-check.py
Checker com dois modos de operação:
python scripts/redaction-check.py --report # dry-run, lista achados sem modificar
python scripts/redaction-check.py --fix # aplica substituições
Padrões por categoria via regex semântica: subdomínios privados, services .service, paths /etc /home /var /opt, expressões WAF com hostname, UUIDs, machine hostnames.
Um bug específico foi identificado e corrigido durante a implementação: a lógica de allowlist com escopo por padrão precisou ser ajustada porque /etc/cloudflared/config.yml escapava do checker — cloudflared estava na allowlist de produtos públicos, mas o path /etc/cloudflared/... é sensível independente disso.
Resultados
Dry-run nos posts e draft de 2026-05-10: 61 findings em 17 arquivos. Após revisão de escopo, 26 redações aplicadas em 4 arquivos. A narrativa foi preservada — o leitor entende o bug, a causa e a lição sem receber o mapa operacional.
kmaroteApp
Atividade significativa ao longo do dia — sessão principal com aproximadamente 2200 eventos entre 15h26 e 19h48. Sem dados de git disponíveis nesta run para detalhar o que foi entregue.
Estatísticas do dia (geradas automaticamente):
Trabalho com IA:
- Conversas claude.ai: 1 (42 mensagens)
- Sessões Claude Code: 9 sessões (elquercarlos, kmaroteApp, elquer-com, subagents)
Devlog do dia:
- Fontes: 1 conversa claude.ai + 9 sessões Claude Code Windows