From 95412014312b5e5863c81b44183c5f6ddb5091e8 Mon Sep 17 00:00:00 2001 From: Ligbox Spec Hub Date: Thu, 2 Jul 2026 13:44:26 +0000 Subject: [PATCH] =?UTF-8?q?docs(desk):=20checkpoints=20Sincronizado=20b03b?= =?UTF-8?q?b2c=20+=20pol=C3=ADtica=20release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .cursor/rules/desk-deploy-release.mdc | 14 ++++++ .../030-agentic-ops-ui/SESSION-CHECKPOINT.md | 43 ++++++++----------- .../SESSION-CHECKPOINT.md | 34 ++++++++------- .../SESSION-CHECKPOINT.md | 39 +++++++---------- .../SESSION-CHECKPOINT.md | 39 +++++++---------- 5 files changed, 83 insertions(+), 86 deletions(-) diff --git a/.cursor/rules/desk-deploy-release.mdc b/.cursor/rules/desk-deploy-release.mdc index 16483e3..725c75b 100644 --- a/.cursor/rules/desk-deploy-release.mdc +++ b/.cursor/rules/desk-deploy-release.mdc @@ -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 | diff --git a/specs/030-agentic-ops-ui/SESSION-CHECKPOINT.md b/specs/030-agentic-ops-ui/SESSION-CHECKPOINT.md index 1e9cefe..d8cd0b0 100644 --- a/specs/030-agentic-ops-ui/SESSION-CHECKPOINT.md +++ b/specs/030-agentic-ops-ui/SESSION-CHECKPOINT.md @@ -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) | - diff --git a/specs/039-ligbox-ops-authorization-catalog/SESSION-CHECKPOINT.md b/specs/039-ligbox-ops-authorization-catalog/SESSION-CHECKPOINT.md index 5196847..c6b138c 100644 --- a/specs/039-ligbox-ops-authorization-catalog/SESSION-CHECKPOINT.md +++ b/specs/039-ligbox-ops-authorization-catalog/SESSION-CHECKPOINT.md @@ -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 | diff --git a/specs/040-desk-design-system-v013/SESSION-CHECKPOINT.md b/specs/040-desk-design-system-v013/SESSION-CHECKPOINT.md index 67dbd63..46dc00b 100644 --- a/specs/040-desk-design-system-v013/SESSION-CHECKPOINT.md +++ b/specs/040-desk-design-system-v013/SESSION-CHECKPOINT.md @@ -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 | diff --git a/specs/041-desk-operational-feed/SESSION-CHECKPOINT.md b/specs/041-desk-operational-feed/SESSION-CHECKPOINT.md index 8a522b3..8c5d776 100644 --- a/specs/041-desk-operational-feed/SESSION-CHECKPOINT.md +++ b/specs/041-desk-operational-feed/SESSION-CHECKPOINT.md @@ -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 |