# Handoff — Rebrand de logo Monetarie + deploy nas 9 UIs (2026-06-22)

Data: 2026-06-22 ~22:00 BRT
HEAD: `4f3550e` (`feat(brand): rebrand all frontends to the new Monetarie logo (4 waves)`) — em `main`, **pushed** (`origin/main` == HEAD).
Conta: `990933657879` / `sa-east-1` / cluster `monetarie-greenfield-homolog`.

> Posterior ao pivot 10.45/OpenVPN (HEAD `84e6948`). A infra (VPC/Terraform) **não mudou** com esta frente — `terraform plan` segue `No changes`. Esta frente é só frontends + deploy de imagem.

## Resumo

Rebrand completo dos frontends para a nova marca Monetarie:
- Wordmark **escuro `#101820`** → fundo claro; **branco** → fundo escuro; **OURO `#ffc847`** como herói de login; **badge ouro-no-escuro** para favicons/ícones de app.
- Commit `4f3550e`, **4 ondas, 112 arquivos**.
- **Buildado e DEPLOYADO** nos 9 serviços UI do ECS (a mensagem do commit diz "source changes only" — isso era verdade no momento do commit; o build+deploy foi executado em seguida, ~21:42–21:53 BRT).

## As 4 ondas

1. **6 apps web** (core admin/banking/merchant, pix admin, spb, backoffice): herói OURO no login, branco no chrome escuro, escuro em superfícies claras, favicons ouro. Corrigidos bugs de contraste: banking/merchant tinham o herói com logo escuro no painel escuro (quase invisível — achado por screenshot ao vivo, porque `/login` usa `views/LoginView.vue`, não o `AuthShell`); spb sidebar agora theme-adaptive.
2. **Placeholders**: favicons "F" azul → badge ouro (sta/npc); backoffice-docs purple-bars → ouro; badges "STA"/"CC" (CC = Cecresa) na sidebar → ícone ouro; onboarding banking (ícone-raio+texto) → wordmark.
3. **Greenfield**: nav-logo + favicon nos docs-sites (core/pix/spb/sta/npc), favicons em simuladores (pix/npc) e sta/admin-portal, ícone nos logins sta/npc.
4. **Mobile/Flutter**: troca do logo da **Cecresa** (triângulo verde "Cooperativa de Crédito") em `mobile` + `packages/mobile-ui` (wordmarks, brand marks, launcher source, splash source, web icons, favicon), e fix do logo invisível (tintado dark-on-dark) na tela biométrica → branco.

## Deploy (mecanismo) — IMPORTANTE para continuidade

Manual: `docker buildx --platform linux/arm64` → push para `990933657879.dkr.ecr.sa-east-1.amazonaws.com/monetarie/<svc>:homolog-latest` (**tag MUTÁVEL**) → `aws ecs update-service --cluster monetarie-greenfield-homolog --service <svc> --force-new-deployment`.

- **NÃO registra nova revisão de task-def** — as 9 UIs seguem em `:6`; a imagem nova é puxada pela tag `homolog-latest`.
- ⚠️ **Para saber o que está no ar nas UIs, use o DIGEST da imagem do task rodando, NÃO a revisão da task-def** (a regra antiga "confira a tag por describe-task-definition" não distingue rebuilds sob a mesma tag mutável).
- Executado 2026-06-22 ~21:42–21:53 BRT. Builds de ~12–38s por imagem (Apple Silicon arm64 nativo). Canário (`core-admin-ui`) primeiro com gate de saúde; depois os 8.
- Estado final (validado empiricamente): **9/9 `rolloutState=COMPLETED`, running=1/desired=1, target groups healthy**. `terraform plan -detailed-exitcode` = `No changes` (deploy não tocou a infra).

## Digests (rollback / forward)

A tag `homolog-latest` é mutável; o digest pré-rebrand ficou destagueado mas **ainda existe no ECR** até a lifecycle podar. **Rollback** de um serviço = re-tag do digest antigo → `homolog-latest` + `force-new-deployment`:

```bash
# exemplo de rollback do core-admin-ui para a imagem pré-rebrand:
REG=990933657879.dkr.ecr.sa-east-1.amazonaws.com
MANI=$(aws ecr batch-get-image --repository-name monetarie/core-admin-ui \
  --image-ids imageDigest=sha256:392c2ed9edabd1ced5fc14a50d37544ff573724735cb775592e6f0cde88e9ca5 \
  --query 'images[0].imageManifest' --output text)
aws ecr put-image --repository-name monetarie/core-admin-ui --image-tag homolog-latest --image-manifest "$MANI"
aws ecs update-service --cluster monetarie-greenfield-homolog --service core-admin-ui --force-new-deployment
```

| Serviço | Pré-rebrand (rollback) | Pós-rebrand (no ar) |
|---|---|---|
| core-admin-ui | `sha256:392c2ed9edabd1ced5fc14a50d37544ff573724735cb775592e6f0cde88e9ca5` | `sha256:46c608e22fc638cde42e231311ad30693aafab721dcec4e2da913c3d9bee1adc` |
| core-banking-ui | `sha256:49bed28c562915900c8b4460050d8fce3a852913d5c59ef08d014b5523591309` | `sha256:6fbac8d35aaa19f1d3180f24c19f19b90c34c724b87b05bf309d4e6d09734f36` |
| core-merchant-ui | `sha256:47ae6c926536fceeed4e4261a0228e2105f3ee7c0137c2bc1505280a8b71e427` | `sha256:1d33ff13146dbdd1ec41f9e4a02d39bf945a8908d2a73a43d3ed979c7ab7155b` |
| pix-admin-ui | `sha256:4975ab39ba250e47e6b293f9b44e0fea0d24d2025d20d3dcc59264c04aa1974c` | `sha256:0052a00f238d3a6fc01e1e0584500dfd2c8d41b445256ec713df9d88cc1cc20d` |
| spb-admin-ui | `sha256:ab508efbff9dc2ea0d7c0669820fec950fa360a0f2c049d50f5e7e8e22dd676b` | `sha256:50a79c13ed73e95bf78e16b843efbb3e9bf7d3eb4c54867dc161418b97edb102` |
| sta-admin-ui | `sha256:fa8841c9280fa44b9496e2301ca3084f61b45d7ea6a7f23e52bdca9db360560d` | `sha256:62327955e53a56b1a0795e5f73b0579ca1748a7d89059db2124b9c91c4e2cdef` |
| npc-admin-ui | `sha256:8320c1ab4bc79284e4b48b376c00ebdcb8737873f1971e15f9b1ee8fe74f273d` | `sha256:8eca2d299fb8cc2b746514afdf79c10dc6dedbdfbfd44183328e99dcfafd2b44` |
| backoffice | `sha256:bacbee8936e72854f1dc4ba1709662f4bc07247511c156fb0596a9d3a7664a13` | `sha256:4a3d722b5041a41adeda0ea45d5d97df0c1ef394f574c49c34dad55c6e1ba6c3` |
| docs-portal | `sha256:5ab102185ebfc4fd611c05c667791e03af32439a69e320bfac4431f6df63b794` | `sha256:c145c6089221fbdf0b4c0a3a0480b22c8491450827a5c7afeb3fe96af6aba221` |

## Pendências (fonte commitada, mas não 100% no ar)

- **Mobile/Flutter nativo**: as fontes estão commitadas, mas os ícones de launcher e splash **nativos** Android/iOS são *gerados* — precisam de:
  ```bash
  cd mobile && flutter pub run flutter_launcher_icons && flutter pub run flutter_native_splash:create
  # depois rebuild/release do app
  ```
  (Os ícones **web** do Flutter e os logos **in-app** já estão trocados na fonte.)
- **Simuladores (pix/npc) e `sta/admin-portal`**: não são serviços ECS deployados (UIs internas/alternativas) — fonte rebrandeada, sem deploy próprio.
- **Re-validação visual (regra #11)**: as evidências antigas (`36 screenshots`, "Branding Monetarie validado") são **PRÉ-rebrand → STALE**. Antes de declarar a nova marca "validada", refazer captura estrita (Playwright) + regenerar relatórios interno/cliente.

## Evidências desta frente

- Screenshots: `/Users/luizpenha/Desktop/monetarie-logo-rebrand-2026-06-22/` — inclui `01-AO-VIVO-coreadmin-login-deployado.png` (login do app deployado, renderizado por dentro da VPC via SSM→EC2 OpenVPN→ALB interno, sem tocar na VPN do operador). Logo ouro confirmado no ar.
