Add agent_incidents dedup, overview/incidents/timeline API, mission board UI with fleet rail, kanban, context panel, mobile tabs, poll and keyboard shortcuts. Co-authored-by: Cursor <cursoragent@cursor.com>
57 lines
2 KiB
Markdown
57 lines
2 KiB
Markdown
# Tasks — Spec 030 Agentic Ops UI
|
||
|
||
## Fase UI-A — Mission Board (frontend only) ✅
|
||
- [x] A1 Criar `agentic-ops.css` (grid `ao-*`, tokens agente)
|
||
- [x] A2 Componente `AgenticStatusBar` (health + action-log last tick)
|
||
- [x] A3 Componente `MissionBoard` — 4 colunas severidade
|
||
- [x] A4 Dedup via API `/incidents` (UI-B)
|
||
- [x] A5 `IncidentCard` — click selecciona + highlight
|
||
- [x] A6 `ContextPanel` — thread + reply + chat
|
||
- [x] A7 Fleet rail compacto
|
||
- [x] A8 Deploy produção + staging
|
||
|
||
## Fase UI-B — Backend deduplicação ✅
|
||
- [x] B1 Migration `agent_incidents` + índices
|
||
- [x] B2 `store.upsert_incident()` no runner tick
|
||
- [x] B3 Refactor `notify_finding_to_operators` — reutilizar thread
|
||
- [x] B4 Endpoints `/overview`, `/incidents`, `/incidents/{id}/ack`, `/timeline`
|
||
- [x] B5 Backfill automático no boot (`backfill_incidents`)
|
||
- [x] B6 Testes `test_agents_030.py`
|
||
|
||
## Fase UI-C — Polish ✅
|
||
- [x] C1 Run timeline (lista ticks)
|
||
- [x] C2 Mobile tabs (Board / Frota / Contexto)
|
||
- [x] C3 Empty states + skeleton loading
|
||
- [x] C4 Pulse animation agente com incidente open
|
||
- [x] C5 Atalho teclado `R` refresh, `Esc` deselect
|
||
- [x] C6 Poll 30s quando view activa
|
||
|
||
## Fase UI-D — Live updates 📋
|
||
|
||
- [ ] D1 Poll 30s quando view activa (pausa tab hidden)
|
||
- [ ] D2 SSE `/api/v1/agents/stream` (opcional, Spec 029 H3)
|
||
|
||
## Fase UI-E — Integração Desk 📋
|
||
|
||
- [ ] E1 Botão “Criar ticket” no card → `/api/v1/tickets` POST
|
||
- [ ] E2 Link finding → domínio/tenant se aplicável
|
||
- [ ] E3 Preparar hub CH-* (Spec 019) — deep link
|
||
|
||
---
|
||
|
||
## Ordem recomendada Roger
|
||
|
||
1. **UI-A** (1–2 dias) — impacto visual imediato, zero risco DB
|
||
2. **UI-B** (1 dia) — limpa produção, para spam de threads
|
||
3. **UI-C** (0.5 dia) — mobile + polish
|
||
4. UI-D / UI-E — backlog P2
|
||
|
||
---
|
||
|
||
## Definition of Done (030 MVP = UI-A + UI-B)
|
||
|
||
- [ ] ≤10 cards visíveis para ambiente actual
|
||
- [ ] Ack funcional end-to-end
|
||
- [ ] Context panel com thread única por cenário
|
||
- [ ] Documentação quickstart actualizada
|
||
- [ ] Deploy produção `:8091` após staging OK
|