docs(desk): checkpoints Sincronizado b03bb2c + política release

Define critérios de sincronização (commit/deploy/smoke) na rule Cursor
e actualiza SESSION-CHECKPOINT das specs 030/039/040/041.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ligbox Spec Hub 2026-07-02 13:44:26 +00:00
parent b03bb2c37c
commit 9541201431
5 changed files with 83 additions and 86 deletions

View file

@ -9,6 +9,20 @@ alwaysApply: true
**Problema:** UI em produção sem API, ou API sem assets → 404, wizard quebrado, páginas híbridas.
**Métrica única:** `DESK_RELEASE=GREEN` após `./deploy/desk-staging-modern/smoke-desk.sh`.
## Definição: «Sincronizado»
**Sincronizado** só quando **todos** estes critérios são verdadeiros:
| # | Critério | Verificação |
|---|----------|-------------|
| 1 | Mesmo commit em VM130 (Forgejo `main`) | `git rev-parse HEAD` no repo |
| 2 | Mesmo deploy em VM122 (Desk) | `./deploy-desk-full.sh` executado com esse commit |
| 3 | Mesmo deploy em VM112 (wizard, se tocado) | `deploy-wizard-vm112-smoke.sh` GREEN |
| 4 | Smoke GREEN | `DESK_RELEASE=GREEN` |
| 5 | Checkpoint actualizado | `SESSION-CHECKPOINT.md` com hash + data + smoke |
**Chat bonito sem deploy não conta.** Código no disco sem commit, ou commit sem deploy, ou deploy sem smoke = **NÃO sincronizado**.
## Credenciais SSH (root)
| VM | IP LAN | SSH WAN | Senha root |

View file

@ -9,26 +9,28 @@
| Campo | Valor |
|-------|-------|
| **Status** | `done` (Spec 030 em produção; scripts promote actualizados) |
| **Status** | `done` |
| **Última actualização** | 2026-07-02 |
| **Agente / sessão** | Fix deploy VM122 + promote script |
| **Prioridade** | — |
| **Commit Forgejo** | `b03bb2c` (`main`) |
| **Deploy VM122** | `deploy-desk-full.sh` 2026-07-02 |
| **Smoke** | `DESK_RELEASE=GREEN` |
| **Agente / sessão** | Release atómico Desk + processo anti-divergência |
---
## Objetivo (1 linha)
Agentic Ops UI (Mission Board)
Agentic Ops UI (Mission Board) — Spec 030 em produção, no pacote deploy-desk-full.
---
## Feito (última sessão)
- [x] Spec 030 `agentic-ops.js` / `.css` promovidos VM122 produção (1288 / 1313 linhas)
- [x] Cache bust `?v=20260702spec30` no `index.html`
- [x] `promote-staging-to-prod.sh` — inclui Agentic + verificação linhas
- [x] `deploy-staging-only.sh` — mesmo pacote Agentic para staging
- [x] `deploy/desk-staging-modern/README.md` — regra Desk + Agentic no mesmo deploy
- [x] Spec 030 `agentic-ops.js` / `.css` em VM122 (1288 / 1313 linhas)
- [x] `deploy-desk-full.sh` + `smoke-desk.sh` — um comando, smoke obrigatório
- [x] `.cursor/rules/desk-deploy-release.mdc` — política «Sincronizado»
- [x] Commit `b03bb2c` pushed Forgejo `main`
- [x] `promote-staging-to-prod.sh` — Agentic no pacote + verificação linhas
---
@ -40,25 +42,17 @@ Agentic Ops UI (Mission Board)
## Próximo passo
1. Ler `spec.md` e `tasks.md`
2. Quando Roger activar esta spec → mudar status para `in_progress`
1. Manter Agentic dentro de `deploy-desk-full.sh` (nunca deploy parcial)
2. Novas features Desk → commit → deploy-desk-full → smoke GREEN → checkpoint
---
## Smoke tests
```bash
# Produção — Spec 030 presente
ssh root@10.10.10.122 \
'docker exec ligbox-ops-platform_frontend_1 wc -l /usr/share/nginx/html/assets/agentic-ops.js'
# Esperado: ~1288
curl -sk https://desk.ligbox.com.br/assets/agentic-ops.js | grep -c "Squad Command"
# Esperado: 1
# Promote completo (VM130 spec-hub)
cd /opt/ligbox-spec-hub/repos/ligbox-ops-platform/deploy/desk-staging-modern
./promote-staging-to-prod.sh
./smoke-desk.sh https://desk.ligbox.com.br
# Esperado: DESK_RELEASE=GREEN + agentic-ops.js ≥1200 linhas + Squad Command
```
---
@ -68,9 +62,8 @@ cd /opt/ligbox-spec-hub/repos/ligbox-ops-platform/deploy/desk-staging-modern
| Item | Valor |
|------|-------|
| **spec.md** | `./spec.md` |
| **tasks.md** | \`./tasks.md\` |
| **contracts/** | \`./contracts/\` |
| **Rollback** | _não existe_ |
| **Deploy canónico** | `deploy/desk-staging-modern/deploy-desk-full.sh` |
| **Rule Cursor** | `.cursor/rules/desk-deploy-release.mdc` |
---
@ -78,5 +71,5 @@ cd /opt/ligbox-spec-hub/repos/ligbox-ops-platform/deploy/desk-staging-modern
| Data | Agente | Resumo |
|------|--------|--------|
| 2026-07-02 | Release | `b03bb2c` + deploy-desk-full + smoke GREEN + push Forgejo |
| 2026-07-01 | — | Checkpoint inicial (protocolo handoff) |

View file

@ -9,22 +9,26 @@
| Campo | Valor |
|-------|-------|
| **Status** | `idle` |
| **Última actualização** | 2026-07-01 |
| **Agente / sessão** | — |
| **Prioridade** | — |
| **Status** | `done` (Fase 1 API + catálogo em produção) |
| **Última actualização** | 2026-07-02 |
| **Commit Forgejo** | `b03bb2c` (`main`) |
| **Deploy VM122** | `deploy-desk-full.sh` 2026-07-02 |
| **Smoke** | `DESK_RELEASE=GREEN``GET /api/v1/rbac/actions` 200 |
---
## Objetivo (1 linha)
Catálogo Mestre de Autorização Ligbox OPS
Catálogo Mestre de Autorização `action-catalog.yaml` + `action_catalog.py` + RBAC API.
---
## Feito (última sessão)
- _Nada nesta sessão._
- [x] `contracts/action-catalog.yaml` no repo e no container API
- [x] `action_catalog.py` + integração `rbac_routes` / `permissions`
- [x] Deploy VM122 via `deploy-desk-full.sh`
- [x] Smoke: `GET /api/v1/rbac/actions` → 200
---
@ -36,16 +40,17 @@ Catálogo Mestre de Autorização Ligbox OPS
## Próximo passo
1. Ler `spec.md`
2. Quando Roger activar esta spec → mudar status para `in_progress`
1. UI Matriz de Acesso consumir catálogo completo (Fase 2)
2. Sincronizar roles VM112/123 no catálogo
---
## Smoke tests
```bash
# Definir quando spec entrar em implementação
# Ver VMs em docs/vms/ ou spec.md
cd /opt/ligbox-spec-hub/repos/ligbox-ops-platform/deploy/desk-staging-modern
./smoke-desk.sh https://desk.ligbox.com.br
# Inclui: GET /api/v1/rbac/actions (200)
```
---
@ -55,9 +60,8 @@ Catálogo Mestre de Autorização Ligbox OPS
| Item | Valor |
|------|-------|
| **spec.md** | `./spec.md` |
| **tasks.md** | _não existe_ |
| **contracts/** | \`./contracts/\` |
| **Rollback** | _não existe_ |
| **contracts/** | `./contracts/action-catalog.yaml` |
| **API** | `projects/ops-desk/api/app/action_catalog.py` |
---
@ -65,5 +69,5 @@ Catálogo Mestre de Autorização Ligbox OPS
| Data | Agente | Resumo |
|------|--------|--------|
| 2026-07-01 | — | Checkpoint inicial (protocolo handoff) |
| 2026-07-02 | Release | `b03bb2c` catálogo + API em produção, smoke GREEN |
| 2026-07-01 | — | Checkpoint inicial |

View file

@ -9,22 +9,26 @@
| Campo | Valor |
|-------|-------|
| **Status** | `idle` |
| **Última actualização** | 2026-07-01 |
| **Agente / sessão** | — |
| **Prioridade** | — |
| **Status** | `done` (Fase 1 — DS + governance UI em produção) |
| **Última actualização** | 2026-07-02 |
| **Commit Forgejo** | `b03bb2c` (`main`) |
| **Deploy VM122** | `deploy-desk-full.sh` 2026-07-02 |
| **Smoke** | `DESK_RELEASE=GREEN` — governance/modules + user-wizard assets |
---
## Objetivo (1 linha)
Desk Design System v0.13 (UI Operacional)
Design System v0.13 + Controle de acesso + Criar utilizador (wizard UI).
---
## Feito (última sessão)
- _Nada nesta sessão._
- [x] `ligbox-ds.css`, `access-control-hub.js`, `access-control-panel.js`
- [x] `user-wizard.js`, `user-management-panel.js`
- [x] API `governance_routes.py` + `desk_governance_store.py`
- [x] Smoke: `POST /api/v1/governance/users/wizard` → 422 (não 404)
---
@ -36,34 +40,23 @@ Desk Design System v0.13 (UI Operacional)
## Próximo passo
1. Ler `spec.md` e `tasks.md`
2. Quando Roger activar esta spec → mudar status para `in_progress`
1. Fluxo E2E criar utilizador com domínio real (wizard VM112)
2. Polish DS tokens em tickets/feed
---
## Smoke tests
```bash
# Definir quando spec entrar em implementação
# Ver VMs em docs/vms/ ou spec.md
cd /opt/ligbox-spec-hub/repos/ligbox-ops-platform/deploy/desk-staging-modern
./smoke-desk.sh https://desk.ligbox.com.br
```
---
## Referências rápidas
| Item | Valor |
|------|-------|
| **spec.md** | `./spec.md` |
| **tasks.md** | \`./tasks.md\` |
| **contracts/** | \`./contracts/\` |
| **Rollback** | _não existe_ |
---
## Histórico de sessões
| Data | Agente | Resumo |
|------|--------|--------|
| 2026-07-01 | — | Checkpoint inicial (protocolo handoff) |
| 2026-07-02 | Release | `b03bb2c` UI ACS + wizard em produção |
| 2026-07-01 | — | Checkpoint inicial |

View file

@ -9,22 +9,25 @@
| Campo | Valor |
|-------|-------|
| **Status** | `idle` |
| **Última actualização** | 2026-07-01 |
| **Agente / sessão** | — |
| **Prioridade** | — |
| **Status** | `done` (Fase 1 — feed asset + ops inbox API) |
| **Última actualização** | 2026-07-02 |
| **Commit Forgejo** | `b03bb2c` (`main`) |
| **Deploy VM122** | `deploy-desk-full.sh` 2026-07-02 |
| **Smoke** | `DESK_RELEASE=GREEN``operational-feed.js` 200 |
---
## Objetivo (1 linha)
Central Operacional (Operational Feed)
Central Operacional — operational feed UI + ops inbox API.
---
## Feito (última sessão)
- _Nada nesta sessão._
- [x] `operational-feed.js` em produção (antes 404)
- [x] `ops_inbox_routes.py` + `ops_inbox_store.py` na API
- [x] Deploy atómico com `deploy-desk-full.sh`
---
@ -36,34 +39,24 @@ Central Operacional (Operational Feed)
## Próximo passo
1. Ler `spec.md` e `tasks.md`
2. Quando Roger activar esta spec → mudar status para `in_progress`
1. Popular feed com eventos reais (webhooks VM112)
2. Inbox actions na UI
---
## Smoke tests
```bash
# Definir quando spec entrar em implementação
# Ver VMs em docs/vms/ ou spec.md
cd /opt/ligbox-spec-hub/repos/ligbox-ops-platform/deploy/desk-staging-modern
./smoke-desk.sh https://desk.ligbox.com.br
# Inclui: GET /assets/operational-feed.js (200)
```
---
## Referências rápidas
| Item | Valor |
|------|-------|
| **spec.md** | `./spec.md` |
| **tasks.md** | \`./tasks.md\` |
| **contracts/** | \`./contracts/\` |
| **Rollback** | _não existe_ |
---
## Histórico de sessões
| Data | Agente | Resumo |
|------|--------|--------|
| 2026-07-01 | — | Checkpoint inicial (protocolo handoff) |
| 2026-07-02 | Release | `b03bb2c` feed + inbox API em produção |
| 2026-07-01 | — | Checkpoint inicial |