@neetru/cli 2.28.10 → 2.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/CHANGELOG.md +92 -1
  2. package/README.md +61 -17
  3. package/dist/commands/code.js +10 -1
  4. package/dist/commands/code.js.map +1 -1
  5. package/dist/commands/db-move.d.ts +50 -1
  6. package/dist/commands/db-move.js +137 -13
  7. package/dist/commands/db-move.js.map +1 -1
  8. package/dist/commands/db.js +17 -9
  9. package/dist/commands/db.js.map +1 -1
  10. package/dist/commands/deploy.d.ts +45 -0
  11. package/dist/commands/deploy.js +181 -2
  12. package/dist/commands/deploy.js.map +1 -1
  13. package/dist/commands/deployments.d.ts +7 -1
  14. package/dist/commands/deployments.js +59 -8
  15. package/dist/commands/deployments.js.map +1 -1
  16. package/dist/commands/dev-up.d.ts +7 -5
  17. package/dist/commands/dev-up.js +24 -23
  18. package/dist/commands/dev-up.js.map +1 -1
  19. package/dist/commands/docs-produto.d.ts +65 -0
  20. package/dist/commands/docs-produto.js +322 -0
  21. package/dist/commands/docs-produto.js.map +1 -0
  22. package/dist/commands/init.d.ts +2 -0
  23. package/dist/commands/init.js +7 -0
  24. package/dist/commands/init.js.map +1 -1
  25. package/dist/commands/new.d.ts +2 -0
  26. package/dist/commands/new.js +2 -0
  27. package/dist/commands/new.js.map +1 -1
  28. package/dist/commands/servers.d.ts +28 -0
  29. package/dist/commands/servers.js +126 -1
  30. package/dist/commands/servers.js.map +1 -1
  31. package/dist/index.js +110 -11
  32. package/dist/index.js.map +1 -1
  33. package/dist/lib/api-client.d.ts +8 -1
  34. package/dist/lib/api-client.js +20 -2
  35. package/dist/lib/api-client.js.map +1 -1
  36. package/dist/lib/compose-generator.d.ts +13 -9
  37. package/dist/lib/compose-generator.js +28 -60
  38. package/dist/lib/compose-generator.js.map +1 -1
  39. package/dist/lib/config-schema.d.ts +40 -6
  40. package/dist/lib/config-schema.js +11 -0
  41. package/dist/lib/config-schema.js.map +1 -1
  42. package/dist/lib/product-docs/check.d.ts +62 -0
  43. package/dist/lib/product-docs/check.js +489 -0
  44. package/dist/lib/product-docs/check.js.map +1 -0
  45. package/dist/lib/product-docs/config.d.ts +66 -0
  46. package/dist/lib/product-docs/config.js +234 -0
  47. package/dist/lib/product-docs/config.js.map +1 -0
  48. package/dist/lib/product-docs/dates.d.ts +17 -0
  49. package/dist/lib/product-docs/dates.js +41 -0
  50. package/dist/lib/product-docs/dates.js.map +1 -0
  51. package/dist/lib/product-docs/frontmatter.d.ts +43 -0
  52. package/dist/lib/product-docs/frontmatter.js +302 -0
  53. package/dist/lib/product-docs/frontmatter.js.map +1 -0
  54. package/dist/lib/product-docs/git.d.ts +16 -0
  55. package/dist/lib/product-docs/git.js +92 -0
  56. package/dist/lib/product-docs/git.js.map +1 -0
  57. package/dist/lib/product-docs/markdown.d.ts +27 -0
  58. package/dist/lib/product-docs/markdown.js +98 -0
  59. package/dist/lib/product-docs/markdown.js.map +1 -0
  60. package/dist/lib/product-docs/ops.d.ts +133 -0
  61. package/dist/lib/product-docs/ops.js +975 -0
  62. package/dist/lib/product-docs/ops.js.map +1 -0
  63. package/dist/lib/product-docs/structure.d.ts +61 -0
  64. package/dist/lib/product-docs/structure.js +239 -0
  65. package/dist/lib/product-docs/structure.js.map +1 -0
  66. package/dist/lib/product-docs/sync.d.ts +101 -0
  67. package/dist/lib/product-docs/sync.js +313 -0
  68. package/dist/lib/product-docs/sync.js.map +1 -0
  69. package/dist/lib/product-docs/taxonomy.d.ts +46 -0
  70. package/dist/lib/product-docs/taxonomy.js +163 -0
  71. package/dist/lib/product-docs/taxonomy.js.map +1 -0
  72. package/dist/lib/product-docs/templates.d.ts +53 -0
  73. package/dist/lib/product-docs/templates.js +245 -0
  74. package/dist/lib/product-docs/templates.js.map +1 -0
  75. package/dist/lib/public-secret-scan.d.ts +76 -0
  76. package/dist/lib/public-secret-scan.js +446 -0
  77. package/dist/lib/public-secret-scan.js.map +1 -0
  78. package/package.json +2 -1
  79. package/templates/dev/Dockerfile.agent +0 -39
  80. package/templates/dev/agent-entrypoint.sh +0 -41
  81. package/templates/dev/docker-compose.dev.yml +0 -63
package/CHANGELOG.md CHANGED
@@ -4,8 +4,68 @@ Convenção: [Keep a Changelog](https://keepachangelog.com/) + [SemVer](https://
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ### Corrigido
8
+
9
+ - **`neetru dev up` voltou a subir o banco.** O compose gerado tinha um serviço `agent` com `build: dockerfile: Dockerfile.agent`, mas o comando só gravava o compose — o `Dockerfile.agent` nunca era escrito no projeto (a função que o copiaria não era chamada). O `docker compose up` falhava no build e nem o banco subia. Mesmo com o arquivo, o agente não rodaria: o entrypoint chamava `node` num executável `pkg` (não é JS), dependia de um `NEETRU_DEV_MODE` que o agente não implementa, e o container montava o `docker.sock` do host. Agora o `dev up` sobe **só o banco** do engine do projeto e imprime a conexão para o `.env.local` (`postgresql://postgres:neetru_dev@localhost:5432/app` etc.); o app roda com `npm run dev`. As mensagens deixaram de anunciar "App SaaS" e "Agente: conectado ao Core". O agente local volta quando o próprio agente tiver modo dev. Templates mortos removidos: `templates/dev/{Dockerfile.agent,agent-entrypoint.sh,docker-compose.dev.yml}`.
10
+ - README e `--help`: a seção de dev local descrevia flags do `dev up` que não existem (`--import`, `--export-on-exit`, `--skip-core`) e o tratava como "emulador completo, 100% offline". Agora descreve o que roda de fato na máquina do dev de produto. `dev exec` documentado como ferramenta do CI do Core (exige o `firebase.json` do Core).
11
+
12
+ ## [2.31.0] — 2026-10-03 (docs do produto: `neetru docs init|new|check|sync`)
13
+
14
+ Implementa a parte de ferramenta do **protocolo de documentação dos produtos SaaS** (Core, `docs/sistema/contrib/PROTOCOLO_DOCS_PRODUTOS_SAAS.md` v1, com a taxonomia de `PROTOCOLO_WIKI_INTERNA.md` §5–§7). Decisões do dono de 2026-10-03: o deploy **só avisa** sobre docs (nunca bloqueia); publicar no Core é **opcional** — opt-in `docs.publishOnDeploy` no deploy de produção ou manual com `neetru docs sync`; `--migrar` não move nem renomeia nada.
15
+
16
+ ### Adicionado
17
+
18
+ - **`neetru docs init [--com-api] [--migrar] [--dry-run] [--json]`** — cria o mínimo do primeiro dia (§7): pastas do §3 (com `.gitkeep` nas vazias), `docs/index.md`, `docs/produto/VISAO_DO_PRODUTO.md`, `docs/arquitetura/ARQUITETURA.md` (com a seção "Integração com o Core"), `docs/runbooks/RUNBOOK_DEPLOY.md`, `README.md` (3 seções) e `CHANGELOG.md` (Keep a Changelog PT-BR, versão do `package.json`), cada doc com frontmatter preenchido (`product`, datas de hoje, `status: draft`, `owner: produto`, `audience` da pasta) e um `<!-- o que escrever aqui -->` por seção. **Idempotente**: nunca sobrescreve; informa o que criou e o que pulou. `API_V1.md` só com `--com-api` (grava `docs.api: true`) ou quando o produto declara app móvel (`.neetru/mobile.json`) ou integração. Acrescenta a chave `docs` no `neetru.config.json` sem mexer no resto (preserva indentação, fim de linha e a quebra final).
19
+ - **`--migrar`** (repo que já tem docs): acrescenta frontmatter inferido **só** nos `.md` que não têm — `title` do H1, `description` da primeira frase útil, `type`/`category` pela pasta (inclusive as legadas: `architecture/`, `design/`, `guia-do-usuario/`, `_review/`, `deploy/`…) e pelo prefixo ou palavra-chave do nome, `status` pela família, `date`/`updated` pelo primeiro/último commit (ou `_revisado: AAAA-MM-DD_` do corpo), `tags: [migrado]`. **Não move, não renomeia e não altera o corpo** (o arquivo vira exatamente frontmatter + linha em branco + conteúdo original; BOM e CRLF preservados); quem já tem frontmatter fica intocado. Gera `docs/_nomes-legados.json` (só se não existir — a lista só diminui) e o relatório `docs/_audit/MIGRACAO_DOCS_<data>.md` com cada inferência, a origem e a confiança, as sugestões de destino pelo protocolo e o que falta do mínimo do primeiro dia (que **não** é criado no `--migrar`: vem depois de mover, com `docs init`).
20
+ - **`neetru docs new <tipo> "<título>" [--categoria] [--subcategoria] [--audience] [--descricao] [--data] [--dry-run] [--json]`** — doc a partir de modelo embutido, na pasta do §3 e com o nome do §6/§8 (sem acento, MAIÚSCULAS, prefixo do tipo — `AUDITORIA_`/`PROTOCOLO_` quando o título já começa assim —, data no fim nos registros, próximo `ADR-NNNN_` livre). Tipos: `guia`, `referencia`, `arquitetura`, `adr`, `runbook`, `norma`, `plano`, `relatorio`, `incidente`, `ata`, e os modelos-base do zelo: `rfc`/`spec` (viram `plano`), `politica` (vira `norma`), `ameacas` (modelo de ameaças, `referencia` em `seguranca/`). Nunca sobrescreve.
21
+ - **`neetru docs check [--changed] [--strict] [--offline] [--json]`** — validador **offline** com os mesmos códigos do Core (FM001–FM013, TI001–TI008, NM001–NM002, LK001–LK002, PB001, LC001–LC002) mais PR001 (`product` ausente ou diferente do slug), PR002 (mínimo do primeiro dia e seções do README; os itens "do primeiro mês" saem como **sugestão**, que nunca falha), PR003 (categoria só do Core) e PR004 (CHANGELOG sem a versão do `package.json`). `_archive/` e `_audit/` com as regras reduzidas do §9.4. `--changed` = catraca contra a branch principal (commits + staged + não commitados + não rastreados; sem git, avisa e checa tudo). `--strict` = aviso também falha. Sai 1 com erro.
22
+ - **Taxonomia embutida** (`src/lib/product-docs/taxonomy.ts`) idêntica ao bloco JSON do §5.2 do protocolo — teste confere contra a fixture copiada do protocolo e, quando há checkout do Core (`NEETRU_CORE_DIR`), contra o próprio markdown. Online, usa `GET /api/cli/v1/docs/taxonomy` do Core (outra frente cria a rota) e cai na embutida em 404, falha de rede ou formato inválido; avisa quando a do Core é mais nova.
23
+ - **`neetru docs sync [--dry-run] [--offline] [--json]`** — publica `docs/` no registro de docs por produto do Core, contra o contrato **proposto** em `PROJ_PRODUCT_DOCS` §4.2 (`GET`/`POST /api/cli/v1/products/{productId}/docs`, corpo `{slug, content, frontmatter, visibility}`). Só sobem docs **sem erro** no check (fora `_archive/` e `_audit/`); `visibility: public` só com `audience: publico` + `status: active`; doc igual ao do Core (sha256 do conteúdo + título + status + visibilidade) não é reenviado; **nada é apagado** — doc que só existe no Core é listado como órfão. Limite local de 200 docs / 10 MB (D-05). **Capacidade**: se o Core responde 404 (sem `product_not_found`), 405 ou 501, mostra "O Core ainda não aceita docs de produto" e sai **0**. `docs.publish: false` desliga.
24
+ - **`neetru init` e `neetru new` chamam `docs init`** depois do scaffold (`--sem-docs` pula; falha nos docs vira aviso, não derruba o init).
25
+ - **`neetru deploy`** roda `docs check` (taxonomia embutida, sem rede extra) e **só avisa** — em produção, lista o que falta do mínimo do primeiro dia. Com `docs.publishOnDeploy: true`, o deploy de **produção** bem-sucedido chama o sync no fim (VM, workspace e cloud-run); falha do sync vira aviso e o deploy continua com exit 0. Em `--json`, a saída ganha `docs: { check, sync }`. `--sem-docs` pula as duas coisas.
26
+ - `neetru.config.json`: bloco `docs` (`protocolVersion`, `root`, `publish`, `publishOnDeploy`, `api`) no schema.
27
+
28
+ ### Corrigido (ensaio real nos 3 produtos e alinhamento com o servidor do Core)
29
+
30
+ - Datas no fuso de Brasília: depois das 21h BRT, docs, CHANGELOG, relatório e `gerado_em` saíam com o dia seguinte (UTC).
31
+ - `suggestedName` preserva a data ISO com hífens (`…_2026-06-30.md`); antes virava `_2026_06_30` e reprovava o NM002.
32
+ - CHANGELOG do `docs init` em produto maduro: entrada da versão atual, sem "Primeira versão do produto." inventada.
33
+ - `index.md` gerado lista tudo o que existe (inclusive `superpowers/`, `_review/`, pastas fora do padrão e docs da raiz), marcando o que está fora do padrão.
34
+ - Monorepo: o `neetru.config.json` é procurado subindo pastas até a raiz do git; `docs.root` pode apontar acima do config, mas nunca para fora do repositório.
35
+ - `--migrar`: inferências de tipo/destino melhores (`DESIGN*` não vira plano; doc solto na raiz recebe tipo coerente com o destino sugerido; `deploy/README.md` não vira índice; destinos do §10).
36
+ - `resolveTaxonomy` aceita o formato real do Core (`categories` como lista + `subcategories` como mapa); a cópia embutida passa a esconder `superpowers/`, como o protocolo.
37
+ - `docs sync`: espaça os envios (janela de 25 por minuto) e respeita `Retry-After` no 429; compara também os metadados com o Core; confere localmente o limite de 2 MB por doc e os caracteres aceitos no caminho (acento/espaço/`__` são recusados antes do envio); a dica de órfão não cita mais um comando que não existe.
38
+
39
+ ### Dependência no Core
40
+
41
+ - `GET /api/cli/v1/docs/taxonomy` (Core PR #565) e `GET`/`POST /api/cli/v1/products/{productId}/docs` (Core PR #571). Sem eles no ar, a CLI funciona igual (taxonomia embutida; o sync informa e sai 0).
42
+
43
+ ## [2.30.0] — 2026-10-03 (varredura de segredo no pacote público antes do deploy)
44
+
7
45
  ### Adicionado
8
46
 
47
+ - **`neetru deploy` bloqueia segredo no pacote PÚBLICO** (decisão do dono 2026-10-03: a credencial `nrt_` do produto é **só de servidor**; produtos hoje carregam a chave no navegador via `NEXT_PUBLIC_NEETRU_API_KEY`/`NEXT_PUBLIC_NEETRU_PUBLIC_KEY`).
48
+ - Novo `src/lib/public-secret-scan.ts` (sem dependências): lê o `.tar.gz` de deploy em **streaming** (zlib + parser ustar/GNU `@LongLink`/pax `path=`) e varre só o que é servido ao navegador — `.next/static/**` (em qualquer profundidade), `public/**`, `out/**`, `dist/**`, `build/**`; na stack `static`, o pacote inteiro; `node_modules/**` nunca; binários (imagem/fonte/mídia/wasm) e arquivos > 25 MB pulados (o grande é avisado).
49
+ - Padrões: `nrt_[A-Za-z0-9_-]{20,}`, `npk_[A-Za-z0-9_-]{20,}`, `-----BEGIN … PRIVATE KEY-----` seguido do material base64 da chave (só o cabeçalho, comum em código de biblioteca, não conta) e o **valor** de envs públicas (`NEXT_PUBLIC_*`, `EXPO_PUBLIC_*`, `VITE_*`, `REACT_APP_*`, `PUBLIC_*`) com `KEY`/`SECRET`/`TOKEN` no nome — lidas de `.env`, `.env.production`, `.env.local`, `.env.production.local` (que **não** viajam no tarball), `--env-file` e `process.env`. Valores públicos por desenho (Stripe `pk_live_`/`pk_test_`, Google/Firebase `AIza…`, reCAPTCHA `6L…`) e valores com menos de 12 caracteres são ignorados.
50
+ - Roda **antes do upload** (fluxo build→upload e `--artifact <arquivo>`; também com `--local-artifact`). Em `target=cloud-run` sem `--image`, varre as pastas públicas do disco antes de buildar a imagem.
51
+ - Achou → **falha FECHADO**: exit 1, `public_secret_in_bundle` (em `--json`, a linha `{ok:false,error,message}`), mensagem PT-BR com arquivo + tipo + como corrigir. **Nunca imprime o segredo**: no máximo os 8 primeiros caracteres (e nunca mais que 1/4 do valor), mascarados. Pacote ilegível → `public_secret_scan_failed` (também fechado).
52
+ - **`--allow-public-secret "<motivo>"`** — override de emergência. Motivo obrigatório (≥ 10 caracteres, validado antes de build/upload; senão `invalid_override_reason`). Segue com aviso alto ("trate a chave como VAZADA") e **registra no deploy**: `publicSecretOverride: { reason, findings: [{ file, pattern }], at }` no corpo do `POST /api/cli/v1/deploy` (só caminho + tipo, nunca o valor) e `publicSecretScan` na saída `--json`.
53
+ - Não varridos (com aviso): `--artifact-url` (pacote remoto) e `--image` (imagem pronta).
54
+
55
+ ### Dependência no Core
56
+
57
+ - O `deployRequestSchema` do Core faz *strip* de chaves desconhecidas: hoje o `publicSecretOverride` chega no corpo cru mas **não é persistido**. Para o registro valer de ponta a ponta, o Core precisa ler `publicSecretOverride` do corpo cru (mesmo padrão do `prodDirectOverride`) e gravar em `deployments/{id}` + auditoria. Até lá o registro fica na saída do CLI.
58
+
59
+ ## [2.29.0] — 2026-10-01 (status live_unverified, db move decommission no contrato real, servers pgbouncer sync-userlist, TUI do code sob demanda)
60
+
61
+ ### Adicionado
62
+
63
+ - **Suporte ao status de ambiente `live_unverified`** (`neetru-core` PR #531 — gate de saúde pós-deploy no Core, **desligado por padrão**): quando o Core aplica um deploy mas o gate ainda não confirmou a saúde do ambiente, ele pode devolver `live_unverified` em vez de `live`/`success`. O CLI agora reconhece esse status em vez de tratá-lo como genérico/desconhecido:
64
+ - `src/commands/deployments.ts` — `live_unverified` entra em `DEPLOY_TERMINAL` (estado final, não fica indefinidamente em polling) mas **fica fora de `DEPLOY_SUCCESS`**; nova `isDeployUnverified()` + `deployStatusLabel()` (rótulo PT-BR "no ar, saúde não confirmada" anexado ao status cru, que se mantém em inglês pra não quebrar `--json`/automação) + `colorDeployStatus()` (cor de aviso/amarelo, mesma paleta semântica do resto do CLI).
65
+ - **Decisão para `--wait`/espera de deploy** (`neetru deployments watch --follow`, usado também por `neetru promote execute`): `live_unverified` **não fica girando os 20min do timeout** (é terminal) e **não é tratado como falha silenciosa nem como falha real** — vira **sucesso COM AVISO, exit code 0** (`spinner.warn` + `verified:false` no `--json`), o mesmo tratamento que o probe de saúde independente do CLI (`probeDeployedHealth` em `deploy.ts`) já dá ao verdict `unverifiable`. Só `failed`/`rolled_back`/`canary_aborted` continuam saindo com exit 1.
66
+ - `src/commands/deploy.ts` — os caminhos síncronos `target=workspace` e `target=cloud-run` (que antes só reconheciam `resp.status === 'live'` como sucesso e tratavam qualquer outro valor como falha genérica) ganharam o mesmo ramo "sucesso com aviso" para `live_unverified`, evitando que um deploy aplicado-mas-não-confirmado fosse reportado como `Deploy failed`.
67
+ - Não exige mudança de contrato nem flag nova — é passivo até o Core ligar o gate (hoje desligado por padrão); devs que não tocarem nesse valor não veem diferença.
68
+
9
69
  - **`neetru mobile`** — registro/gestão de Apps Mobile (iOS/Android) do produto atual, consumindo o contrato do Core (`neetru-core` PR #482 — dev-facing, self-service, mesmo padrão de `db`/`domains`).
10
70
  - **`neetru mobile init --platform <ios|android> --redirect-uri <https://...> [...]`** — registra o app no Core (`POST /api/cli/v1/products/{slug}/mobile-apps`) e só DEPOIS grava o stub local em `.neetru/mobile.json` (mesma ordem register-antes-do-stub de `db init` — evita entrada órfã se o POST falhar). Flags condicionais por plataforma: `--bundle-id`/`--team-id` (ios), `--package-name`/`--sha-fingerprint` (repetível, android), `--name` opcional. `--redirect-uri` **precisa** ser `https://` (Universal Link/App Link, RFC 8252) — custom scheme (`meuapp://`) é rejeitado localmente e pelo Core, decisão de segurança do owner, não limitação temporária. Resposta traz o `oidcClientId` (PKCE público, sem client secret) — a saída lembra de configurar `NEETRU_MOBILE_CLIENT_ID` no app.
11
71
  - **`neetru mobile list`** — `GET` dos apps mobile do produto atual, tabela (platform/bundle-package/status/oidcClientId) ou `--json`.
@@ -34,17 +94,48 @@ Convenção: [Keep a Changelog](https://keepachangelog.com/) + [SemVer](https://
34
94
  - **`neetru db move status <migrationId>`** — estado da relocação + `verifyReport` (contagem por tabela origem vs destino) + gates.
35
95
  - **`neetru db move confirm <migrationId> --mfa <code>`** — libera o cutover manual (`--manual-cutover`).
36
96
  - **`neetru db move abort <migrationId> --reason "<t>"`** — dispara o rollback do estado atual (exige `--reason`; confirmação interativa pulável com `--yes`).
97
+ - **`neetru db move decommission <migrationId> --reason "<t>" [--retry]`** — único caminho que DESPACHA o drop da cópia ANTIGA na origem, depois de um move `done` (`POST /api/cli/v1/db/relocate/[id]/decommission`, atualizado para o contrato real da Fase 2 do Core — PR #536). **Recusado client-side** se o ledger ainda não confirma o destino (espelho da INV-DESTROY; nunca dropar quem o ledger diz ser o vivo) e se `--retry` for pedido sem uma tentativa anterior `failed`. O Core é a autoridade final: além do ledger, a trava lógica cobre **kill switch**, migração `done`, **período de observação de 7 dias** após o `done`, nenhuma migração ativa do banco e a origem nunca ter sido liberada de volta ao app. **O drop é ASSÍNCRONO** — o comando só confirma o DESPACHO (`outcome: dispatched|already_requested`, `commandId`); nunca afirma "descomissionada" (a versão anterior mentia isso). Recusas de trava voltam 409 com código estável (`RELOCATE_DISABLED`, `RELOCATE_DECOMMISSION_NOT_DONE`, `RELOCATE_DECOMMISSION_OBSERVATION_PENDING`, `RELOCATE_DECOMMISSION_LEDGER_MISMATCH`, `RELOCATE_DECOMMISSION_MIGRATION_ACTIVE`, `RELOCATE_DECOMMISSION_RETRY_NOT_ALLOWED`, `RELOCATE_SOURCE_RELEASED`) — cada um com mensagem PT-BR própria (o que significa + o que fazer, `DECOMMISSION_REFUSAL_GUIDANCE`).
98
+ - **`neetru db move status <migrationId>`** agora também mostra `doneAt` e o progresso do decommission da origem (`sourceDecommission.status`: `dispatched → dropped|failed`, tentativa, quando pedido/terminou, erro do agente) e `sourceDecommissionedAt` quando o drop terminou — é como se acompanha o desfecho do `decommission` assíncrono.
37
99
  - **`neetru db where --product <slug>` / `--db <dbId>`** — READ-ONLY: mostra em qual VM o banco de um produto **vive hoje** (serverId + endpoint). Complementa `neetru db status <dbId>` (que exige o dbId) aceitando o slug do produto.
38
- - **Nota:** os endpoints `/api/cli/v1/db/[id]/relocate` e `/api/cli/v1/db/relocate/[migrationId]{,/confirm,/abort}` são o contrato com o Core, construídos pelo componente irmão (Fase 2 / PR #423). Este bump entrega só a superfície CLI; o `db move` real depende do Core estar publicado com esses endpoints.
100
+ - **Nota:** os endpoints `/api/cli/v1/db/[id]/relocate` e `/api/cli/v1/db/relocate/[migrationId]{,/confirm,/abort,/decommission}` são o contrato com o Core, construídos pelo componente irmão (Fase 2 / PR #423, decommission assíncrono na Fase 2 / PR #536). Este bump entrega só a superfície CLI; o `db move` real depende do Core estar publicado com esses endpoints.
101
+
102
+ ### Corrigido
103
+
104
+ - **`neetru code` carrega a TUI só quando ela é usada** (`bug_b1e9af59`) — `commands/code.ts` importava `lib/code-agent-tui` (ink + react + ink-text-input) estaticamente; agora é `await import()` dentro de `runInteractive`. O one-shot (`neetru code "tarefa"`) deixa de pagar a carga da TUI (medido no `dist`: `code.js` ~0,8–0,95s sem ela; a TUI sozinha 6–8,5s nesta máquina Windows).
105
+ - **`neetru db` carrega o `inquirer` só quando vai perguntar algo** (`bug_b1e9af59`) — era o único import estático dele no grafo de `commands/db.ts`; agora `carregarInquirer()` (`await import`) nos 8 prompts. `db list`/`db status`/`db apply --json` deixam de pagar ~0,5s de carga (A/B no `dist`, mesma carga de máquina: ~1,1–1,4s contra ~2,0–2,3s).
106
+
107
+ ### Interno
108
+
109
+ - **Gate de pre-push local** (padrão da skill `neetru-pre-push` — Actions da org sem billing, o gate local É o CI): `scripts/pre-push-gate.mjs` (template da loja, sem dependências) + `.githooks/pre-push`. Etapas = as do `ci.yml`: `tsc --noEmit` → `npm test` (→ `npm run build` com `NEETRU_PREPUSH_FULL=1`); push direto pra `main` bloqueado (`NEETRU_ALLOW_MAIN_PUSH=1` pra fuga consciente); `NEETRU_SKIP_PREPUSH=1` só em emergência, com motivo no PR. O `prepare` liga `core.hooksPath=.githooks` só quando existe `.git` (arquivo ou diretório — vale em worktree) e nunca falha: não afeta `npm publish` nem quem instala o pacote do registry (lá o `prepare` nem roda).
110
+ - **Gate roda as etapas sem `GIT_DIR` & cia** (incidente 2026-10-01) — o git exporta variáveis de repositório para hooks; num worktree, `GIT_DIR=<repo>/.git/worktrees/<nome>`. As etapas herdavam isso e os testes que criam repo próprio num tmpdir (`git init`/`config`/`commit`) operaram no clone real (`core.bare=true`, `user.name` de teste, commit "init"). O template ganhou `sanitizeGitEnv(env)` + `GIT_REPO_ENV_VARS` (= `git rev-parse --local-env-vars` do git 2.53 + `GIT_NAMESPACE`/`GIT_QUARANTINE_PATH`, e os pares `GIT_CONFIG_KEY_n`/`VALUE_n`); transporte/credencial (`GIT_SSH*`, `GIT_ASKPASS`, `GIT_TERMINAL_PROMPT`) ficam. `pre-push-gate.test.ts`: unitário, cobertura contra o git instalado e prova de ponta a ponta com `git hook run` num worktree vítima (sem saneamento a config da vítima é alterada; pelo gate, fica intacta).
111
+ - **`neetru servers pgbouncer sync-userlist <serverId>`** — re-sincroniza o userlist do PgBouncer de uma VM sem SSH e sem rotacionar senha (`POST /api/cli/v1/servers/[id]/pgbouncer/sync-userlist`, Core PR #539, `agent.db.pgbouncer.sync_userlist`). Remediação de drift SASL (userlist congelado pelo `cred_rotate`): o agente relê o hash SCRAM do `pg_shadow` de cada papel Postgres **ativo** da VM (lista montada no Core a partir de `product_databases` — nunca vem do cliente) e reescreve as linhas.
112
+ - **`merge`** (padrão) só faz upsert dos papéis esperados — sem confirmação interativa, só admin + step-up MFA.
113
+ - **`--replace`** reescreve o userlist **INTEIRO** — exige `--reason` (≥10 chars, vai pro audit) fora de `--dry-run` + `confirmDestructive` (pulável com `--yes`); o Core recusa com 409 `replace_incomplete` se a lista calculada não for a COMPLETA da VM (banco em status bloqueante, migração de banco em curso ou papel fora do formato) — **nada é apagado** nesse caso.
114
+ - **MFA INCONDICIONAL** — ao contrário da maioria das rotas com `--dry-run` deste CLI, a rota do Core chama `requireCliStepUpMfa` **antes** de ler `dryRun` (fecha o bypass que dry-run representaria): o comando nunca repassa `dryRun` pro `resolveStepUp` padrão (que pularia o header MFA) — resolve o MFA sempre e anexa `?dryRun=true` à parte.
115
+ - Saída: tabela de bancos/papéis enviados + banco(s) deixado(s) de fora (`skipped`, com motivo) + `commandId` do `agent.db.drop` despachado (assíncrono — orienta `servers logs --source audit` / `servers describe` pra acompanhar); `--json` espelha o contrato cru do Core (sem `ok` — o CLI adiciona `ok:true` só na própria saída JSON).
116
+ - 409 `no_active_databases`/`replace_incomplete` ganham mensagem PT-BR própria (o que significa + o que fazer); 400 `invalid_param`/`invalid_json`/`reason_required` e 404 seguem o `handleApiError` genérico.
39
117
 
40
118
  ### Testes
41
119
 
120
+ - **`code-session.test.ts` estável** (`bug_b1e9af59`) — o import do módulo saiu do corpo do 1º teste (estourava o `testTimeout` de 10s na suíte inteira) para `beforeAll(…, 60s)`; cada teste tem o próprio `AbortController` e o mock de `apiRequest` só atende chamadas com o `signal` do teste ativo — resíduo de um teste que expirou não contamina o seguinte (a cascata no 2º teste). Mock ganhou `CliApiError` (antes qualquer erro do gateway virava "No export defined on the mock"). Novo caso de regressão do isolamento.
121
+ - **Suíte estável na execução completa** (`bug_b1e9af59` — gate local vermelho com 10 falhas: 8 timeouts de 10s + 2 cascatas) — 8 arquivos: `bug-fixes-2026-05-25`, `code-agent-git-tools`, `db-apply-nosql`, `db-commands`, `db-init-register-shape.regression`, `dev-context`, `high-fixes-2-9-1`, `sabatina-r1-db-flow`.
122
+ - **Novo `src/__tests__/helpers/isolamento.ts`**: `it` que rastreia o corpo de cada teste + `aguardarCorpoDoTeste()` como 1ª linha do `afterEach` da raiz — um corpo que expirou termina com o ambiente DELE montado antes da limpeza e do teste seguinte (sem cascata). Provado por `isolamento-helper.test.ts` (com o `it` cru do vitest a mesma prova falha).
123
+ - Imports pesados aquecidos em `beforeAll(…, 60s)`, fora do `testTimeout`. Em `high-fixes-2-9-1` o `vi.resetModules()` por teste foi mantido (módulos reais reavaliados por teste); o aquecimento só deixa pronto o que ele não descarta (cache de transform + pacotes externos já carregados).
124
+ - `code-agent-git-tools`: `gh` falso via mock de `node:child_process` (o `gh.cmd` no PATH não era achado pelo `spawnSync` sem shell no Windows — o teste chamava o **gh real**, e os casos `skipIf(!ghAvailable)` dependiam da máquina; agora sempre rodam); push para remoto **local** (repo bare); `commit.gpgsign=false`; timeout próprio por teste (30s — vários processos git reais).
125
+ - `bug-fixes-2026-05-25`: `neetru open` (pdv #9) **abria o navegador real** a cada execução (`rundll32 url.dll,FileProtocolHandler`) — `spawn`/`spawnSync` mockados; e `vi.restoreAllMocks()` por teste (spies de `process.cwd` no corpo nunca eram restaurados — o cwd ficava no tmpDir já apagado do teste anterior).
126
+ - **Todo git rodado pela suíte usa env sem `GIT_DIR` & cia e `cwd` no tmpdir** (incidente 2026-10-01 — defesa em profundidade, vale mesmo fora do gate): `helpers/git-env.ts` (`gitEnvLimpo()` a partir do `sanitizeGitEnv` do template + `exigirDirTemporario()`) em todo `spawnSync('git', …)` de `code-agent-git-tools` e `code-agent`; o repasse para o git real no mock de `child_process` de `code-agent-git-tools` também saneia (cobre o git disparado pelo código sob teste); e `setupFiles` do vitest (`setup/sem-env-de-repo-git.ts`) tira essas variáveis do `process.env` de cada worker. Prova: com `GIT_DIR` apontando para o gitdir de worktree de um repo vítima, a versão anterior dos 2 arquivos reproduziu o incidente na vítima (`core.bare=true`, `user.*` de teste, `commit.gpgsign=false`, commit "init" — o `git init --bare` do remoto local, introduzido no commit anterior, é o que gerava o `core.bare`); a nova deixa a vítima idêntica (63/63).
127
+
42
128
  - **`mobile-local.test.ts`** (novo) — `@neetru/mobile-local`: migração defensiva do `.neetru/mobile.json` (entradas malformadas descartadas, upgrade sem `version`, default `status: 'active'`), round-trip `readMobileJson`/`writeMobileJson` (atômico, sem lixo `.tmp-*`), `upsertMobileApp`/`removeMobileApp`.
43
129
  - **`mobile-commands.test.ts`** (novo) — `neetru mobile`: validação por-plataforma em `init` (ios exige bundle-id+team-id, android exige package-name+sha-fingerprint, redirect-uri precisa `https://`), ordem register-no-Core-antes-do-stub-local, **POST falho NÃO deixa `.neetru/mobile.json` órfão** (nem sobrescreve entradas pré-existentes), `list` happy-path/`--json`/erro de API, `revoke` fail-closed sem `--yes`/`--json`/TTY, header MFA (`X-Neetru-MFA-Token`) anexado no DELETE, remoção local só após sucesso remoto (DELETE falho preserva o registry).
44
130
  - **`smoke.test.ts`** (novo, 18 testes): descoberta de rotas a partir de fixture `app/` (route groups removidos, dinâmicos pulados/avisados, `api/` excluída); alcance (pass 200, fail 500, fail em marcador de erro no corpo 200, unit de `classifyReachability`); health (pass ok JSON, warn 404, fail 503, unit de `classifyHealth`); login (warn sem afford, fail não-200); saída `--json` (shape + `ok=false` + exit 1 via ExitSentinel); smoke de prod só roda com `--prod`. `fetchImpl` e diretório de descoberta injetados — sem servidor vivo.
45
131
  - `top-level-commands-coverage.regression.test.ts`: `smoke` adicionado a `TOP_LEVEL_COMMANDS` (autocomplete) pra acompanhar o novo comando em `index.ts`.
46
132
  - **`vm-memory.test.ts`** (novo, 18 casos): status GET+JSON+tabela; set GET→POST com body correto + header MFA; alias `--max`; herança de teto com só `--max-old-space`; `--high`/`--confirm-shrink`/`--reason` no body; validações fail-fast (slug inválido, sem flags, `max-old-space ≥ memory-max`, `high > memory-max`, abaixo do piso, não-inteiro, slug sem teto); avisos de overcommit / encolhimento / RAM desconhecida (o Core continua sendo a autoridade fail-closed).
47
133
  - **`db-move.test.ts`** (novo) — mocka o Core (`apiRequest`) e as deps de escrita. Cobre: (a) **sucesso** (só reporta "concluída" quando o poll chega em `done`; body/headers/MFA corretos no POST); (b) **falha com rollback** (`rolled_back` + `lastError` → "seguiu na origem" + `setSafeExitCode(1)`, sem afirmar sucesso); (c) **`--yes`** (repassa `yes:true` ao `confirmDestructive` e prossegue); (d) **`--dry-run`** (sem confirmação/MFA, `body.dryRun=true`, sem poll); (e) manual-cutover (pausa e instrui `db move confirm`); (f) guardrails de input (`--to` ausente, estratégia inválida, produto ambíguo → exit 1 sem tocar o Core); (g) `confirm`/`abort`/`status`/`where`; e os helpers PUROS (`classifyRelocation`, `validateMaxQuiesceMs`, `formatVerifyReportLines`).
134
+ - **`db-move.test.ts`** (atualizado — `decommission` contra o contrato real da Fase 2/PR #536): resposta `outcome: 'dispatched'` reporta "DESPACHADO" (nunca "descomissionada" — era mentira sobre um drop síncrono que não existe); `--retry` manda `retry:true` no body e é recusado client-side sem tentativa anterior `failed`; `outcome: 'already_requested'` é no-op (sem `log.success`, orienta `status`/`--retry` conforme o status da tentativa); cada código 409 (`RELOCATE_DISABLED`/`RELOCATE_DECOMMISSION_*`/`RELOCATE_SOURCE_RELEASED`) cai em `describeDecommissionRefusal`/`DECOMMISSION_REFUSAL_GUIDANCE` (mensagem do Core + o que fazer, exit 1) em vez do `handleApiError` genérico (exit 4); código 409 desconhecido só mostra a mensagem do Core; erro não-409 (5xx) ainda cai no `handleApiError`; `db move status` (texto) mostra `sourceDecommission`/`doneAt`/`sourceDecommissionedAt` quando presentes.
135
+ - **`servers-pgbouncer-sync.test.ts`** (novo, 11 casos) — `servers pgbouncer sync-userlist`: merge não chama `confirmDestructive`; `--replace` sem `--reason` (fora de dry-run) recusado client-side sem tocar o Core; `--replace --dry-run` sem `--reason` passa (Core também isenta em dry-run); `--replace` com `--reason` válido chama `confirmDestructive` e manda `{mode,reason}` no body; **`--dry-run` chama `resolveStepUp` SEM `dryRun` no input** (regressão-alvo: o padrão `resolveStepUp` pularia o header MFA, mas esta rota exige MFA mesmo em dry-run) + URL com `?dryRun=true`; `serverId` inválido recusado client-side; 409 `no_active_databases`/`replace_incomplete` com guidance PT-BR (exit 1, sem cair no `handleApiError` genérico); 5xx cai no `handleApiError`; saída texto (sucesso+commandId+orientação de acompanhar vs. aviso `[dry-run]` sem `log.success`).
136
+ - **`cli-mfa-destructive-surface.test.ts`** — nova entrada no roster: `servers pgbouncer sync-userlist` (modo `merge`) também afirma o header MFA no `apiRequest`, guardando contra alguém pular `resolveStepUp` achando que `merge` (não-destrutivo em si) dispensa MFA.
137
+ - **`deploy-console.test.ts`** (estendido) — classificação pura do status `live_unverified`: terminal mas nem sucesso nem falha, `isDeployUnverified`, `deployStatusLabel` (rótulo PT-BR anexado) e `colorDeployStatus` (cor de aviso).
138
+ - **`deploy-watch-live-unverified.test.ts`** (novo) — `runDeploymentsWatch`/`--follow` com `status: 'live_unverified'`: para no primeiro poll (não gira até os 20min), nunca chama `safeExit(1)`, `--json` emite `verified:false`; `failed` continua saindo com exit 1 (regressão). Mocka `apiRequest`/`cli-write`/`logger`/`safe-exit`/`ora` — sem `git`.
48
139
 
49
140
  ## [2.28.10] — 2026-09-29 (segurança: step-up MFA nas rotas endurecidas pela auditoria cli/v1 do Core)
50
141
 
package/README.md CHANGED
@@ -51,7 +51,11 @@ Cria produto + workspace + scaffold local Next.js 15 + instala deps + abre cockp
51
51
  | `neetru new <slug>` | Criar produto completo (registry + workspace + scaffold) |
52
52
  | `neetru init <name>` | Só scaffold local Next.js + Firebase |
53
53
  | `neetru add <feature>` | Adicionar features ao scaffold (auth, billing, etc) |
54
- | `neetru deploy` | Pipeline de deploy interativo (cloud-run / vm / workspace) |
54
+ | `neetru deploy` | Pipeline de deploy interativo (cloud-run / vm / workspace) — roda `docs check` e só avisa |
55
+ | `neetru docs init [--com-api] [--migrar]` | Mínimo do primeiro dia do `docs/` do produto (idempotente); `--migrar` só acrescenta frontmatter + relatório |
56
+ | `neetru docs new <tipo> "<título>"` | Doc novo a partir do modelo, na pasta e com o nome do protocolo |
57
+ | `neetru docs check [--changed] [--strict]` | Valida os docs do produto offline (códigos FM/TI/NM/LK/PB/LC + PR001–PR004) |
58
+ | `neetru docs sync [--dry-run]` | Publica os docs do produto no Core (só os sem erro; nada é apagado) |
55
59
  | `neetru build [--stack ...] [--target-env dev\|workspace\|prod] [--env-file ...] [--no-cache] [--no-install]` | Empacotar produto em tarball pra deploy |
56
60
  | `neetru smoke [--base-url ...] [--prod ...] [--health-path ...] [--routes csv] [--json]` | Percorrer as páginas do produto **local** antes do deploy (alcance + login + DB) + smoke de prod opcional |
57
61
  | `neetru promote` | Promover dev → staging → prod |
@@ -63,8 +67,8 @@ Cria produto + workspace + scaffold local Next.js 15 + instala deps + abre cockp
63
67
  | `neetru admin database engines` | Listar engines suportados (`firestore-instance`, `cloud-sql-postgres`, `cloud-sql-mysql`, `vm-postgres-single`, `vm-mysql-single`, `nosql-vm`, …) |
64
68
  | `neetru db init / apply / migrations` | Banco por produto no fluxo dev (registra + schema + migrations) |
65
69
  | `neetru dev` | Banco Docker local + watch de schema (`salvar = aplicado`) |
66
- | `neetru dev up` | **Emulador local completo** — Firebase Emulators + Core, 100% offline |
67
- | `neetru dev exec <script>` | Roda `<script>` com emuladores ativos (CI sem credencial cloud) |
70
+ | `neetru dev up` | Banco do produto em container (Docker Compose) + URL de conexão pro `.env.local` |
71
+ | `neetru dev exec <script>` | Roda `<script>` com os emuladores Firebase do **Core** (exige o repo do Core; CI do Core) |
68
72
  | `neetru cloud-run pause/resume/delete <service>` | Controle Cloud Run |
69
73
  | `neetru products list/create/update` | Registry de produtos |
70
74
  | `neetru workspaces create/list/get/advance` | Instâncias por cliente |
@@ -91,24 +95,44 @@ Cria produto + workspace + scaffold local Next.js 15 + instala deps + abre cockp
91
95
 
92
96
  40+ subcomandos. Quase todos suportam `--json` pra automação.
93
97
 
94
- ## Dev local — emulador (`neetru dev up`)
98
+ ## Docs do produto (`neetru docs init|new|check|sync`) — 2.31.0
95
99
 
96
- Ambiente de desenvolvimento **100% offline**, estilo Firebase Emulator Suite — sem tocar GCP/staging:
100
+ Padrão: `PROTOCOLO_DOCS_PRODUTOS_SAAS.md` do Core (versão 1). O `docs/` de cada produto segue a mesma taxonomia da wiki do Core (categoria + subcategoria por assunto, `type` à parte) e nomes `MAIÚSCULO_COM_UNDERLINE`.
97
101
 
98
102
  ```bash
99
- # Na raiz do Core (onde tem firebase.json):
100
- neetru dev up
101
- # → sobe Firebase Emulators (Firestore :8080, Auth :9099, Functions :5001)
102
- # → sobe o Core Next.js (:9003) apontando pros emuladores
103
- # → Ctrl-C encerra os dois em cascata
103
+ neetru docs init # README, CHANGELOG, docs/index.md, visão, arquitetura, runbook de deploy
104
+ neetru docs init --com-api # + docs/api/API_V1.md (o produto expõe /api/v1)
105
+ neetru docs init --migrar # repo que já tem docs: frontmatter inferido + relatório em docs/_audit/
106
+ neetru docs new adr "Usar Postgres para vendas"
107
+ neetru docs new relatorio "Auditoria de UX da tela de caixa"
108
+ neetru docs check --changed # catraca: só o que mudou contra a branch principal
109
+ neetru docs sync --dry-run # o que subiria para o Core
110
+ ```
111
+
112
+ - `neetru init` e `neetru new` já rodam `docs init` (`--sem-docs` pula).
113
+ - `neetru deploy` roda `docs check` e **só avisa** — nunca bloqueia. Com `"docs": { "publishOnDeploy": true }` no `neetru.config.json`, o deploy de **produção** publica os docs no fim; falha na publicação não derruba o deploy. `--sem-docs` pula as duas coisas.
114
+ - A taxonomia vem embutida na CLI (funciona offline); quando o Core expõe `GET /api/cli/v1/docs/taxonomy`, o `check` usa a do Core e avisa se a embutida estiver velha.
104
115
 
105
- # Seed portátil (compartilhe o estado entre devs via git):
106
- neetru dev up --import .neetru-dev/seed --export-on-exit .neetru-dev/seed
116
+ ## Dev local (`neetru dev`, `neetru dev up`)
107
117
 
108
- # Só os emuladores (sem o Core):
109
- neetru dev up --skip-core
118
+ O que roda na máquina do dev de produto hoje:
119
+
120
+ | Peça | Como |
121
+ |---|---|
122
+ | SDK sem conta Neetru | `NEETRU_ENV=dev` → mocks em memória (login fixture, uso zerado, banco em memória). `neetru mocks reset` limpa as fixtures. |
123
+ | Banco real do produto | `neetru dev` (container + reaplica `db/schema.ts` a cada save) **ou** `neetru dev up` (só sobe o container e imprime a URL de conexão). Engine vem do projeto. |
124
+ | App | `npm run dev`, fora de container. |
125
+ | Agente / Core locais | **Ainda não existem** para produto. Deploy e migração pelo agente só acontecem na VM. |
110
126
 
111
- # CI / teste de integração sem credencial cloud (propaga o exit code do script):
127
+ ```bash
128
+ # Na raiz do produto (com database.engine no neetru.config.json):
129
+ neetru dev up
130
+ # → gera neetru-compose.dev.yml e sobe o banco (docker compose up -d --wait)
131
+ # → imprime a conexão, ex. postgresql://postgres:neetru_dev@localhost:5432/app
132
+ docker compose -f neetru-compose.dev.yml down # para
133
+
134
+ # CI do Core (na raiz do Core, onde tem firebase.json): roda o script com os
135
+ # emuladores Firebase e propaga o exit code.
112
136
  neetru dev exec "npm run test:integration"
113
137
  ```
114
138
 
@@ -121,7 +145,7 @@ neetru dev use --product meu-produto --sync
121
145
  # Protótipo local ainda não cadastrado no Core:
122
146
  neetru dev use --prototype meu-rascunho
123
147
 
124
- # Ver o contexto efetivo que dev up/dev exec vão usar:
148
+ # Ver o contexto dev-local efetivo:
125
149
  neetru dev status
126
150
 
127
151
  # Sincronizar bancos dev-local do Core para .neetru/db.json:
@@ -129,7 +153,7 @@ neetru dev sync --write-db
129
153
  ```
130
154
 
131
155
  > `neetru dev` (sem subcomando) mantém o modo legado: banco Docker local + watch de schema.
132
- > Flags: `--only firestore,auth,functions`, `--core-port 9003`, `--core-path <dir>`.
156
+ > Flags: `dev up --core-port <n>` (porta do app nas instruções, default 3000); `dev exec --only firestore,auth,functions --core-path <dir>`.
133
157
  > O arquivo `.neetru/dev.json` guarda o contexto local: produto Core ou protótipo, Core path e emuladores padrão.
134
158
 
135
159
  ## Build — env do bundle (`NEXT_PUBLIC_NEETRU_ENV`)
@@ -145,6 +169,26 @@ Isso existe porque o Next.js carrega `.env.local` (arquivo do disco do dev, nunc
145
169
 
146
170
  Se o produto envolver `next.config.mjs` com `withNeetruBuildGuard` (`@neetru/sdk/build-guard`, `@neetru/sdk >= 3.1.15`), `neetru build` confere pós-build que o env realmente compilado bate com o esperado — e **recusa empacotar o tarball** se divergir, em vez de deployar um bundle quebrado silenciosamente.
147
171
 
172
+ ## Segredo no pacote público bloqueia o deploy (2.30.0)
173
+
174
+ A credencial `nrt_` do produto é **só de servidor**. Antes de enviar o pacote, `neetru deploy` varre o que é servido ao navegador — `.next/static/**`, `public/**`, `out/**`, `dist/**`, `build/**` (na stack `static`, o pacote inteiro; `node_modules` nunca) — procurando:
175
+
176
+ - `nrt_…` e `npk_…` (credenciais Neetru);
177
+ - `-----BEGIN … PRIVATE KEY-----` com o material da chave (só o cabeçalho não conta);
178
+ - o **valor** de envs públicas (`NEXT_PUBLIC_*`, `EXPO_PUBLIC_*`, `VITE_*`, `REACT_APP_*`, `PUBLIC_*`) cujo nome contém `KEY`/`SECRET`/`TOKEN` (lidas de `.env`, `.env.production`, `.env.local`, `.env.production.local`, `--env-file` e do ambiente). Valores públicos por desenho do provedor (Stripe `pk_live_`/`pk_test_`, chave web Google/Firebase `AIza…`, reCAPTCHA `6L…`) são ignorados.
179
+
180
+ Achou → **o deploy falha** (exit 1, `public_secret_in_bundle`) mostrando arquivo e tipo — **nunca o segredo** (no máximo 8 caracteres iniciais, mascarados). Pacote ilegível também falha (`public_secret_scan_failed`).
181
+
182
+ Correção: tire a chave do código do navegador/app; o navegador/app chama a API do seu produto com o token do usuário e o backend usa `@neetru/sdk` com `NEETRU_API_KEY` (ver `verifyAccessToken` no SDK ≥ 3.8.0).
183
+
184
+ Emergência (fica registrado no deploy — só caminho e tipo, nunca o valor):
185
+
186
+ ```bash
187
+ neetru deploy --allow-public-secret "chave antiga já revogada, ticket #123"
188
+ ```
189
+
190
+ Limites: `--artifact-url` (pacote remoto) e `--image` (imagem pronta, cloud-run) não passam pelo CLI e **não são varridos** — o deploy avisa. Em `target=cloud-run` sem `--image`, a varredura é nas pastas públicas do disco antes do build da imagem.
191
+
148
192
  ## Smoke local antes do deploy (`neetru smoke`)
149
193
 
150
194
  Roda contra o servidor **dev local** (`next dev` / `neetru dev up`) e percorre as páginas do produto **antes** de `neetru build` + `neetru deploy` — pega página quebrada, login que não renderiza ou banco fora do ar sem subir nada em produção.
@@ -17,7 +17,9 @@ import { CliApiError } from '../lib/api-client.js';
17
17
  import { buildSystemPrompt } from '../lib/code-agent-tools.js';
18
18
  import { CODE_SKILLS_ROOT, installAllBuiltinSkills, loadCodeSkills, normalizeSkillName } from '../lib/code-agent-skills.js';
19
19
  import { printBox, printEvent, printAssistantText, printPatchPreview, patchSummaryRows, renderHeader, renderInteractiveHelp, renderSessionStatus, renderPromptLabel, printFileSample, printFilePicker, printSessionList, startTurnSpinner, summarizeToolResult, } from '../lib/code-agent-ui.js';
20
- import { runInkSession } from '../lib/code-agent-tui.js';
20
+ // `../lib/code-agent-tui.js` (ink + react + ink-text-input) NAO e importado
21
+ // aqui de proposito: e carregado sob demanda em `runInteractive` — ver o
22
+ // comentario no ponto de uso (bug_b1e9af59).
21
23
  import { configureSubagentRunner, startSubagent, stopSubagent, stopAllSubagents, listSubagents, getSubagentResult, getApplicablePatch, onSubagentSettled, } from '../lib/code-agent-subagents.js';
22
24
  /** Spinner inerte pro modo silencioso (subagentes) — nunca escreve no terminal. */
23
25
  const NOOP_TURN_SPINNER = { update: () => { }, stop: () => { } };
@@ -904,6 +906,13 @@ async function runInteractive(settings) {
904
906
  }
905
907
  });
906
908
  try {
909
+ // Import sob demanda (bug_b1e9af59): a TUI arrasta ink + react +
910
+ // ink-text-input, que so a sessao interativa usa. Import estatico fazia o
911
+ // one-shot (`neetru code "tarefa"`) e todo teste que importa este modulo
912
+ // pagarem esse custo de carga — na suite inteira o 1o teste de
913
+ // code-session.test.ts estourava o testTimeout so no import. Dentro do
914
+ // `try` para o `finally` limpar subagentes mesmo se o import falhar.
915
+ const { runInkSession } = await import('../lib/code-agent-tui.js');
907
916
  await runInkSession({
908
917
  initialPromptLabel: renderPromptLabel(settings),
909
918
  statusLine: formatCodeStatusLine(settings),
@@ -1 +1 @@
1
- {"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/commands/code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/commands/code.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,37 @@ export interface RelocationMigration {
68
68
  at?: string;
69
69
  } | null;
70
70
  updatedAt?: string;
71
+ /** Instante em que a migração virou `done` — base do período de observação do decommission (7 dias). */
72
+ doneAt?: string | null;
73
+ /** Decommission da cópia ANTIGA na origem (comando explícito `db move decommission`, nunca automático). */
74
+ sourceDecommission?: SourceDecommissionRecord | null;
75
+ /** Instante em que o drop da origem terminou com sucesso. */
76
+ sourceDecommissionedAt?: string | null;
77
+ }
78
+ /** Estado do decommission da cópia antiga na origem (ver `RelocationMigration.sourceDecommission`). */
79
+ export interface SourceDecommissionRecord {
80
+ status: 'dispatched' | 'dropped' | 'failed';
81
+ /** Tentativa atual (1 = pedido inicial; n≥2 = `--retry` explícito depois de `failed`). Ausente = 1. */
82
+ attempt?: number;
83
+ requestedAt: string;
84
+ finishedAt?: string | null;
85
+ error?: {
86
+ status: string;
87
+ message: string;
88
+ } | null;
89
+ }
90
+ /** Resposta do POST .../decommission. O drop é ASSÍNCRONO — isto só confirma o DESPACHO. */
91
+ export interface RelocateDecommissionResponse {
92
+ ok: boolean;
93
+ state: RelocationState;
94
+ outcome: 'dispatched' | 'already_requested';
95
+ commandId: string;
96
+ /** Só em `dispatched`. */
97
+ attempt?: number;
98
+ /** Só em `dispatched`. */
99
+ sourceServerId?: string;
100
+ /** Só em `already_requested` — status atual da tentativa já em curso/concluída. */
101
+ status?: string;
71
102
  }
72
103
  /**
73
104
  * Resposta do POST .../abort (iteração 2). O Core deriva tudo do doc+ledger e
@@ -181,16 +212,34 @@ export declare function runDbMoveAbort(migrationId: string, opts?: {
181
212
  pollIntervalMs?: number;
182
213
  pollTimeoutMs?: number;
183
214
  }): Promise<void>;
215
+ /**
216
+ * Guia PT-BR (o que o código significa + o que fazer) pras recusas 409 do
217
+ * `POST .../decommission` — a trava lógica inteira vive numa única tx no Core
218
+ * (`decideSourceDecommission`/`dispatchSourceDecommission`); o CLI só explica.
219
+ * Mantido como mapa simples (não função) pra ser testável/legível sem mocks.
220
+ */
221
+ export declare const DECOMMISSION_REFUSAL_GUIDANCE: Record<string, string>;
222
+ /**
223
+ * Monta a mensagem final de uma recusa 409 do decommission: a mensagem DINÂMICA
224
+ * do Core primeiro (datas/serverIds reais — nunca descartada), seguida da
225
+ * explicação+ação ESTÁTICA do código (quando conhecido). Função pura — testável
226
+ * sem rede.
227
+ */
228
+ export declare function describeDecommissionRefusal(code: string, serverMessage: string): string;
184
229
  /**
185
230
  * Descomissiona (dropa) a ORIGEM de uma relocação JÁ concluída. É o ÚNICO caminho
186
231
  * que destrói a origem, e por design é SEPARADO, explícito, gated por MFA e —
187
232
  * client-side — recusado se o ledger ainda NÃO aponta pro destino (i.e., o move
188
233
  * não terminou / foi revertido). Isto é o espelho-CLI da INV-DESTROY: nunca pedir
189
234
  * o drop de um servidor que o ledger diz ser o vivo. O Core é a autoridade final
190
- * (re-checa live==target + grace + INV-DESTROY), mas falhamos cedo e claro.
235
+ * (re-checa live==target + grace + INV-DESTROY + observação de 7 dias), mas
236
+ * falhamos cedo e claro quando dá. O drop em si é ASSÍNCRONO — este comando só
237
+ * confirma o DESPACHO (`neetru db move status` acompanha o desfecho real).
191
238
  */
192
239
  export declare function runDbMoveDecommission(migrationId: string, opts?: {
193
240
  reason?: string;
241
+ /** Nova tentativa EXPLÍCITA — só aceita se a anterior terminou `failed` (`RELOCATE_DECOMMISSION_RETRY_NOT_ALLOWED` senão). */
242
+ retry?: boolean;
194
243
  yes?: boolean;
195
244
  mfaToken?: string;
196
245
  json?: boolean;