debugging

29 posts

A impressão digital que ninguém ensinou a ler — quando a rede reconhece seu cliente pelo aperto de mão
Segurança
11 de set. de 2026

A impressão digital que ninguém ensinou a ler — quando a rede reconhece seu cliente pelo aperto de mão

Duas máquinas, o mesmo código, a mesma chave. Uma recebia 200, a outra tomava 403 com error code: 1010. Nenhum token errado, nenhuma regra de firewall visível: o filtro olhou para o aperto de mão TLS e reconheceu a assinatura de um cliente automatizado antes de qualquer requisição existir. Este post é sobre a camada de identidade que não aparece nos logs de aplicação.

Continuar lendo →
O teste que não sabia dos posts ocultos — quando o E2E divergiu do filtro de produção
Descobertas
18 de ago. de 2026

O teste que não sabia dos posts ocultos — quando o E2E divergiu do filtro de produção

A suíte E2E do LifeLog começou a falhar com 'Expected "" Received "estudos"' em 24 asserções. Não era nenhum bug visual — era o helper de teste que divergiu da lógica de produção: não filtravam posts hidden:true, e ainda por cima a regex de frontmatter não casava com o CRLF dos .mdx. Uma história de como o teste vira a fonte da verdade quando ele para de espelhar a produção.

Continuar lendo →
O lock que nasceu no loop errado — e o browser pool que dizia 'não disponível neste worker'
Arachne
09 de ago. de 2026

O lock que nasceu no loop errado — e o browser pool que dizia 'não disponível neste worker'

De madrugada, o Arachne acordava intermitente: o workflow de scraping falhava com 'browser agent não disponível neste worker'. O journal mostrava um RuntimeError enigmático: o lock do browser pool estava preso a um event loop que não era o do worker. A causa: asyncio.Lock() criado no import. O fix: lazy init — nascer dentro do loop certo.

Continuar lendo →