Adds catalog with Maestro/Pulso/Trilho etc., agent_threads/messages bus, inbox and context window API, and complete Desk Agentic Ops panel for human operators to read, reply, and chat with agents. Co-authored-by: Cursor <cursoragent@cursor.com>
142 lines
5.1 KiB
Markdown
142 lines
5.1 KiB
Markdown
# Roster Agentics — Nomes, acções e janelas de contexto
|
||
|
||
**Spec 029 · Secção agentes**
|
||
|
||
---
|
||
|
||
## Mapa A0–A7 (nomes operacionais)
|
||
|
||
| ID | Nome | Codename | Operador humano principal |
|
||
|----|------|----------|---------------------------|
|
||
| **A0** | **Maestro** | orchestrator | agentic_operator / ops_lead |
|
||
| **A1** | **Pulso** | node_health | ops_lead (restart) |
|
||
| **A2** | **Trilho** | infra_mail | devops / ops_lead |
|
||
| **A3** | **Carta** | deliverability | seo / technician |
|
||
| **A4** | **Escudo Mail** | security_mail | security_analyst |
|
||
| **A5** | **Sentinela SOC** | wazuh_soc | security_analyst / noc |
|
||
| **A6** | **Copiloto** | support_copilot | technician (envia) |
|
||
| **A7** | **Remediador** | remediation | agentic_operator (obrigatório) |
|
||
|
||
### Auxiliares (implementação T0)
|
||
|
||
| ID | Nome | Função |
|
||
|----|------|--------|
|
||
| **Vigia** | sentinel | Health checks APIs/VM123 |
|
||
| **Curador** | curator | Indexação RAG das specs |
|
||
|
||
---
|
||
|
||
## Acções tocadas por cada agente
|
||
|
||
### A0 — Maestro
|
||
- Dispara tick 24/7 (worker 5 min)
|
||
- Indexa KB via Curador
|
||
- Delega cenários ao Vigia/Pulso/Copiloto
|
||
- Abre threads de coordenação inter-agente
|
||
- Regista `tick.complete` no audit log
|
||
|
||
### A1 — Pulso
|
||
- `wizard.vm112.bundle` — API + portal onboard
|
||
- `proxmox.cluster` — VMs 112/122/123/104 running
|
||
- Cria finding → inbox ops_lead se VM parada
|
||
|
||
### A2 — Trilho
|
||
- `pfsense.api.system` — firewall via Traefik
|
||
- (futuro) validação DNS/LE pós-onboard
|
||
- Propõe fix — **nunca aplica** sem devops
|
||
|
||
### A3 — Carta
|
||
- (futuro) audit SPF/DKIM/DMARC por tenant
|
||
- Relatórios entregabilidade → inbox seo
|
||
|
||
### A4 — Escudo Mail
|
||
- (futuro) filas amavis/clamav
|
||
- Quarentena sugerida → security_analyst
|
||
|
||
### A5 — Sentinela SOC
|
||
- (futuro) correlacionar Wazuh L≥10 com ticket
|
||
- Enriquecer timeline CH-*
|
||
|
||
### A6 — Copiloto
|
||
- `funnel.stuck.onboarding` — tickets >24h
|
||
- **Janela /chat** — responde operadores humanos
|
||
- Ecoa confirmação quando humano responde num thread
|
||
- Rascunho resposta ticket (futuro)
|
||
|
||
### A7 — Remediador
|
||
- (futuro) runbooks R0–R3
|
||
- Execução **só após** OK agentic_operator
|
||
- Auditoria `action_executed`
|
||
|
||
### Vigia (sentinel)
|
||
- desk, pfSense, webhook gap, Ollama, FOSS, Odoo, OpenPanel bridge
|
||
- E-mail + inbox em high/critical
|
||
|
||
### Curador
|
||
- Indexa `specs/**/*.md` no tick
|
||
- Alimenta RAG do Copiloto/Advisor
|
||
|
||
---
|
||
|
||
## Janelas de contexto (como conversam)
|
||
|
||
```text
|
||
┌─────────────────────────────────────┐
|
||
│ A0 Maestro (orchestrator) │
|
||
│ tick → delega → sintetiza │
|
||
└──────────┬──────────────────────────┘
|
||
│
|
||
┌─────────────────────┼─────────────────────┐
|
||
▼ ▼ ▼
|
||
A1 Pulso A6 Copiloto Vigia
|
||
finding /chat humano cenários T0
|
||
│ │ │
|
||
└──────────┬──────────┴──────────┬──────────┘
|
||
▼ ▼
|
||
agent_threads agent_messages
|
||
│ │
|
||
└──────────┬──────────┘
|
||
▼
|
||
Inbox operadores humanos
|
||
(agentic_operator, ops_lead, …)
|
||
```
|
||
|
||
### Regras de conversa
|
||
|
||
1. **Agente → Humano:** finding warn+ cria `agent_thread` + mensagem `requires_human=1` na **Inbox**.
|
||
2. **Agente → Agente:** Maestro (A0) regista coordenação no mesmo thread («aguardando acção humana»).
|
||
3. **Humano → Agente:** operador responde no painel «Janela de contexto» → Copiloto (A6) confirma e encaminha ao agente primary.
|
||
4. **Humano ↔ Copiloto:** chat livre via `/chat` com `target_agent` — grava thread persistente.
|
||
|
||
### Papéis que veem a Inbox
|
||
|
||
| Role Desk | Vê mensagens destinadas a |
|
||
|-----------|---------------------------|
|
||
| super_admin | todos |
|
||
| agentic_operator | agentic_operator, ops_lead |
|
||
| ops_lead | ops_lead, agentic_operator, technician |
|
||
| technician | technician |
|
||
| security_analyst | security_analyst, agentic_operator |
|
||
| devops | devops, ops_lead |
|
||
|
||
---
|
||
|
||
## API de mensagens
|
||
|
||
| Endpoint | Descrição |
|
||
|----------|-----------|
|
||
| GET `/roster` | Catálogo nomeado |
|
||
| GET `/inbox` | Pendências humanas |
|
||
| GET `/threads` | Todas as conversas |
|
||
| GET `/threads/{id}/messages` | Histórico thread |
|
||
| POST `/threads/{id}/reply` | Humano responde |
|
||
| POST `/messages/{id}/ack` | Arquivar inbox |
|
||
| POST `/chat` | Nova conversa com agente |
|
||
|
||
---
|
||
|
||
## UI Desk — painel Agentic Ops
|
||
|
||
1. **Coluna esquerda:** cards A0–A7 (clique selecciona agente destino)
|
||
2. **Coluna centro:** Inbox operadores + findings abertos
|
||
3. **Coluna direita:** Janela de contexto (thread + reply + chat Copiloto)
|