ligbox-ops-platform/specs/029-tickets-workspace/spec.md
Ligbox Spec Hub 468e6bd573 Add Spec 029 Tickets Workspace — motor de tickets P0-P2
Rebuilt from Cursor transcript: tickets-workspace.js, tickets-detail-panel.js,
app.js delegation, CSS, desk-live-stub. VM122 deploy pending SSH.
2026-06-19 19:20:23 +00:00

57 lines
1.9 KiB
Markdown

# Spec 029 — Tickets Workspace (Motor de Tickets)
**Status:** ✅ Reconstruído 2026-06-19
**Prioridade:** P0 — antes de Live Presence / ASM
**VM:** VM122 Desk · `desk.ligbox.com.br`
## Resumo
Motor de tickets modular — command center com KPIs, filas inteligentes, painel de detalhe com abas e integração ASM (quando Spec 010 activa).
## Módulos frontend
| Ficheiro | Função |
|----------|--------|
| `tickets-workspace.js` | Lista P0-P2: 8 KPIs, cards, filas, busca, softRefresh |
| `tickets-detail-panel.js` | Detalhe P1: abas Resumo \| Ao vivo \| Funil \| Espelho |
| `desk-live-stub.js` | Fallback se módulo `wizard-live` inactivo |
| `app.js` | Delega `renderTickets` / `renderTicketDetail` |
## Entregas P0 → P2
### P0 — Lista
- 8 KPIs: Abertos, Assistindo, Escalados, Live, Sem dono, Parados, Billing, Wazuh
- Cards com 3 sinais: estado · live/offline · fase/SLA
- Busca por #ticket, domínio, e-mail, sessão, OB-
### P1 — Detalhe + filas
- Abas: Resumo, Ao vivo, Funil, Espelho cliente (pré-ASM)
- Banner próxima acção (assumir, escalar, reabrir ASM…)
- Chips de fila: Live, Parados, Sem dono, Billing, Wazuh, Escalados
### P2 — Interacção
- KPIs clicáveis (filtram lista)
- `softRefresh` no poll global (~30s) sem flash
## Deploy
```bash
# VM122 (quando SSH activo)
bash /opt/ligbox-spec-hub/scripts/deploy-tickets-vm122.sh
# Ou manual
cd /opt/ligbox-ops-platform
git pull
cp -a projects/ops-desk/frontend/assets/tickets*.js frontend/assets/
docker compose -f docker-compose.mvp.yml build frontend && docker compose -f docker-compose.mvp.yml up -d frontend
```
## Dependências
- Spec 003 (auth/RBAC) — `canAssist()`, roles
- Spec 010 (ASM) — abas espelho, resume-wizard (backend)
- Spec 012 (ABANDONADO) — rails stale/lead nos cards
- Spec 015 (módulos) — `DeskModules`
- Spec 027 wizard-live (opcional) — substitui `desk-live-stub.js`
→ Ver [ARCHITECTURE.md](./ARCHITECTURE.md)