# Checkpoint de sessão — Roger — 2026-06-21

**Guardado para retomar.** Consolida decisões, specs e ficheiros desta conversa.

---

## 1. Visão produto (3 portais — mesma shell)

| Portal | Quem | URL | Agrega |
|--------|------|-----|--------|
| **Admin Ligbox** | Roger + staff | `console.ligbox.com.br/comercial` + `/ops` | Preços, clientes, gateway, provision, ops |
| **Gerente domínio** | `admin@{dom}` | `console.ligbox.com.br/admin` | Contas, quotas, Files, DMARC, plano, boleto/PIX |
| **Utilizador** | `{user}@{dom}` | `console.ligbox.com.br/me` (Fase B) | OOO, assinatura — **ou só webmail** (Fase 1) |

**Regra de ouro:** FOSS, OpenPanel, Carbonio, Nextcloud **nunca** na UI. Só Ligbox Console.

**Motores invisíveis:** FOSS (venda/billing) · OpenPanel (provision backend) · Wizard VM112 (motor `/admin`) · Desk VM122 (orquestração) · VM116 Files · Gateway boleto/PIX

---

## 2. Decisões UX fixadas (Roger 2026-06-21)

| # | Decisão | Valor |
|---|---------|-------|
| U1 | Shell partilhada | Design system React único |
| U2 | URL marca | **`console.ligbox.com.br`** — login detecta role |
| U3 | Ops Wazuh | **Mesmo shell** — `/ops` (Spec 019 + 030) |
| U4 | Tom visual | Caloroso BR — tokens Desk (`styles.css` creme + bordô) |
| U5 | Prioridade UI | **Gerente `/admin` primeiro** |
| U6 | Referência layout | **Spec 030 Mission Board** (NÃO 029-tickets) |
| U7 | Nextcloud Mail | **Opcional por domínio** — toggle `/admin`, default OFF |
| U8 | Aprovação preços | **Admin Ligbox** — fila Roger, não backoffice FOSS |
| U9 | Utilizador `/me` | **Opcional Fase B** — webmail Carbonio basta Fase 1 |

### Redirects legacy (Traefik)

- `onboard.ligbox.com.br/admin` → 301 `console.ligbox.com.br/admin`
- `desk.ligbox.com.br` → 301 `console.ligbox.com.br/ops`

---

## 3. Mapa das specs (não confundir)

| Spec | Nome | Papel |
|------|------|-------|
| **029-agentic-ops-runbooks** | Backend agentes | API A0–A7, Ollama, cenários |
| **030-agentic-ops-ui** | **Mission Board** ✅ | UX referência — status bar, 3 colunas, cards, contexto |
| 029-tickets-workspace | Motor tickets Desk | KPIs tickets — **não** referência Console |
| **034** | Nextcloud + Carbonio | Mail hot + Files warm, NC-1→NC-5, VM116 |
| **034-UI** | Visão processo Console | Componentes ProvisionPipeline, QuotaDualBar… |
| **035** | Bundles FOSS/OpenPanel | Comercial, entitlements, Domain Admin |
| **035-UX** | Ligbox Console shell | `ligbox-console-shell.md` |
| **035-C** | Admin Ligbox staff | Preços, catálogo, clientes |
| **019** | Ops Console CH-* | Integrar em `/ops` mesmo shell |

---

## 4. Bundles comerciais (preços — Roger aprovar via Admin Ligbox)

| Plano | Contas | Mail/conta | Files/conta | Preço sugerido |
|-------|--------|------------|-------------|----------------|
| Starter | 10 | 20 GB | 100 GB | R$ 249/mês |
| Business | 25 | 30 GB | 200 GB | R$ 549/mês |
| Enterprise | 50 | 50 GB | 300 GB | R$ 999/mês |
| Custom | 10–50 | 20–50 GB | 100–500 GB | configurável |

Gateway: **boleto + PIX QR** (ASAAS vs Iugu — pendente).

---

## 5. Spec 030 → Console (referência layout)

**Código:** `projects/ops-desk/frontend/assets/agentic-ops.js` + `agentic-ops.css`

| Padrão 030 | Uso Console |
|------------|-------------|
| Status bar fixa | Plano, contas, pagamento, health |
| 3 colunas: nav \| board \| contexto | `/admin` e `/ops` |
| Cards + severidade | Contas / incidentes provision |
| Context panel | Detalhe conta / thread ops |
| 1 problema = 1 card | Deduplicação |
| Poll 30s | Quotas, pagamento, ops |

**Nota avaliação 034:** Spec 030 = chassis **8/10** ops; processos gerente precisam componentes 034 (**ProvisionPipeline**, **QuotaDualBar**).

---

## 6. Componentes novos Spec 034-UI

| Componente | Função |
|------------|--------|
| `ProvisionPipeline` | NC-1→NC-5 humanizado («Email → Files → Mail NC → Pronto») |
| `QuotaDualBar` | Barra mail GB + Files GB por conta |
| `StorageTierBadge` | Caixa (hot) / Files (warm) |
| `DomainFilesToggle` | Mail Nextcloud ON/OFF domínio |
| `StackHealthTile` | VM112 + VM116 staff |
| `AccountCard` | Card Spec 030 + badges 034 |

---

## 7. Ficheiros criados/actualizados nesta sessão

### Novos

```
specs/035-ligbox-mail-bundles-foss-openpanel/
  ligbox-console-shell.md          # Shell unificada console.ligbox.com.br
  ligbox-system-admin-ui.md        # Admin Ligbox staff (comercial)
  user-self-service-ui.md          # Fase B placeholder (actualizado)
  foss-products.md
  domain-manager-console-ui.md
  tasks.md, spec.md, mockups/…

specs/034-nextcloud-carbonio-vm112-integration/
  034-console-process-ui.md        # Visão processo Console 034

specs/SESSION-CHECKPOINT-2026-06-21-ROGER-CONSOLE-UX.md  # ESTE FICHEIRO
```

### Actualizados

- `034/spec.md` — toggle Mail NC, links 034-UI
- `034/tasks.md` — fase 2-UI
- `035/spec.md` — §2.2.1 Mail opcional, §14 decisões, entitlements
- `035/ligbox-console-shell.md` — Spec 030, tokens Desk
- `035/domain-manager-console-ui.md` — 3 portais, pagamento, toggle NC
- `035/tasks.md` — UX-A, Fase C

---

## 8. URLs produção (referência)

| URL | Estado |
|-----|--------|
| `https://onboard.ligbox.com.br/admin` | Live — Domain Admin SPA |
| `https://desk.ligbox.com.br` | Staff Desk |
| `https://financeiro.ligbox.com.br` | FOSSBilling |
| `https://console.ligbox.com.br` | **Alvo** — ainda implementar |
| VM116 Nextcloud | **Não provisionada** (034 Fase 0) |

**Demo domínio:** `cenario-demo.ops.ligbox.com.br` · admin `admin@cenario-demo.ops.ligbox.com.br` / `Demo805353`

---

## 9. Ordem implementação (quando voltar)

1. **UX-0** — AppLayout React + tokens Desk + login role
2. **UX-A / UI-034-A** — `/admin/contas` + ProvisionPipeline + QuotaDualBar (mock Files OK)
3. **UX-A3 / UI-034-B** — `/admin/files` + DomainFilesToggle
4. **Fase 0 035** — produtos FOSS + fila preços Admin Ligbox
5. **Fase 0 034** — VM116 Nextcloud
6. **UX-B/C** — `/comercial` + `/ops` (Spec 030 migrate)

---

## 10. Pendências Roger

- [ ] Aprovar preços Starter/Business/Enterprise (Admin Ligbox — quando existir)
- [ ] Gateway ASAAS vs Iugu
- [ ] Aprovar VM116 recursos (034 Fase 0)
- [ ] Senha única Carbonio+NC Fase 1? (sim vs convite)
- [ ] EasyDMARC pool MSP confirmar

---

## 11. Transcript conversa

`/root/.cursor/projects/tmp-f3effc7d-070a-434a-86c5-6bd8ba7a2b09/agent-transcripts/2c7effcf-a5e9-47b1-a883-70336459a56f/2c7effcf-a5e9-47b1-a883-70336459a56f.jsonl`

---

*Checkpoint gerado automaticamente — sessão Roger Console UX · 2026-06-21*
