@zaip-ai/cli 1.4.3 → 2.2.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 (190) hide show
  1. package/README.md +33 -14
  2. package/dist/services/adapter-hook-sources.d.ts +1 -0
  3. package/dist/services/adapter-hook-sources.d.ts.map +1 -1
  4. package/dist/services/adapter-hook-sources.js +1 -0
  5. package/dist/services/adapter-hook-sources.js.map +1 -1
  6. package/dist/services/adapters.d.ts +1 -1
  7. package/dist/services/adapters.d.ts.map +1 -1
  8. package/dist/services/adapters.js +20 -16
  9. package/dist/services/adapters.js.map +1 -1
  10. package/dist/services/agent-adapters.d.ts +97 -34
  11. package/dist/services/agent-adapters.d.ts.map +1 -1
  12. package/dist/services/agent-adapters.js +279 -54
  13. package/dist/services/agent-adapters.js.map +1 -1
  14. package/dist/services/agent-adapters.test.js +13 -7
  15. package/dist/services/agent-adapters.test.js.map +1 -1
  16. package/dist/services/codex-conversation-lifecycle-hook.d.ts +2 -0
  17. package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -0
  18. package/dist/services/codex-conversation-lifecycle-hook.js +29 -0
  19. package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -0
  20. package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
  21. package/dist/services/codex-pre-tool-hook-template.js +173 -0
  22. package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
  23. package/dist/services/codex-subagent-hook-template.d.ts +1 -1
  24. package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
  25. package/dist/services/codex-subagent-hook-template.js +1 -1
  26. package/dist/services/doctor.js +2 -2
  27. package/dist/services/install-agents-template.d.ts.map +1 -1
  28. package/dist/services/install-agents-template.js +117 -5
  29. package/dist/services/install-agents-template.js.map +1 -1
  30. package/dist/services/logger.js +1 -1
  31. package/dist/services/logger.js.map +1 -1
  32. package/dist/services/logger.test.js +2 -2
  33. package/dist/services/runtime-template.test.js +9 -1
  34. package/dist/services/runtime-template.test.js.map +1 -1
  35. package/dist/services/stack-git.d.ts +3 -0
  36. package/dist/services/stack-git.d.ts.map +1 -1
  37. package/dist/services/stack-git.js +24 -3
  38. package/dist/services/stack-git.js.map +1 -1
  39. package/dist/services/template-manifest.d.ts.map +1 -1
  40. package/dist/services/template-manifest.js +3 -1
  41. package/dist/services/template-manifest.js.map +1 -1
  42. package/dist/services/transactional-files.d.ts +2 -1
  43. package/dist/services/transactional-files.d.ts.map +1 -1
  44. package/dist/services/transactional-files.js +8 -3
  45. package/dist/services/transactional-files.js.map +1 -1
  46. package/package.json +2 -2
  47. package/templates/.agents/README-ENG.md +735 -0
  48. package/templates/.agents/README.md +49 -43
  49. package/templates/.agents/architecture/hostinger-cloudflare-terraform.md +90 -0
  50. package/templates/.agents/config/agents/catalog.yaml +18 -18
  51. package/templates/.agents/config/autonomous-cloud-inputs.json +41 -0
  52. package/templates/.agents/config/clients/codex/agents/zaip-agent-analyst.toml +3 -6
  53. package/templates/.agents/config/clients/codex/agents/zaip-agent-auditor.toml +3 -6
  54. package/templates/.agents/config/clients/codex/agents/zaip-agent-backend.toml +3 -6
  55. package/templates/.agents/config/clients/codex/agents/zaip-agent-brand-strategist.toml +6 -8
  56. package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +3 -6
  57. package/templates/.agents/config/clients/codex/agents/zaip-agent-cloud-engineer.toml +3 -6
  58. package/templates/.agents/config/clients/codex/agents/zaip-agent-data-analyst.toml +5 -7
  59. package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +3 -6
  60. package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +3 -6
  61. package/templates/.agents/config/clients/codex/agents/zaip-agent-frontend.toml +3 -6
  62. package/templates/.agents/config/clients/codex/agents/zaip-agent-general-operations.toml +6 -8
  63. package/templates/.agents/config/clients/codex/agents/zaip-agent-governance-compliance.toml +3 -6
  64. package/templates/.agents/config/clients/codex/agents/zaip-agent-growth-strategist.toml +6 -8
  65. package/templates/.agents/config/clients/codex/agents/zaip-agent-integrator.toml +3 -6
  66. package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +6 -8
  67. package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +4 -5
  68. package/templates/.agents/config/clients/codex/agents/zaip-agent-refactoring-specialist.toml +3 -6
  69. package/templates/.agents/config/clients/codex/agents/zaip-agent-reviewer.toml +3 -6
  70. package/templates/.agents/config/clients/codex/agents/zaip-agent-sales-specialist.toml +6 -8
  71. package/templates/.agents/config/clients/codex/agents/zaip-agent-security-auditor.toml +3 -6
  72. package/templates/.agents/config/clients/codex/agents/zaip-agent-task-executor.toml +3 -6
  73. package/templates/.agents/config/clients/codex/agents/zaip-agent-website-developer.toml +3 -6
  74. package/templates/.agents/config/clients/codex/agents/zaip-agent-writer.toml +3 -6
  75. package/templates/.agents/config/pricing/models.json +53 -33
  76. package/templates/.agents/dashboard/.zaip-managed.json +64 -44
  77. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-oZVlf-l5.js → DashboardHelpDialog-DaSllaJp.js} +118 -16
  78. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-BYjVOHI_.js → TraceabilityWorkspace-BCvZFMEf.js} +1 -1
  79. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-_MEktQNM.js +2 -0
  80. package/templates/.agents/dashboard/apps/frontend/dist/index.html +2 -2
  81. package/templates/.agents/dashboard/apps/frontend/index.html +1 -1
  82. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  83. package/templates/.agents/dashboard/apps/frontend/src/App.tsx +28 -9
  84. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +27 -0
  85. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.ts +13 -29
  86. package/templates/.agents/dashboard/apps/frontend/src/dashboard-identity.test.ts +43 -0
  87. package/templates/.agents/dashboard/apps/frontend/src/dashboard-identity.ts +32 -0
  88. package/templates/.agents/dashboard/apps/frontend/src/dashboard-project-overview.ts +28 -0
  89. package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +2 -2
  90. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  91. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  92. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  93. package/templates/.agents/dashboard/modules/traceability/src/contracts.ts +1 -1
  94. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  95. package/templates/.agents/dashboard/packages/branding/src/index.ts +1 -1
  96. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  97. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  98. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +206 -206
  99. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +169 -169
  100. package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
  101. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +206 -206
  102. package/templates/.agents/dashboard/packages/local-runtime/src/server-identity.test.ts +42 -0
  103. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.test.ts +41 -0
  104. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.ts +1 -0
  105. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +2 -2
  106. package/templates/.agents/dashboard/packages/local-runtime/src/server-sqlite-task-trace.ts +6 -3
  107. package/templates/.agents/dashboard/packages/local-runtime/src/server-workspace.ts +1 -1
  108. package/templates/.agents/dashboard/packages/local-runtime/src/server.test-fixtures.ts +1 -1
  109. package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +1 -13
  110. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +11 -3
  111. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-incremental-refresh.test.ts +55 -0
  112. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-canonical.ts +9 -6
  113. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.test.ts +22 -0
  114. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.ts +10 -8
  115. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +68 -2
  116. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.ts +39 -10
  117. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-snapshot-seed.test.ts +47 -42
  118. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  119. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  120. package/templates/.agents/design/.zaip-managed.json +41 -41
  121. package/templates/.agents/design/apps/catalog/package.json +1 -1
  122. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  123. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  124. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  125. package/templates/.agents/requirements/comparative-audit.md +1 -1
  126. package/templates/.agents/requirements/context-engine.md +1 -1
  127. package/templates/.agents/requirements/cost-observability.md +1 -1
  128. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  129. package/templates/.agents/requirements/data-export.md +1 -1
  130. package/templates/.agents/requirements/design-system.md +1 -1
  131. package/templates/.agents/requirements/execution-engine.md +1 -1
  132. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  133. package/templates/.agents/requirements/model-orchestration.md +15 -5
  134. package/templates/.agents/requirements/public-distribution.md +3 -3
  135. package/templates/.agents/requirements/software-architecture.md +1 -1
  136. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  137. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  138. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  139. package/templates/.agents/rules/astra-diagnostic.md +20 -0
  140. package/templates/.agents/rules/core.md +9 -14
  141. package/templates/.agents/rules/meta-mcp.md +1 -0
  142. package/templates/.agents/rules/run-lifecycle-closure.md +1 -1
  143. package/templates/.agents/rules/specialist-routing.md +3 -1
  144. package/templates/.agents/runtime/VERSION +1 -1
  145. package/templates/.agents/runtime/bin/zaip.mjs +95 -61
  146. package/templates/.agents/runtime/checksums.sha256 +6 -6
  147. package/templates/.agents/runtime/manifest.json +1 -1
  148. package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
  149. package/templates/.agents/runtime/provenance.json +5 -5
  150. package/templates/.agents/runtime/sbom.cdx.json +1 -1
  151. package/templates/.agents/skills/zaip-aios/SKILL.md +4 -2
  152. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +2 -0
  153. package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +17 -0
  154. package/templates/.agents/skills/zaip-skill-general-operations/SKILL.md +6 -7
  155. package/templates/.agents/skills/zaip-skill-general-operations/references/extended-workflow.md +7 -0
  156. package/templates/.agents/skills/zaip-skill-github-setup/SKILL.md +5 -0
  157. package/templates/.agents/skills/zaip-skill-github-setup-ssh-folder/SKILL.md +54 -0
  158. package/templates/.agents/skills/zaip-skill-github-setup-ssh-folder/agents/openai.yaml +4 -0
  159. package/templates/.agents/skills/zaip-skill-github-setup-ssh-folder/assets/.env.example +9 -0
  160. package/templates/.agents/skills/zaip-skill-github-setup-ssh-folder/references/operational-procedure.md +137 -0
  161. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/SKILL.md +7 -19
  162. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/references/extended-workflow.md +21 -0
  163. package/templates/.agents/skills/zaip-skill-marketing/SKILL.md +7 -14
  164. package/templates/.agents/skills/zaip-skill-marketing/references/extended-workflow.md +16 -0
  165. package/templates/.agents/skills/zaip-skill-meta-ads-setup/SKILL.md +2 -0
  166. package/templates/.agents/skills/zaip-skill-meta-token-onboarding/SKILL.md +17 -0
  167. package/templates/.agents/skills/zaip-skill-meta-token-onboarding/agents/openai.yaml +4 -0
  168. package/templates/.agents/skills/zaip-skill-meta-token-onboarding/references/onboarding-manual.md +96 -0
  169. package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +4 -0
  170. package/templates/.agents/skills/zaip-skill-sales-methodology/SKILL.md +8 -18
  171. package/templates/.agents/skills/zaip-skill-sales-methodology/references/extended-workflow.md +20 -0
  172. package/templates/.agents/skills/zaip-skill-setup/SKILL.md +4 -1
  173. package/templates/.agents/skills/zaip-skill-text-encoding/SKILL.md +1 -1
  174. package/templates/.agents/zaip-aios/INDEX.md +1 -1
  175. package/templates/.agents/zaip-aios/README.md +6 -0
  176. package/templates/.agents/zaip-aios/VERSION +1 -1
  177. package/templates/.agents/zaip-aios/guides/08-contexto-e-tokens.md +19 -3
  178. package/templates/.agents/zaip-aios/guides/12-instalacao-e-upgrade.md +37 -7
  179. package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +14 -1
  180. package/templates/.agents/zaip-aios/guides/23-orquestracao-de-modelos.md +32 -3
  181. package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +21 -0
  182. package/templates/infra/terraform/terraform.tfvars.example +2 -1
  183. package/templates/template-manifest.json +234 -150
  184. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-ZJFXmK7m.js +0 -2
  185. /package/templates/.agents/{data → records}/changes/.gitkeep +0 -0
  186. /package/templates/.agents/{data → records}/executions/.gitkeep +0 -0
  187. /package/templates/.agents/{data → records}/prds/.gitkeep +0 -0
  188. /package/templates/.agents/{data → records}/runs/.gitkeep +0 -0
  189. /package/templates/.agents/{data → records}/specs/.gitkeep +0 -0
  190. /package/templates/.agents/{data → records}/tasks/.gitkeep +0 -0
@@ -0,0 +1,96 @@
1
+ # Teste simplificado: Graph API primeiro, MCP depois
2
+
3
+ Este roteiro é para a pessoa testar os próprios ativos, sem virar Tech Provider. Ele não cria acesso a uma conta, não publica anúncios e não substitui as políticas atuais da Meta. Pense em três coisas: o **app** é o cadastro da integração, a **BM** é o portfólio empresarial que reúne ou compartilha contas de anúncio, e o **token** é uma chave temporária para a pessoa provar o próprio acesso.
4
+
5
+ ## O que a pessoa precisa preparar
6
+
7
+ 1. Abrir [Meta for Developers](https://developers.facebook.com/), escolher **Entrar** ou **Começar** e usar o próprio login Meta. Concluir as verificações que a tela solicitar.
8
+ 2. Abrir **Meus apps** e escolher **Criar app**. Dar um nome, seguir o caso de uso que o painel apresentar para Marketing API ou gerenciamento de anúncios e confirmar o próprio papel no app. O nome e o tipo disponíveis podem mudar; para este teste, o app é só o cadastro da integração e não exige programar ou publicar um software.
9
+ 3. Anotar o App ID; o App Secret continua privado.
10
+ 4. Confirmar que a própria pessoa tem um papel adequado no app e acesso aos ativos que pretende consultar. Não exija que ela seja administradora de todos os ativos. Para uma prova de leitura de ativos próprios, normalmente não é preciso concluir app review; isso não garante acesso a qualquer BM, conta ou recurso. A Meta pode exigir verificações específicas, aprovações e níveis de acesso conforme o caso.
11
+ 5. Abrir o [Graph API Explorer](https://developers.facebook.com/tools/explorer/). Escolher o app, **Token do usuário**, marcar `ads_read` e `business_management` e clicar em **Gerar token**, como no exemplo fornecido. Se o painel atual exigir as dependências `pages_read_engagement` e `pages_show_list`, marque-as para completar o consentimento. Se também for testar o ramo MCP bearer, selecione `ads_mcp_management` nesse momento. Caso adicione esse escopo depois, gere um novo token, conclua o consentimento e repita a troca; escopos não são acrescentados editando `.env`. O token temporário é uma credencial: não envie por chat, e-mail, issue, log ou captura de tela.
12
+
13
+ `ads_read` permite as leituras de marketing descritas aqui. `business_management` permite descobrir os negócios que o usuário pode administrar. Alguns desses escopos também podem permitir operações de escrita em outros fluxos, mas este roteiro autoriza somente `GET` e ferramentas read-only. Escopos adicionais só devem ser solicitados se a resposta da Meta ou o painel atual mostrar que são necessários para um recurso específico.
14
+
15
+ ## Arquivo local e troca por token de longa duração
16
+
17
+ O `.env` fica na raiz do repositório, deve estar ignorado pelo Git e só pode ser escrito após a pessoa pedir explicitamente essa ação. É uma persistência local, não um mecanismo automático do host.
18
+
19
+ | Chave local | Valor que a pessoa preenche | Uso |
20
+ | --- | --- | --- |
21
+ | `META_APP_ID` | ID do app próprio | troca server-side |
22
+ | `META_APP_SECRET` | segredo do mesmo app | troca server-side |
23
+ | `META_GRAPH_API_VERSION` | versão Graph escolhida para o teste | endpoints Graph |
24
+ | `META_GRAPH_ACCESS_TOKEN` | token de usuário temporário ou renovado | leituras Graph |
25
+
26
+ Use a versão selecionada no painel, por exemplo `vNN.0`; não trate uma versão como universal. Um `.env` local terá somente placeholders neste guia:
27
+
28
+ ```dotenv
29
+ META_APP_ID=PREENCHA_LOCALMENTE
30
+ META_APP_SECRET=PREENCHA_LOCALMENTE
31
+ META_GRAPH_API_VERSION=vNN.0
32
+ META_GRAPH_ACCESS_TOKEN=PREENCHA_LOCALMENTE
33
+ ```
34
+
35
+ Antes de gravar, valide que `.env` é ignorado e não rastreado com `git check-ignore .env` e `git ls-files --error-unmatch .env`; ambos os comandos tratam apenas o caminho, não o valor. Ao atualizar, preserve comentários e chaves não relacionadas.
36
+
37
+ O App Secret fica em **App Settings > Basic > Show** no painel do app. Antes da troca, o agente autorizado valida o token temporário em `GET /me?fields=id,name`; uma resposta com `id` e `name` mostra quem foi autenticado. A troca é um `GET https://graph.facebook.com/{META_GRAPH_API_VERSION}/oauth/access_token` com os parâmetros `grant_type=fb_exchange_token`, `client_id`, `client_secret` e `fb_exchange_token`. O processo monta os valores somente em memória, usa HTTPS para `graph.facebook.com` e não imprime nem registra a URL completa, argumentos ou logs com credenciais. A troca usa token válido, App ID e App Secret do mesmo app. A Meta normalmente devolve um token de longa duração em torno de 60 dias, mas o retorno, a expiração e a elegibilidade pertencem à resposta atual da Meta. Se o token expirar, é preciso fazer novo login e gerar um novo token temporário; não há renovação infinita garantida.
38
+
39
+ Após uma troca bem-sucedida, o agente valida de novo `GET /me` usando o token retornado e confirma o mesmo `id` antes de substituir `META_GRAPH_ACCESS_TOKEN` localmente. Quando disponível, também confere metadados redigidos em `debug_token` — `app_id`, `is_valid`, escopos e expiração. A atualização do `.env` é atômica, preserva comentários e chaves não relacionadas e interpreta dotenv como dados, sem `source` ou `eval`. Qualquer erro de escopo, validade, aplicação ou permissão deve ser comunicado sem copiar a credencial.
40
+
41
+ ## Prova de leitura da API
42
+
43
+ Peça leituras apenas, com campos mínimos, `limit` moderado e paginação até o fim ou até um limite declarado.
44
+
45
+ 1. **Identidade.** `GET /me?fields=id,name`. Guarde apenas os valores de negócio necessários para a resposta; não o token.
46
+ 2. **BMs disponíveis.** `GET /me/businesses?fields=id,name`. A pessoa escolhe uma BM à qual tenha acesso. Para um cenário de teste mais representativo, escolha uma BM que tenha pelo menos um conjunto de anúncios ativo e válido; isso é uma verificação adicional do cenário, não requisito de autenticação.
47
+ 3. **Contas da BM.** Leia as duas relações, sempre paginando: `GET /BM_ID/owned_ad_accounts?fields=id,name,account_status` e `GET /BM_ID/client_ad_accounts?fields=id,name,account_status`. Una as listas e remova duplicatas pelo `id`. A pessoa escolhe uma conta cujo ID é `act_...`.
48
+ 4. **Campanhas.** `GET /act_ID/campaigns?fields=id,name,status,effective_status`, com `ads_read`. A resposta com dados ou uma lista vazia prova a leitura para a conta escolhida; uma lista vazia não significa falha de autorização. Para conferir o cenário de conjunto ativo, a leitura adicional filtra `adsets` por `effective_status=ACTIVE`. Esse status não comprova entrega, validade comercial ou performance e o roteiro nunca ativa anúncios.
49
+
50
+ Registre para a pessoa somente: endpoint, data/hora, ID selecionado, número de páginas, resultado `dados`, `vazio`, `scope-insufficient` ou `erro`. Não coloque tokens, secrets, headers de autorização, URLs completas ou payloads brutos em evidência.
51
+
52
+ ## Prova da API e prova do MCP
53
+
54
+ Uma resposta Graph API prova o token e os endpoints Graph; `ads_read` não valida sozinho o MCP. Ela não prova que um MCP foi instalado, autenticado ou autorizou a mesma conta. OAuth é o caminho padrão para o MCP oficial Meta Ads configurado por ZAIP. A metadata atual do recurso Meta Ads anuncia bearer header e inclui `ads_read`, `business_management`, `pages_show_list` e `ads_mcp_management` entre os scopes; isso permite testar o ramo bearer quando ele for explicitamente solicitado, mas não prova antecipadamente que um token de usuário será aceito.
55
+
56
+ Se `tools/list` ou a documentação atual do MCP exigirem `ads_mcp_management`, peça esse escopo apenas no ramo de teste MCP e respeite suas dependências atuais no painel. Ele não substitui `ads_read` para a consulta Graph de campanhas nem autoriza escrita. O vídeo de operações de escrita citado pela Meta para App Review não é etapa deste tutorial.
57
+
58
+ No ramo bearer explicitamente solicitado, confira primeiro o contrato de recurso atual em `https://mcp.facebook.com/ads`. Se ele continuar aceitando bearer e exigir `ads_mcp_management`, obtenha o escopo no token, respeitando dependências mostradas no painel. Há duas opções: configurar o host para mapear a variável local de token para `bearer_token_env_var`, sem gravar valor literal; ou usar um agente HTTP direto que mantenha a variável somente em memória. `.env` não é carregado automaticamente: o processo do host precisa receber a variável por um carregamento dotenv local e seguro. Em ambos os casos, envie POST para `initialize`, `notifications/initialized`, `tools/list` e `tools/call` de leitura; mantenha os headers de sessão e da versão de protocolo conforme a resposta do servidor. Chame uma ferramenta de leitura de campanhas para a mesma `act_ID` já escolhida. Não altere TOML ou configuração de host sem esse pedido explícito; se ele existir, a edição é permitida dentro desse escopo. Declare falha apenas pela resposta observada, nunca por suposição. OAuth continua disponível como o caminho padrão, sem forçar uma troca de volta.
59
+
60
+ Para validar um MCP após configurá-lo, o agente deve: (1) obter `tools/list` e seus schemas; (2) executar uma ferramenta de leitura real; e (3) informar se recebeu dados, vazio, falta de escopo, política bloqueada ou erro de transporte. Descobrir ferramentas ou concluir OAuth não é leitura real. Para o MCP oficial, use `$zaip-skill-meta-ads-setup` e depois `$zaip-skill-meta-ads`.
61
+
62
+ ## Prompts copiáveis, sem segredo
63
+
64
+ Após salvar as credenciais localmente, fora do chat, a pessoa pode pedir:
65
+
66
+ > Use esta skill para verificar localmente se as chaves Meta necessárias existem no `.env` da raiz, sem mostrar valores. Valide `GET /me` antes de qualquer troca de token.
67
+
68
+ > Com minha autorização para trocar o token, use `META_GRAPH_API_VERSION` e faça a troca local do token Graph temporário. Não mostre nem grave segredos em logs, URLs, argumentos, records ou evidências. Valide `/me` com o token retornado antes de atualizar o `.env`.
69
+
70
+ > Faça somente leituras Graph paginadas: minhas BMs, as contas próprias e de cliente da BM que eu escolher e as campanhas da conta `act_...` que eu escolher. Não altere ativos; informe cobertura e qualquer limitação.
71
+
72
+ > Com minha autorização para configurar e testar o ramo bearer MCP, confira o contrato atual, mapeie a variável local no host sem valor literal, recarregue, liste as tools e faça uma leitura de campanhas na mesma conta `act_...`. Não escreva nem declare falha sem uma resposta observada.
73
+
74
+ ## Sobre acesso permanente e a Zaip
75
+
76
+ Este fluxo é intencionalmente temporário e adequado a um teste simples. Acesso duradouro, automação em produção e uso com terceiros dependem do produto Meta, do modelo de token, da revisão, das permissões e das políticas aplicáveis. Para cenários elegíveis, um system user pode ter token sem expiração conforme a documentação atual da Meta no Postman; ele continua revogável e não depende de uma parceria universal.
77
+
78
+ A [Zaip](https://zaip.com.br/) se apresenta institucionalmente como Parceiro Oficial Tech Provider no contexto WhatsApp. Pode ajudar a estruturar soluções e conformidade com as políticas aplicáveis, sem afirmar auditoria independente, selo de Ads ou MCP, nem token permanente exclusivo de parceiro.
79
+
80
+ ## Referências oficiais e limite de política
81
+
82
+ - [Meta: tokens de longa duração](https://developers.facebook.com/docs/facebook-login/guides/access-tokens/get-long-lived/) — página verificada em 2026-09-06: troca server-side requer token válido, App ID e App Secret; token de usuário costuma durar cerca de 60 dias.
83
+ - [Meta: autorização da Marketing API](https://developers.facebook.com/docs/marketing-api/overview/authorization/) — página verificada em 2026-09-06: testes de contas próprias têm limites e os níveis Limited e Full Access são avaliados pela Meta; não confunda com acesso garantido a todos os ativos.
84
+ - [Meta Ads MCP: recurso OAuth protegido](https://mcp.facebook.com/.well-known/oauth-protected-resource/ads) — metadata verificada em 2026-09-06; suporta bearer header e anuncia scopes, mas não atesta a aceitação de um token específico.
85
+ - [Meta: permissões](https://developers.facebook.com/docs/permissions/) — consulte para `ads_mcp_management` e dependências atuais antes do ramo bearer.
86
+ - [Meta Graph API: negócios do usuário](https://developers.facebook.com/docs/graph-api/reference/user/businesses/), [contas próprias da BM](https://developers.facebook.com/docs/marketing-api/reference/business/owned_ad_accounts/), [contas de cliente da BM](https://developers.facebook.com/docs/marketing-api/reference/business/client_ad_accounts/) e [campanhas da conta](https://developers.facebook.com/docs/marketing-api/reference/ad-account/campaigns/) — referências das edges usadas nas leituras.
87
+ - [Meta Postman: Facebook Marketing API](https://www.postman.com/meta/facebook-marketing-api/documentation/0zr4mes/facebook-marketing-api-mapi?entity=request-31691153-6b7e9445-1832-42ae-b40a-bdd1b831f714) — coleção direta da Meta sobre tokens de usuário e system user; consulte antes de afirmar elegibilidade ou expiração.
88
+ - [Meta Graph API Explorer](https://developers.facebook.com/tools/explorer/) — a interface e as permissões disponíveis podem mudar; siga a tela atual da Meta.
89
+
90
+ ## Como concluir o teste
91
+
92
+ - **API validada:** o novo token respondeu o mesmo `id` em `/me`, a BM e uma conta `act_...` foram selecionadas e a leitura de campanhas devolveu dados ou vazio legítimo.
93
+ - **MCP validado:** depois de `initialize` ou reload, `tools/list` e uma ferramenta de leitura de campanhas para a mesma `act_ID` responderam de forma observável.
94
+ - **Cenário ativo confirmado:** a leitura opcional de `adsets` encontrou um conjunto com status ativo e válido. Isso confirma o cenário de teste, não a autenticação.
95
+
96
+ As políticas e os produtos Meta mudam. Quando a tela ou a resposta da API divergir deste guia, trate a fonte Meta atual como autoridade e reporte a divergência antes de ampliar permissões ou mudar o fluxo.
@@ -7,6 +7,10 @@ description: Qualify an exact ZAIP release candidate through source-template-pac
7
7
 
8
8
  Use before deciding whether a concrete candidate is ready. It does not publish.
9
9
 
10
+ The only public npm package is `@zaip-ai/cli`; the installation entry point is
11
+ `npx @zaip-ai/cli@latest init`. Verify that release automation, manifests, and
12
+ registry checks target only this package before qualifying the next publication.
13
+
10
14
  1. Identify the exact candidate revision, version, and intended distribution surface.
11
15
  Do not substitute current working-tree checks for candidate evidence.
12
16
  2. Validate framework lock, source-to-public-template parity, generated artifacts,
@@ -3,23 +3,13 @@ name: zaip-skill-sales-methodology
3
3
  description: Design evidence-backed sales processes, qualification playbooks, and configurable scripts. Use for internal sales-methodology work; not for external commercial acts or campaign production.
4
4
  ---
5
5
 
6
- # Metodologia comercial
6
+ # Sales proporcional ao pedido
7
7
 
8
- ## Localização canônica
8
+ - Explique conceitos ou revise texto pontual diretamente quando houver contexto suficiente; uma pergunta sobre BANT não exige playbook completo.
9
+ - SPIN é um banco adaptativo de perguntas; BANT registra evidências de Budget, Authority, Need e Timing. Preserve intenção, fatos e estágio demonstrado do comprador, sem pressão manipulativa.
10
+ - Nunca invente urgência, autoridade, ROI, preço, prova ou dados. Hipóteses ficam rotuladas. Pergunte somente por lacuna material; resposta ausente não é aprovação.
11
+ - Esta skill orienta trabalho interno. Contato com prospects, proposta, pagamento, preço/desconto, assinatura ou outro ato externo exige autorização específica vigente.
12
+ - Para processo, qualificação, negociação, roteiro por etapa ou entrega persistente, carregue [o fluxo progressivo](references/extended-workflow.md), com SPIN/BANT, handoffs e limites. Artefatos vivem em `.agents/sales/`; `playbook.md` centraliza o processo.
13
+ - Campanha pertence a Marketing; estratégia empresarial/RevOps a Growth; decisão de marca a Branding; dados e políticas aos respectivos especialistas.
9
14
 
10
- Salve processos comerciais, playbooks, scripts internos, matrizes de objeções e materiais de enablement em `.agents/sales/`. Não salve esses artefatos em `docs/`, na raiz do repositório ou em diretórios de brand, marketing ou growth.
11
-
12
- O arquivo central da área é `.agents/sales/playbook.md`; atualize-o quando uma decisão mudar o processo comercial, qualificação, handoff ou narrativa sales-facing. Materiais específicos podem ser arquivos adicionais na mesma pasta.
13
-
14
- ## Descoberta e entrega progressivas
15
-
16
- 1. Comece pelas referências acessíveis fornecidas — texto, site, PDF, PPT, planilha, arquivo ou imagem — e registre fonte, locator e classificação: fato, decisão aprovada, hipótese, dado ou lacuna. Preserve o que já foi aprovado e não recrie nem duplique o playbook central.
17
- 2. Se o trabalho começar do zero ou o contexto for insuficiente, faça no máximo cinco perguntas críticas por turno, por até três turnos. Pergunte somente por lacunas materiais: ICP, oferta, processo, persona, canal, origem, etapa, autoridade ou compliance. Espere as respostas antes de avançar nas partes que delas dependem; silêncio não é resposta nem aprovação. Após três turnos, marque lacunas e use somente hipóteses delegáveis, sem fabricar consciência, urgência, prova, ROI, preço, dados ou autoridade.
18
- 3. Pedido pontual com contexto suficiente deve ser executado diretamente, sem questionário obrigatório nem playbook completo.
19
- 4. Aplique somente as partes necessárias ao escopo solicitado: `ICP, oferta e processo` → `etapas e handoff` → `roteiro por etapa` → `playbook completo`. Identifique o material em construção e consolide em `.agents/sales/playbook.md` somente quando houver contexto suficiente para mudar processo, qualificação, handoff ou narrativa sales-facing. Materiais específicos ficam em arquivos complementares sem repetir a fonte central, sem exigir todos os módulos ou formatos.
20
- 5. Desenhe cada etapa com objetivo, dono, entrada, abertura, perguntas, evidência, campos SPIN/BANT, transição, objeções, prova autorizada, microcompromisso, saída, CRM, handoff/SLA e próximo passo. Inclua caminhos de `not-qualified`, `nurture` e `no-decision`.
21
- 6. Use as três etapas ZAIP: descoberta/pré-qualificação (tipicamente SDR), alinhamento/qualificação com handoff definido para closer, e fechamento/negociação pelo closer. O preço só pode ser apresentado como aprovado; proposta e contrato seguem o handoff autorizado.
22
- 7. Aplique SPIN como banco adaptativo de Situation, Problem, Implication e Need-payoff, nunca como interrogatório ou ordem rígida. Use BANT como campos e gates de evidência (Budget, Authority, Need, Timing), nunca para pressionar ou desqualificar de forma manipulativa.
23
- 8. Adapte narrativa, perguntas e CTA a unaware, problem-aware, solution-aware, product-aware e most-aware somente quando houver evidência do estágio. Use o roteiro genérico de qualificação curta e a estrutura de fechamento em [referência de processo](references/sales-process-framework.md).
24
- 9. Aaron somente desenha ou melhora processo, playbook e script internos. Não contata prospects, envia proposta ou link de pagamento, altera preço/desconto, assina contrato nem executa ato comercial externo ou vinculante sem autoridade explícita.
25
- 10. Encaminhe estratégia Growth/RevOps, estratégia empresarial e economia end-to-end para Robert; campanha e copy de aquisição para Lúcia; marca e tom ainda não decididos para Sarah; dados e métodos quantitativos para Gabi; políticas ou limites legais para Renata; e produção documental genérica para Clara. Sales-facing scripts e enablement pertencem a Aaron; copy de campanha pertence a Lúcia.
15
+ Uma interaction read-only não materializa Task/Change. Entrega persistente segue lifecycle, Requirements/AC e assurance proporcionais; só trabalho técnico carrega engenharia.
@@ -0,0 +1,20 @@
1
+ # Metodologia comercial
2
+
3
+ ## Localização canônica
4
+
5
+ Salve processos comerciais, playbooks, scripts internos, matrizes de objeções e materiais de enablement em `.agents/sales/`. Não salve esses artefatos em `docs/`, na raiz do repositório ou em diretórios de brand, marketing ou growth.
6
+
7
+ O arquivo central da área é `.agents/sales/playbook.md`; atualize-o quando uma decisão mudar o processo comercial, qualificação, handoff ou narrativa sales-facing. Materiais específicos podem ser arquivos adicionais na mesma pasta.
8
+
9
+ ## Descoberta e entrega progressivas
10
+
11
+ 1. Comece pelas referências acessíveis fornecidas — texto, site, PDF, PPT, planilha, arquivo ou imagem — e registre fonte, locator e classificação: fato, decisão aprovada, hipótese, dado ou lacuna. Preserve o que já foi aprovado e não recrie nem duplique o playbook central.
12
+ 2. Se o trabalho começar do zero ou o contexto for insuficiente, faça no máximo cinco perguntas críticas por turno, por até três turnos. Pergunte somente por lacunas materiais: ICP, oferta, processo, persona, canal, origem, etapa, autoridade ou compliance. Espere as respostas antes de avançar nas partes que delas dependem; silêncio não é resposta nem aprovação. Após três turnos, marque lacunas e use somente hipóteses delegáveis, sem fabricar consciência, urgência, prova, ROI, preço, dados ou autoridade.
13
+ 3. Pedido pontual com contexto suficiente deve ser executado diretamente, sem questionário obrigatório nem playbook completo.
14
+ 4. Aplique somente as partes necessárias ao escopo solicitado: `ICP, oferta e processo` → `etapas e handoff` → `roteiro por etapa` → `playbook completo`. Identifique o material em construção e consolide em `.agents/sales/playbook.md` somente quando houver contexto suficiente para mudar processo, qualificação, handoff ou narrativa sales-facing. Materiais específicos ficam em arquivos complementares sem repetir a fonte central, sem exigir todos os módulos ou formatos.
15
+ 5. Desenhe cada etapa com objetivo, dono, entrada, abertura, perguntas, evidência, campos SPIN/BANT, transição, objeções, prova autorizada, microcompromisso, saída, CRM, handoff/SLA e próximo passo. Inclua caminhos de `not-qualified`, `nurture` e `no-decision`.
16
+ 6. Use as três etapas ZAIP: descoberta/pré-qualificação (tipicamente SDR), alinhamento/qualificação com handoff definido para closer, e fechamento/negociação pelo closer. O preço só pode ser apresentado como aprovado; proposta e contrato seguem o handoff autorizado.
17
+ 7. Aplique SPIN como banco adaptativo de Situation, Problem, Implication e Need-payoff, nunca como interrogatório ou ordem rígida. Use BANT como campos e gates de evidência (Budget, Authority, Need, Timing), nunca para pressionar ou desqualificar de forma manipulativa.
18
+ 8. Adapte narrativa, perguntas e CTA a unaware, problem-aware, solution-aware, product-aware e most-aware somente quando houver evidência do estágio. Use o roteiro genérico de qualificação curta e a estrutura de fechamento em [referência de processo](sales-process-framework.md).
19
+ 9. Aaron somente desenha ou melhora processo, playbook e script internos. Não contata prospects, envia proposta ou link de pagamento, altera preço/desconto, assina contrato nem executa ato comercial externo ou vinculante sem autoridade explícita.
20
+ 10. Encaminhe estratégia Growth/RevOps, estratégia empresarial e economia end-to-end para Robert; campanha e copy de aquisição para Lúcia; marca e tom ainda não decididos para Sarah; dados e métodos quantitativos para Gabi; políticas ou limites legais para Renata; e produção documental genérica para Clara. Sales-facing scripts e enablement pertencem a Aaron; copy de campanha pertence a Lúcia.
@@ -5,13 +5,16 @@ description: Install, diagnose, migrate, upgrade, or roll back ZAIP configuratio
5
5
 
6
6
  # Configurar ZAIP-AIOS
7
7
 
8
+ Use somente o pacote público `@zaip-ai/cli`: `npx @zaip-ai/cli@latest init`.
9
+ Para escolher o perfil, acrescente `--profile full|dev-lite|lite` ao comando `init`.
10
+
8
11
  For the isolated SQLite dashboard, also discover and use `$zaip-skill-sqlite-read-model`.
9
12
  The setup must verify Node.js 22+, install the LTS release with `winget` when the user has
10
13
  authorized automatic prerequisite installation, and create the disposable database only from
11
14
  canonical `.agents/records` and `.agents/config` sources.
12
15
 
13
16
  1. Faça dry-run, descubra a versão/layout e rejeite conflitos de checksum, ownership ou arquivos divergentes do usuário.
14
- 2. Instale/valide `config/project.yaml`, `config/framework.lock.yaml`, as cinco Rules core diretamente em `rules/`, as Rules locais fora do lock preservadas, todos os Requirements/skills gerenciados pelo manifest, as raízes V2 de `data` e o dashboard frontend-only em `.agents/dashboard` quando ele fizer parte da distribuição.
17
+ 2. Instale/valide `config/project.yaml`, `config/framework.lock.yaml`, as cinco Rules core diretamente em `rules/`, as Rules locais fora do lock preservadas, todos os Requirements/skills gerenciados pelo manifest, as raízes V3 de `records` e o dashboard frontend-only em `.agents/dashboard` quando ele fizer parte da distribuição. Em upgrade V2, promova os registros de `data` para `records` de modo idempotente e reversível, arquivando a fonte antes da remoção somente quando a cópia for validada.
15
18
  3. Nunca mantenha lista fixa da quantidade de Requirements ou skills no workflow; derive o catálogo do release/lock vigente.
16
19
  4. Preserve arquivos do projeto. Configuração específica usa `$zaip-skill-config`; Rules específicas usam `$zaip-skill-rules`.
17
20
  5. Mantenha raízes V1 somente leitura até migração explícita, planejada, idempotente e reversível.
@@ -19,7 +19,7 @@ description: Detect, prevent, and fix UTF-8, mojibake, and malformed text in ZAI
19
19
  - `.agents/requirements`
20
20
  - `.agents/skills`
21
21
  - `docs`
22
- - `plan-create-zaip-aios`
22
+ - `public-cli`
23
23
 
24
24
  ## Notes
25
25
 
@@ -29,7 +29,7 @@ introduzidos em releases mais novas.
29
29
  | Consultar instalação detalhada | [20 — Instalação detalhada](guides/20-instalacao-detalhada.md) |
30
30
  | Consultar telemetria do Monitor | [21 — Telemetria do Monitor de Custos](guides/21-telemetria-monitor-custos.md) |
31
31
  | Entender fluxos e roteamento | [22 — Fluxos e roteamento](guides/22-fluxos-e-roteamento.md) |
32
- | Consultar a política de modelos | [23 — Orquestração de modelos](guides/23-orquestracao-de-modelos.md) |
32
+ | Escolher modelos e limitar o diagnóstico Astra | [23 — Orquestração de modelos](guides/23-orquestracao-de-modelos.md) |
33
33
  | Entender cálculo e fontes de custo | [24 — Cálculo](guides/24-calculo-de-custos-openai.md) e [25 — Fontes](guides/25-fontes-de-precos-openai.md) |
34
34
  | Consultar qualidade e release | [26 — Qualidade e release](guides/26-qualidade-e-release.md) |
35
35
  | Entender a telemetria Git-native | [27 — Telemetria Git-native](guides/27-telemetria-git-native.md) |
@@ -39,11 +39,17 @@ presença de uma instrução ou screenshot não comprova execução naquele ambi
39
39
  - Use o guia 09 para delegacao entre os 23 agentes e 6 squads registrados.
40
40
  - Use o guia 16 para entender status, reconciliacao e a ordem de finalizacao.
41
41
  - Use os guias 17 e 24 a 25 para interpretar tokens, precificacao e conversao de moeda.
42
+ - Use o [guia 08](guides/08-contexto-e-tokens.md) para consultas com contexto enxuto e
43
+ o [guia 23](guides/23-orquestracao-de-modelos.md) para a divisão Luna/Terra/Sol e o
44
+ diagnóstico Astra em `high`, limitado a três invocações por tarefa.
42
45
  - Use os guias 18 a 28 quando precisar do contrato completo de agentes, lifecycle, telemetria, qualidade, instalacao ou roteamento.
43
46
 
44
47
  O instalador npm projeta esta pasta da `.agents` canonica para o tarball e a
45
48
  recria no projeto consumidor. Arquivos em `public-cli/packages/cli/templates`
46
49
  sao artefatos gerados do empacotamento, nao uma segunda fonte a ser editada.
50
+ Os manuais completos em português e inglês são instalados como
51
+ `.agents/README.md` e `.agents/README-ENG.md`; os READMEs da raiz do consumidor
52
+ permanecem sob sua autoria.
47
53
 
48
54
  Para concluir trabalho, use [revisão e validação](guides/07-revisao-e-validacao.md)
49
55
  e o [contrato de prova observável](../skills/zaip-skill-change/references/observable-evidence.md).
@@ -1 +1 @@
1
- 1.3.0
1
+ 2.0
@@ -2,9 +2,25 @@
2
2
 
3
3
  1. Comece por `project.yaml`, `core.md` e pelos manifests de `.agents/records/lifecycle/`.
4
4
  2. Carregue somente a Rule, Requirement ou skill acionada.
5
- 3. Prefira indices, resumos e busca direcionada a arquivos completos.
5
+ 3. Prefira índices, resumos e busca direcionada a arquivos completos.
6
6
  4. Abra records apenas por lifecycle ID conhecido.
7
- 5. Resuma fatos estaveis; preserve texto literal apenas quando normativo.
8
- 6. Remova do contexto resultados superados e detalhes nao acionaveis.
7
+ 5. Resuma fatos estáveis; preserve texto literal apenas quando normativo.
8
+ 6. Remova do contexto resultados superados e detalhes não acionáveis.
9
9
 
10
10
  Para tools, leia `catalog.yaml`, escolha um ID e abra somente seu manifesto.
11
+
12
+ ## Consulta simples e diagnóstico difícil
13
+
14
+ Uma pergunta simples de Marketing, Sales, Growth ou Ops recebe o contexto do domínio
15
+ necessário à resposta. Não cria Task/Change artificial nem carrega instruções de
16
+ engenharia ou diagnóstico Astra apenas por mencionar um departamento.
17
+
18
+ O [guia 23](23-orquestracao-de-modelos.md) define a escalada excepcional. A
19
+ [Rule Astra](../../rules/astra-diagnostic.md) só é carregada ao avaliar elegibilidade:
20
+ prova da falha, dificuldade estruturada e, no caso preventivo, impacto crítico comprovado.
21
+ A consulta diagnóstica usa contexto novo e delimitado, sem histórico integral ou ferramentas;
22
+ o executor recebe a rota corrigida e preserva os critérios de aceite originais.
23
+
24
+ Menos texto de prompt não comprova menor custo total. Compare tokens, tempo, reparos e
25
+ custo por tarefa aceita; mantenha separado o custo de uma pergunta simples. Consumo
26
+ ausente permanece indisponível. Veja [observabilidade e custos](11-observabilidade-e-custos.md).
@@ -1,10 +1,40 @@
1
- # Instalacao e upgrade
1
+ # Instalação e upgrade
2
2
 
3
- 1. Verifique versao atual e estado limpo ou conscientemente preservado.
4
- 2. Execute doctor/integrity antes da mudanca.
5
- 3. Faça dry-run da instalacao, migracao ou upgrade.
6
- 4. Revise arquivos gerenciados, publicos e preservados.
3
+ 1. Verifique versão atual e estado limpo ou conscientemente preservado.
4
+ 2. Execute doctor/integrity antes da mudança.
5
+ 3. Faça dry-run da instalação, migração ou upgrade.
6
+ 4. Revise arquivos gerenciados, públicos e preservados.
7
7
  5. Aplique, valide adapters e rode gates.
8
- 6. Teste rollback e confirme a versao final.
8
+ 6. Teste rollback e confirme a versão final.
9
9
 
10
- `framework.lock.yaml` e relevante neste fluxo; nao o carregue no trabalho comum.
10
+ `framework.lock.yaml` é relevante neste fluxo; não o carregue no trabalho comum.
11
+
12
+ ## Atualizar pelo pacote público
13
+
14
+ Na raiz do projeto consumidor:
15
+
16
+ ```bash
17
+ npx @zaip-ai/cli@latest init --dry-run
18
+ npx @zaip-ai/cli@latest init
19
+ npx @zaip-ai/cli@latest doctor --json
20
+ node .agents/runtime/bin/zaip.mjs doctor --json
21
+ ```
22
+
23
+ O primeiro doctor verifica a instalação; o segundo verifica o runtime distribuído.
24
+ Leia o plano antes de autorizar uma substituição com `--force --yes`. O upgrade
25
+ preserva o perfil de instalação salvo e as escolhas do projeto.
26
+
27
+ Os manuais instalados ficam em `.agents/README.md` (português) e
28
+ `.agents/README-ENG.md` (inglês), com navegação em [INDEX.md](../INDEX.md).
29
+ Os READMEs da raiz pertencem ao projeto consumidor e são preservados.
30
+ As versões geradas em `public-cli/packages/cli/templates` vêm das fontes canônicas.
31
+
32
+ Novas instalações mantêm seleção de modelo em `manual`. Instalar ou atualizar
33
+ não ativa Astra automaticamente. O opt-in `auto` aplica-se a SPEC/PRD e a allowlist
34
+ Astra habilita somente diagnóstico `high`, limitado e evidenciado, conforme o
35
+ [guia 23](23-orquestracao-de-modelos.md). Conversas e Tasks avulsas preservam a seleção do host.
36
+
37
+ `@latest` entrega o que está publicado no npm. Uma atualização local das fontes ou
38
+ um pacote validado localmente só chegará a esse comando após publicação.
39
+ Consulte [instalação detalhada](20-instalacao-detalhada.md) e
40
+ [qualificação do pacote](26-qualidade-e-release.md).
@@ -4,7 +4,7 @@ Este guia descreve o modelo de lifecycle V2 no layout V3. Durante a transição,
4
4
 
5
5
  ## Pré-requisitos
6
6
 
7
- - Node.js compatível com o pacote (declara 22+); para Dashboard, confirme `node:sqlite` disponível, como no ambiente de referência 22.16.0;
7
+ - Node.js 22.16.0 ou superior, conforme o requisito do pacote, com `node:sqlite` disponível;
8
8
  - Git;
9
9
  - permissões de escrita no repositório consumidor.
10
10
 
@@ -28,6 +28,19 @@ instalador; nos exemplos de lifecycle deste guia, `zaip ...` é uma abreviação
28
28
  de `node .agents/runtime/bin/zaip.mjs ...` no projeto consumidor. Use o caminho
29
29
  explícito para evitar colisão entre os dois CLIs.
30
30
 
31
+ ### Manuais e seleção de modelos
32
+
33
+ Antes de usar os comandos de desenvolvimento abaixo, consulte os manuais instalados
34
+ em `.agents/README.md` e `.agents/README-ENG.md` e o [índice local](../INDEX.md).
35
+ O instalador preserva os READMEs do projeto na raiz. Os perfis `full`, `dev-lite`
36
+ e `lite` selecionam ferramentas de instalação; eles não classificam a dificuldade
37
+ de uma tarefa nem ativam um modelo mais caro.
38
+
39
+ O default de seleção de modelos é `manual`. O modo `auto` exige opt-in do projeto,
40
+ permanece restrito a SPEC/PRD e mantém Astra como consultor diagnóstico opcional em
41
+ `high`, com teto de três invocações por Task e devolução aos executores.
42
+ Veja o [contrato de modelos e seus limites](23-orquestracao-de-modelos.md).
43
+
31
44
  ## Construir o CLI
32
45
 
33
46
  Somente no repositório-fonte, para manutenção do framework:
@@ -11,7 +11,7 @@ Este guia define como o ZAIP-AIOS recomenda modelo, `reasoning effort` e velocid
11
11
 
12
12
  Na implementação atual, a política suporta `manual`, `off` e `auto`. No projeto ZAIP-AIOS, `auto` está ativado somente para Executions originadas por SPEC ou PRD; Conversation e Task-first preservam o modelo, o reasoning effort e a velocidade selecionados manualmente no Codex. `manual` continua disponível para rollback e permanece o default de novas instalações.
13
13
 
14
- Toda Execution originada por PRD ou SPEC solicita velocidade `standard`, sem exceção ou override para Fast. A única forma suportada de executar trabalho de produto mais rápido é iniciar uma Task-first realmente independente e selecionar Fast manualmente no Codex; o ZAIP não ativa, persiste nem herda essa velocidade.
14
+ Na política automática, Executions originadas por PRD ou SPEC solicitam velocidade `standard`, sem override para Fast. Em Conversation ou Task-first independente, a seleção de Fast pertence ao host/Codex; o ZAIP não a ativa, persiste nem herda. Velocidade do provider, paralelismo e tempo total até a tarefa aceita são medidas distintas.
15
15
 
16
16
  ## Estado atual
17
17
 
@@ -74,13 +74,14 @@ Para permitir escolha manual em Conversation e Task-first, não fixe `model`, `m
74
74
 
75
75
  ## Família de modelos
76
76
 
77
- A política automática deve permanecer inicialmente na família GPT-5.6:
77
+ A política preserva GPT-5.6 para execução e acrescenta Astra somente para diagnóstico difícil evidenciado:
78
78
 
79
79
  | Modelo | Uso preferencial |
80
80
  | --- | --- |
81
81
  | `gpt-5.6-luna` | trabalho claro, repetitivo, determinístico e de alto volume |
82
82
  | `gpt-5.6-terra` | implementação, teste, diagnóstico e integração cotidiana |
83
83
  | `gpt-5.6-sol` | trabalho ambíguo, transversal, arquitetural, crítico ou de alto valor |
84
+ | `gpt-6-astra` | diagnóstico excepcional, somente `high`, seguido de devolução ao executor |
84
85
 
85
86
  Os defaults iniciais ficam definidos assim:
86
87
 
@@ -91,6 +92,7 @@ Os defaults iniciais ficam definidos assim:
91
92
  | velocidade fallback/baseline | `standard` |
92
93
  | modelo eficiente elegível | `gpt-5.6-luna` |
93
94
  | modelo frontier elegível | `gpt-5.6-sol` |
95
+ | consultor diagnóstico excepcional | `gpt-6-astra high`; até três diagnósticos por Task |
94
96
  | teto automático de effort | `xhigh` |
95
97
  | `xhigh` automático | habilitado somente pelos critérios de elegibilidade |
96
98
  | `max` e `Ultra` automáticos | fora de escopo |
@@ -98,7 +100,34 @@ Os defaults iniciais ficam definidos assim:
98
100
 
99
101
  Terra `medium` é o fallback quando os sinais forem insuficientes ou conflitantes. Sol não deve ser usado em tudo; Luna não deve ser usado quando a Task depende de julgamento arquitetural ou ambiguidade relevante.
100
102
 
101
- `ultra` e `max` não fazem parte da política: o ZAIP-AIOS nunca os seleciona. A seleção usa somente Luna, Terra ou Sol com effort `low`, `medium`, `high` ou `xhigh`.
103
+ `ultra` e `max` não fazem parte da política: o ZAIP-AIOS nunca os seleciona. Luna, Terra e Sol usam effort `low`, `medium`, `high` ou `xhigh` conforme elegibilidade. Astra usa somente `high`; nem um override libera `xhigh`, `max` ou `ultra` para ele.
104
+
105
+ ### Astra: diagnóstico, correção de rota e devolução
106
+
107
+ Sol permanece como escolha normal da faixa difícil. Astra recebe uma questão diagnóstica delimitada quando o ganho potencial de evitar novo reparo justifica seu uso. A regra canônica é [RULE-ASTRA-DIAGNOSTIC](../../rules/astra-diagnostic.md), carregada apenas nessa avaliação; o kernel e os prompts de Marketing, Sales, Growth e Ops não incorporam essa expansão.
108
+
109
+ | Situação observada | Rota |
110
+ | --- | --- |
111
+ | Pergunta direta, copy, análise comercial simples, alteração mecânica | Luna/Terra conforme perfil existente |
112
+ | Arquitetura ou problema difícil com caminho conhecido | Sol; execução delimitada em Luna/Terra |
113
+ | Tentativa executora falhou por hipótese/raciocínio; complexidade ou ambiguidade alta e evidência disponível | Um diagnóstico Astra high antes do reparo seguinte |
114
+ | Impacto material crítico e diagnóstico difícil, ambos evidenciados | Astra high preventivamente, antes da primeira implementação |
115
+ | Falha de ambiente, credencial, ferramenta, sintaxe ou ausência de prova | Corrigir a condição ou obter prova com o executor; não acionar Astra |
116
+ | Mesmo diagnóstico/plano sem progresso, ou três diagnósticos já reservados | Parar a escalada; executar rota útil ou registrar bloqueio concreto |
117
+
118
+ A expressão “tarefa crítica”, o risco isolado, o departamento, a quantidade de arquivos e o tamanho do pedido nunca bastam. A política usa metadados estruturados e prova referenciada. Um reparo localizado não se torna diagnóstico difícil só porque a primeira tentativa falhou.
119
+
120
+ Cada ciclo significa **uma invocação diagnóstica Astra governada**, com reserva atômica antes do dispatch. O teto é três por ID estável de Task, somando retomadas, Runs e Executions; normalmente basta uma consulta. Uma reserva consumida não permite repetir o dispatch nem é devolvida após timeout. Call interna, evento de uso e checkpoint não são contadores de diagnóstico.
121
+
122
+ O pacote de entrada contém falha observada, tentativa anterior, evidência, restrições e critérios de aceite. É uma sessão nova, sem herdar histórico integral, sem ferramentas de execução nem filhos. O envelope limita a entrada serializada a 48000 bytes, declara até 8000 tokens de saída e termina após até 180 segundos. Bytes não equivalem a tokens; o runtime verifica o consumo informado pelo provider, sem transformar orçamento declarado em economia medida.
123
+
124
+ Astra retorna JSON com `findings`, `evidence`, `cause_or_hypothesis`, `route`, `scope`, `test_plan`, `executor` e `recommended_model` restrito a Luna/Terra/Sol. O coordenador valida o retorno e entrega a correção ao executor. Astra não implementa, não substitui a revisão normal e não finaliza a entrega.
125
+
126
+ O objetivo da segunda tentativa é aplicar uma hipótese corrigida e testável. Outra consulta precisa de evidência nova e mudança de hipótese/rota; não se permite repetir o mesmo plano alternando Astra e Sol. Se faltar prova para avançar, o retorno identifica a prova faltante, sem prometer resolução automática.
127
+
128
+ A política `model-orchestration-v2` mantém legível a configuração anterior com três modelos. Incluir Astra na allowlist habilita apenas essa rota condicionada; removê-lo desativa novos diagnósticos preservando histórico e quota. Novas instalações continuam em `manual`. O modo automático permanece restrito a SPEC/PRD. O framework controla processos que ele próprio despacha; não consegue alterar ou limitar uma sessão manual já selecionada no aplicativo Codex.
129
+
130
+ O isolamento é aplicado pelo adapter Codex antes da inferência: configuração transitória, sandbox de leitura, ferramentas de shell/apps/browser/multi-agent desabilitadas e cada servidor MCP efetivo desabilitado individualmente. Se a configuração não puder ser verificada, o diagnóstico não inicia. Um evento inesperado de ferramenta provoca cancelamento adicional; essa verificação posterior não substitui a restrição anterior.
102
131
 
103
132
  ## Reasoning effort
104
133
 
@@ -50,6 +50,27 @@ sincronize/audite novamente o template público. Execute gates geradores em
50
50
  checkout/worktree isolado para preservar trabalho concorrente. Gates locais,
51
51
  artefato exato, CI terminal e produção continuam sendo provas distintas.
52
52
 
53
+ ### Paridade de documentação no pacote npm
54
+
55
+ Atualize primeiro `README.md` e `README-ENG.md` do repositório-fonte, mantendo
56
+ português como principal e equivalência de seções, tabelas, exemplos e links.
57
+ Atualize também os guias afetados, seu índice e os READMEs do CLI público.
58
+ Sincronize o manifesto de integridade e o template por seus geradores oficiais.
59
+
60
+ O `pack:check` de `public-cli` instala o TGZ real em um consumidor temporário:
61
+ confere os hashes dos dois manuais, dos índices e de todos os arquivos do handbook
62
+ contra o manifest do próprio pacote, incluindo a Rule Astra, e verifica que
63
+ os READMEs da raiz do consumidor sobrevivem à instalação e à reinstalação.
64
+ O relatório registra a quantidade de arquivos documentais conferidos.
65
+
66
+ Novas instalações continuam em `manual`; a documentação não deve confundir
67
+ perfil de instalação com modelo/effort nem apresentar estimativas de tokens
68
+ como economia financeira medida. O escopo automático e os limites Astra
69
+ devem coincidir com o [guia 23](23-orquestracao-de-modelos.md).
70
+
71
+ Esses checks comprovam paridade local do candidato. Publicação npm, a tag
72
+ `latest`, CI remoto e economia em tarefas reais precisam de suas próprias evidências.
73
+
53
74
  ### Falhas de desempenho no dashboard
54
75
 
55
76
  Reproduza a rota, período, filtro, offset e tamanho da página que falharam.
@@ -1,4 +1,5 @@
1
- # Copy only non-secret values to a local ignored terraform.tfvars. Supply tokens through TF_VAR_*.
1
+ # Copy only non-secret values to a local ignored terraform.tfvars. Supply provider
2
+ # credentials through HOSTINGER_API_TOKEN and CLOUDFLARE_API_TOKEN; never use TF_VAR_* for tokens.
2
3
  cloudflare_account_id = "replace-with-approved-account-id"
3
4
  cloudflare_zone_id = "replace-with-approved-zone-id"
4
5
  cloudflare_zone_name = "example.com"