# 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*