feat(today): v11.0 — migração para cron local desktop (CT 102 eliminado)
- Remove SSH dev, todos os logs lidos localmente em /media/ealmeida/Dados/Dev/claude_automations_dev/ - Actualiza descrição, arquitectura e tabela de agentes - Adiciona weekly-digest-podcast, improvement-evaluator, gitea-ci-cleaner - Remove referência ao ct-backup-unlock-watchdog (CT 102 eliminado)
This commit is contained in:
@@ -1,26 +1,30 @@
|
|||||||
---
|
---
|
||||||
name: today
|
name: today
|
||||||
description: Checkup diário - dashboard agregador que lê resultados dos agentes cron do servidor dev e recolhe dados frescos via skills interactivas. Usar quando "checkup", "hoje", "today", "rotina", início de dia.
|
description: Checkup diário - dashboard agregador que lê resultados dos agentes cron locais (desktop) e recolhe dados frescos via skills interactivas. Usar quando "checkup", "hoje", "today", "rotina", início de dia.
|
||||||
context: fork
|
context: fork
|
||||||
---
|
---
|
||||||
|
|
||||||
# /today v10.0 - Checkup Diario (Agregador)
|
# /today v11.0 - Checkup Diario (Agregador)
|
||||||
|
|
||||||
Le resultados dos agentes cron (servidor dev) + invoca skills interactivas. Nao duplica trabalho automatizado.
|
Le resultados dos agentes cron locais (desktop, crontab ealmeida) + invoca skills interactivas. Nao duplica trabalho automatizado.
|
||||||
|
|
||||||
|
> **Nota migração (20-04-2026):** CT 102 eliminado. Todos os agentes migrados para crontab local em `/media/ealmeida/Dados/Dev/claude_automations_dev/`. SSH "dev" descontinuado.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Arquitectura
|
## Arquitectura
|
||||||
|
|
||||||
```
|
```
|
||||||
CRON (dev server, autonomo 24/7) /today (interactivo, sob pedido)
|
CRON (desktop local, crontab ealmeida) /today (interactivo, sob pedido)
|
||||||
├── imap-triage (4h) ├── Le logs/JSONs do cron
|
├── imap-triage (4h) ├── Le logs locais do cron
|
||||||
├── auto-expense (4h +15min) ├── /daily-digest (dados frescos)
|
├── auto-expense (4h +15min) ├── /daily-digest (dados frescos)
|
||||||
├── ticket-triage (4h +30min) ├── /tasks-overview (dados frescos)
|
├── ticket-triage (4h +30min) ├── /tasks-overview (dados frescos)
|
||||||
├── aiktop-tasks (15min) ├── /cleanup-downloads (se necessario)
|
├── aiktop-tasks (15min) ├── /cleanup-downloads (se necessario)
|
||||||
├── infra-check (diario 7h) ├── Specs/Sprints scan
|
├── infra-check (diario 7h) ├── Specs/Sprints scan
|
||||||
└── wp-update (segunda 23h) ├── Rotinas especiais por dia
|
├── wp-update (segunda 23h) ├── Rotinas especiais por dia
|
||||||
└── Dashboard + Obsidian + Supabase
|
├── intelligence-* (researcher/scorer/ └── Dashboard + Obsidian + Supabase
|
||||||
|
│ selector/publisher)
|
||||||
|
└── weekly-digest-podcast (quinta 20h)
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -45,32 +49,49 @@ CRON (dev server, autonomo 24/7) /today (interactivo, sob pedido)
|
|||||||
### Fase 1: Ler resultados dos agentes cron (silencioso)
|
### Fase 1: Ler resultados dos agentes cron (silencioso)
|
||||||
|
|
||||||
```
|
```
|
||||||
3. mcp__ssh-unified__ssh_execute(server="dev", command="cat logs")
|
3. Ler logs LOCAIS (Bash tail — sem SSH, tudo corre no desktop):
|
||||||
Ler os seguintes ficheiros do servidor dev:
|
|
||||||
|
Base: /media/ealmeida/Dados/Dev/claude_automations_dev/
|
||||||
|
|
||||||
a) IMAP (ultimo report):
|
a) IMAP (ultimo report):
|
||||||
ls -t /root/Dev/claude_automations_dev/imap-triage/imap-triage.log | tail -20
|
tail -20 /media/ealmeida/Dados/Dev/claude_automations_dev/imap-triage/imap-triage.log
|
||||||
cat ~/.claude-work/today-imap-DD-MM-YYYY.json
|
cat ~/.claude-work/today-imap-DD-MM-YYYY.json (se existir)
|
||||||
|
|
||||||
b) Ticket triage (ultimo log):
|
b) Ticket triage (ultimo log):
|
||||||
tail -30 /root/Dev/claude_automations_dev/ticket-triage/ticket-triage.log
|
tail -30 /media/ealmeida/Dados/Dev/claude_automations_dev/ticket-triage/ticket-triage.log
|
||||||
|
|
||||||
c) Auto-expense (ultimo log):
|
c) Auto-expense (ultimo log):
|
||||||
tail -20 /root/Dev/claude_automations_dev/auto-expense/auto-expense.log
|
tail -20 /media/ealmeida/Dados/Dev/claude_automations_dev/auto-expense/auto-expense.log
|
||||||
|
|
||||||
d) Infra check (ultimo log):
|
d) Infra check (ultimo log):
|
||||||
tail -30 /root/Dev/claude_automations_dev/infra-check/infra-check.log
|
tail -30 /media/ealmeida/Dados/Dev/claude_automations_dev/infra-check/infra-check.log
|
||||||
|
|
||||||
e) AikTop tasks (ultimo log):
|
e) AikTop tasks (ultimo log):
|
||||||
tail -20 /root/Dev/claude_automations_dev/aiktop-tasks/aiktop-tasks.log
|
tail -20 /media/ealmeida/Dados/Dev/claude_automations_dev/aiktop-tasks/aiktop-tasks.log
|
||||||
|
|
||||||
f) SE segunda — wp-update (ultimo log):
|
f) SE segunda — wp-update (ultimo log):
|
||||||
tail -50 /root/Dev/claude_automations_dev/wp-update/wp-update.log
|
tail -50 /media/ealmeida/Dados/Dev/claude_automations_dev/wp-update/wp-update.log
|
||||||
|
|
||||||
|
g) Intelligence pipeline:
|
||||||
|
tail -30 /media/ealmeida/Dados/Dev/claude_automations_dev/daily-selector/daily-selector.log
|
||||||
|
tail -30 /media/ealmeida/Dados/Dev/claude_automations_dev/intelligence-publisher/intelligence-publisher.log
|
||||||
|
tail -20 /media/ealmeida/Dados/Dev/claude_automations_dev/intelligence-researcher/intelligence-researcher.log
|
||||||
|
tail -20 /media/ealmeida/Dados/Dev/claude_automations_dev/intelligence-scorer/intelligence-scorer.log
|
||||||
|
|
||||||
|
h) HEARTBEAT WP — ultimo post em descomplicar.pt categoria 1188 (noticias):
|
||||||
|
mcp__ssh-unified__ssh_execute(server="server", command="cd /home/ealmeida/public_html && wp post list --post_type=post --category=1188 --posts_per_page=1 --fields=ID,post_title,post_date --format=csv --allow-root 2>&1 | tail -2")
|
||||||
|
-> Calcular idade do ultimo post
|
||||||
|
-> Se >26h sem post novo: ALERTA "Requer Atencao Urgente" + contexto:
|
||||||
|
* Pipeline deveria publicar ate 5 noticias/dia (selector 06:30 + slots 09/11/13/15:30/17:30)
|
||||||
|
* Verificar logs daily-selector + publisher (passo g)
|
||||||
|
* Stock Supabase: scored>=7 count via curl REST
|
||||||
|
* Verificar se desktop teve downtime (uptime / journalctl) — agentes correm no desktop local
|
||||||
|
|
||||||
4. DETECTAR PROBLEMAS nos logs:
|
4. DETECTAR PROBLEMAS nos logs:
|
||||||
- Cron nao correu (log desactualizado >8h)
|
- Cron nao correu (log desactualizado >8h)
|
||||||
- Exit codes != 0
|
- Exit codes != 0
|
||||||
- Erros ou falhas nos logs
|
- Erros ou falhas nos logs
|
||||||
|
- HEARTBEAT WP >26h sem post novo em cat 1188
|
||||||
-> Adicionar a seccao "Requer Atencao Urgente"
|
-> Adicionar a seccao "Requer Atencao Urgente"
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -171,7 +192,7 @@ CRON (dev server, autonomo 24/7) /today (interactivo, sob pedido)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Agentes Cron (servidor dev)
|
## Agentes Cron (desktop local)
|
||||||
|
|
||||||
| Agente | Ultima execucao | Status | Resumo |
|
| Agente | Ultima execucao | Status | Resumo |
|
||||||
|--------|----------------|--------|--------|
|
|--------|----------------|--------|--------|
|
||||||
@@ -220,12 +241,20 @@ Filename: `DD-MM-YYYY-checkup.md` (Regra #45: formato DD-MM-YYYY)
|
|||||||
|
|
||||||
| Componente | Tipo | Responsabilidade |
|
| Componente | Tipo | Responsabilidade |
|
||||||
|-----------|------|-----------------|
|
|-----------|------|-----------------|
|
||||||
| `imap-triage` | Cron dev (4h) | Triagem IMAP 13 contas + dedup Supabase |
|
| `imap-triage` | Cron desktop (*/4h) | Triagem IMAP 13 contas + dedup Supabase |
|
||||||
| `auto-expense` | Cron dev (4h) | Criacao automatica de despesas |
|
| `auto-expense` | Cron desktop (15 */4h) | Criacao automatica de despesas |
|
||||||
| `ticket-triage` | Cron dev (4h) | Auto-process tickets (SPAM, facturas) |
|
| `ticket-triage` | Cron desktop (30 */4h) | Auto-process tickets (SPAM, facturas) |
|
||||||
| `aiktop-tasks` | Cron dev (15min) | Executa tarefas AikTop do Desk CRM |
|
| `aiktop-tasks` | Cron desktop (*/15min) | Executa tarefas AikTop do Desk CRM |
|
||||||
| `infra-check` | Cron dev (diario) | Health check gateway + MCPs |
|
| `infra-check` | Cron desktop (07h) | Health check gateway + MCPs |
|
||||||
| `wp-update` | Cron dev (seg 23h) | Actualizacoes WordPress 16 sites |
|
| `wp-update` | Cron desktop (seg 23h) | Actualizacoes WordPress 16 sites |
|
||||||
|
| `weekly-digest-podcast` | Cron desktop (quinta 20h) | Digest semanal para podcast |
|
||||||
|
| `improvement-evaluator` | Cron desktop (*/30min) | Avaliador de melhorias (HTTP @reboot) |
|
||||||
|
| `gitea-ci-cleaner` | Cron desktop (45 */4h) | Limpeza de runs CI Gitea |
|
||||||
|
| `daily-selector` | Cron desktop (06:30) | Selector ate 5 noticias/dia diversas → status=scheduled |
|
||||||
|
| `intelligence-publisher` | Cron desktop (5 slots 09/11/13/15:30/17:30) | Publica slots scheduled em descomplicar.pt |
|
||||||
|
| `intelligence-researcher` | Cron desktop (9/14/20) | Fetch 214 RSS → Supabase |
|
||||||
|
| `intelligence-scorer` | Cron desktop (0/30 min) | Score OpenRouter gpt-oss-20b |
|
||||||
|
| `HEARTBEAT WP` | Check ao vivo | `wp post list cat=1188` → idade do ultimo post. Alerta se >26h |
|
||||||
| `/daily-digest` | Skill (interactivo) | Timer, tickets, facturas, leads, agenda |
|
| `/daily-digest` | Skill (interactivo) | Timer, tickets, facturas, leads, agenda |
|
||||||
| `/tasks-overview` | Skill (interactivo) | Tarefas pendentes/overdue + workflows |
|
| `/tasks-overview` | Skill (interactivo) | Tarefas pendentes/overdue + workflows |
|
||||||
| `/cleanup-downloads` | Skill (interactivo) | Limpeza pasta Transferencias |
|
| `/cleanup-downloads` | Skill (interactivo) | Limpeza pasta Transferencias |
|
||||||
@@ -249,7 +278,7 @@ Se encontrares um padrão relevante ao contexto actual, aplica o fix preventivam
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*Skill v10.0.0 | 05-03-2026 | Descomplicar®*
|
*Skill v11.0.0 | 20-04-2026 | Descomplicar® — CT 102 eliminado, cron 100% local desktop*
|
||||||
|
|
||||||
|
|
||||||
## Healing Log
|
## Healing Log
|
||||||
|
|||||||
Reference in New Issue
Block a user