Health Check + Auto-correção dos Automatismos da PD¶
Sistema que vigia todos os automatismos da PD (crons, tasks Windows, serviços), detecta quando algum cai — inclusive morte silenciosa — tenta se auto-corrigir e avisa no Slack. Criado em 24/06/2026 (Linear DEV-832). Código no framework:
pd-framework/times/infra/workers/health_check/.
O problema que resolve¶
Sentry e Grafana avisam quando algo dá erro. Mas um job que simplesmente para de rodar não gera erro nenhum — morre calado. Foi assim que o SyncDevDocsVault ficou dias falhando e o brief diário do dev externo nunca chegava, sem ninguém perceber. Este sistema monitora se as coisas estão rodando, não só se quebraram.
Como funciona (visão geral)¶
Roda na máquina do Felipe (Windows) — único ponto que alcança os 3 ambientes: o próprio Windows, a VPS Master e a VPS Dev (via SSH). De hora em hora checa os ~24 automatismos; uma vez por dia (18h30) manda o resumo.
O que ele faz quando algo cai¶
| Situação | Ação automática |
|---|---|
| Serviço/processo parou | Reconfirma que está mesmo parado → reinicia sozinho. Se falhar 2x, escala pra um humano. |
| Bug de código | Abre uma tarefa pro agente de auto-correção (dev externo/IA) resolver e mandar PR. |
| Falso alarme | Se na reconfirmação o serviço está vivo, não faz nada (não duplica processo). |
Onde as notificações chegam (Slack)¶
| Canal | O que chega |
|---|---|
#saude-sistemas | Resumo diário (18h30) + alerta na hora se um sistema crítico cair |
#diario | O que o dev externo trabalhou no dia |
#rotina | PRs prontos pra revisar, deploys |
#urgente | Urgências (espelha no WhatsApp) |
App Slack: Cadencia Bot. Token guardado no 1Password (Slack - API - Token).
Regra de ouro¶
Todo automatismo novo (cron, task, serviço) tem que ser cadastrado no health check — senão nasce "invisível" e ninguém saberá se ele parou. Cadastro pela skill /cobrir-no-healthcheck (sessão guiada, 1 minuto).
Salvaguardas (por que é seguro deixar reiniciar sozinho)¶
- Leitura falha do servidor = "não sei", não "está morto" (não dispara à toa).
- Reconfirma na hora antes de reiniciar qualquer coisa.
- Máximo 2 tentativas de restart, depois chama humano.
- Só avisa quando o estado muda (não fica repetindo).
Essas proteções nasceram de um falso positivo real (o mission_control apareceu "morto" mas estava vivo) — pego ainda em modo observação, antes de ligar o automático.
Validação¶
Testado de ponta a ponta em 24/06: um serviço de teste foi derrubado de propósito → o sistema detectou → reconfirmou → reiniciou → o serviço voltou. Tudo sozinho.
Estado¶
- ✅ No ar: vigilância + auto-correção ligada + 4 canais Slack + agendamento
- ⏳ A fazer: deploys Vercel/Coolify no
#rotina; ajustar o nome do bot nas mensagens
Referências¶
- Linear: DEV-832 (projeto Central de Observabilidade + Auto-correção com IA) — histórico completo
- Doc técnica (pros agentes):
pd-framework/times/infra/workers/health_check/README.md - Stack-Monitoramento-VPS-Master — observabilidade Grafana/Sentry da VPS (camada complementar)