# Desk staging → produção (VM122)

Scripts para promover o frontend do **Ligbox Ops Desk** sem deixar o **Agentic Ops** desalinhado.

## Regra de ouro

**Desk deploy ≠ Agentic deploy** só enquanto forem feitos separadamente.  
Usar sempre estes scripts — incluem **os dois** no mesmo pacote:

| Ficheiro | Papel |
|----------|--------|
| `index.html` | Shell, cache-bust, ordem de scripts |
| `desk-modern.css` | Layout chrome v0.13 |
| `app.js` / `app.staging.js` | Router views |
| **`agentic-ops.js`** | **Spec 030 — Agent Squad UI (~1288 linhas)** |
| **`agentic-ops.css`** | **Layout Mission Board (~1313 linhas)** |

Se copiar só `index.html` + `app.staging.js` (ex.: `docker cp` pontual na Spec 043), o Agentic fica na versão MVP antiga (~295 linhas) e a página fica híbrida.

## Incidente 2026-07-02

- **Sintoma:** Agentic Ops sem Squad Command / Agent Management; só Frota + timeline.
- **Causa:** Deploy parcial 30/06–01/07 (shell v0.13) sem `agentic-ops.*`.
- **Correcção:** Promover Spec 030 + bump `?v=20260702spec30` no `index.html`.
- **Prevenção:** `agentic-ops.js` e `.css` obrigatórios em `promote-staging-to-prod.sh`.

## Comandos

```bash
cd /opt/ligbox-spec-hub/repos/ligbox-ops-platform/deploy/desk-staging-modern

# ★ RECOMENDADO — produção completa (API + UI + smoke GREEN)
./deploy-desk-full.sh

# Só smoke (sem deploy)
./smoke-desk.sh https://desk.ligbox.com.br

# Só staging (desk-staging.ligbox.com.br)
./deploy-staging-only.sh

# Produção frontend-only (legado — preferir deploy-desk-full.sh)
./promote-staging-to-prod.sh

# Rollback shell legado
./rollback-prod-to-legacy.sh
```

### VM112 wizard (domínios / Serviços IaaS)

SSH VM112: senha **`@betinplace`** (não `805353`).

```bash
../vm112-wizard/deploy-wizard-vm112-smoke.sh
```

## Verificação pós-deploy

O script de produção falha se `agentic-ops.js` tiver menos de 1200 linhas.

Manual:

```bash
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
```

## O que NÃO fazer

- `docker cp` só de `index.html` ou `app.staging.js` para produção
- Assumir que commit no Obsidian VM130 actualiza VM122 automaticamente
- Usar `deploy/vm122-agentic-staging/deploy-staging.sh` para o frontend nginx de produção (é stack API/worker staging, portas 8180/8192)

## Referências

- Processo staging: `docs/anais-referencia/20260626_DESK_STAGING_MODERN_PROCESS.md`
- Spec UI: `specs/030-agentic-ops-ui/spec.md`
- Spec API/agentes: `specs/029-agentic-ops-runbooks/`
