@zaip-ai/cli 3.2.0 → 3.3.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 (95) hide show
  1. package/dist/services/adapters.d.ts +1 -1
  2. package/dist/services/adapters.d.ts.map +1 -1
  3. package/dist/services/adapters.js +2 -1
  4. package/dist/services/adapters.js.map +1 -1
  5. package/dist/services/logger.js +24 -8
  6. package/dist/services/logger.js.map +1 -1
  7. package/dist/services/logger.test.js +21 -4
  8. package/dist/services/logger.test.js.map +1 -1
  9. package/package.json +2 -2
  10. package/templates/.agents/README-ENG.md +2 -1
  11. package/templates/.agents/README.md +2 -1
  12. package/templates/.agents/config/agents/catalog.yaml +1 -0
  13. package/templates/.agents/config/agents/discovery.json +2 -2
  14. package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +2 -2
  15. package/templates/.agents/dashboard/.zaip-managed.json +60 -52
  16. package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-CEDZjl4V.js → CostCalculationGuidePage-BBFDrn64.js} +1 -1
  17. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-BzaUTZDx.js → DashboardHelpDialog-Cd-qo9w7.js} +4 -3
  18. package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-21cCJik-.js → PricingSettingsDialog-J7L5m8lk.js} +1 -1
  19. package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-BAvLPAee.js → ProjectSettingsPage-BpsAFy0g.js} +1 -1
  20. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-wqW52uCx.js → TraceabilityWorkspace-BzVtGLWS.js} +1 -1
  21. package/templates/.agents/dashboard/apps/frontend/dist/assets/{cost-monitor-06__WZco.js → cost-monitor--iPcnZdx.js} +1 -1
  22. package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-BkAm8-h4.js → dashboard-localization-jvdDfNKs.js} +2 -1
  23. package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-DEmo6Tn2.js → icons-vendor-CWzf_RiP.js} +1 -1
  24. package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-DqZKJS8y.js → index-DfdlGa7c.js} +2 -2
  25. package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-CadYsm83.js → react-vendor-CtHdbZk3.js} +1 -1
  26. package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-BzKK8kK3.js → traceability-BKrDH2TR.js} +1 -1
  27. package/templates/.agents/dashboard/apps/frontend/dist/index.html +5 -5
  28. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  29. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  30. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  31. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.helpers.tsx +4 -1
  32. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +5 -0
  33. package/templates/.agents/dashboard/modules/operations/src/react/export/xlsx-runtime-e2e.test.ts +55 -31
  34. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  35. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  36. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  37. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  38. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +186 -166
  39. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +135 -115
  40. package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
  41. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +187 -167
  42. package/templates/.agents/dashboard/packages/local-runtime/src/server-period-macro-metric.test.ts +19 -0
  43. package/templates/.agents/dashboard/packages/local-runtime/src/server-read-projections.ts +3 -3
  44. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-first-fold-cache.test.ts +94 -0
  45. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-first-fold-cache.ts +32 -1
  46. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-force-canonical.test.ts +58 -3
  47. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-projection.ts +2 -0
  48. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-counts-every-root-execution-day-returns.test.ts +13 -0
  49. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-keeps-orphan-telemetry-out-kanban-without.test.ts +2 -1
  50. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-schema.ts +15 -2
  51. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +2 -1
  52. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-dashboard-views.ts +20 -2
  53. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  54. package/templates/.agents/dashboard/scripts/qualify-macro-overview.mjs +50 -0
  55. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  56. package/templates/.agents/design/.zaip-managed.json +3 -3
  57. package/templates/.agents/design/apps/catalog/package.json +1 -1
  58. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  59. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  60. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  61. package/templates/.agents/requirements/comparative-audit.md +1 -1
  62. package/templates/.agents/requirements/context-engine.md +1 -1
  63. package/templates/.agents/requirements/cost-observability.md +1 -1
  64. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  65. package/templates/.agents/requirements/data-export.md +1 -1
  66. package/templates/.agents/requirements/design-system.md +1 -1
  67. package/templates/.agents/requirements/execution-engine.md +1 -1
  68. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  69. package/templates/.agents/requirements/model-orchestration.md +1 -1
  70. package/templates/.agents/requirements/public-distribution.md +11 -3
  71. package/templates/.agents/requirements/software-architecture.md +1 -1
  72. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  73. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  74. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  75. package/templates/.agents/runtime/VERSION +1 -1
  76. package/templates/.agents/runtime/bin/zaip.mjs +13 -12
  77. package/templates/.agents/runtime/checksums.sha256 +5 -5
  78. package/templates/.agents/runtime/manifest.json +1 -1
  79. package/templates/.agents/runtime/provenance.json +4 -4
  80. package/templates/.agents/runtime/sbom.cdx.json +1 -1
  81. package/templates/.agents/skills/zaip-aios/SKILL.md +0 -1
  82. package/templates/.agents/skills/zaip-skill-author-skills/scripts/audit-skill-catalog.mjs +1 -0
  83. package/templates/.agents/skills/zaip-skill-config/SKILL.md +1 -1
  84. package/templates/.agents/skills/zaip-skill-github-setup/SKILL.md +2 -2
  85. package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +4 -0
  86. package/templates/.agents/skills/zaip-skill-setup/SKILL.md +35 -13
  87. package/templates/.agents/skills/zaip-skill-setup/agents/openai.yaml +2 -2
  88. package/templates/.agents/skills/zaip-skill-update-version-doc/SKILL.md +39 -0
  89. package/templates/.agents/skills/zaip-skill-update-version-doc/agents/openai.yaml +4 -0
  90. package/templates/.agents/skills/zaip-skill-update-version-doc/scripts/update-version-doc.mjs +21 -0
  91. package/templates/.agents/skills/zaip-skill-update-version-doc/scripts/update-version-doc.test.mjs +32 -0
  92. package/templates/.agents/zaip-aios/README.md +2 -1
  93. package/templates/.agents/zaip-aios/VERSION +1 -1
  94. package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +7 -3
  95. package/templates/template-manifest.json +120 -96
@@ -1,11 +1,11 @@
1
1
  b146bd0c7c60b1ab43c4f71e0b1d2262c6df6da6f7053a0425f834ccb77a6b48 LICENSE
2
2
  bc02cba77e8d51e5c580f43668863dc868eda66f1ff663bfaa49fcf3ca16320e THIRD_PARTY_NOTICES.md
3
- 33bdaf9e2d6bcbde2e4e613e865e403f8fe21fc621078d34c30b0bdc7f68d903 VERSION
4
- b1a09bfc88d679b61a3cceee499bd9e425dac9138a3df58e0f9659a85cc3781c bin/zaip.mjs
5
- bc20fdf9f7e63f5babf4314c4292874ff13a1e8f15e33303e33ae5a5a8ebb189 manifest.json
3
+ 5eee6c0c5c6901f5e523f0a434bca4106e1ff7136deb451f982b0bb1a7b13716 VERSION
4
+ 4db3d63944b2c9f28019e705e4f125f6bcceb877e3efa5954cc7555a99b73536 bin/zaip.mjs
5
+ dd2a7c216fd2c9d4f33164ae850af05db51b0b3ff885ddf03760d00fc1dcd491 manifest.json
6
6
  7f89219d7c567c82a51679ad136d84364bded7ac659492537e125d33b1d58a7a migrations/001-layout-v1.json
7
7
  5f8c48b286d0b44d8fbb57a9a5d009a8a500439aa3148d750b8f193f72995c9f migrations/002-layout-v2.json
8
8
  2d738247131a923ea6e3a32d0d1d6de763866fd96a8a8dc75d127a343809b0aa pnpm-lock.sha256
9
- 19460b9687fec09ec858d3142e56caf9218c3b695dcaed625af2ddec11cb8232 provenance.json
10
- bbe98dd24ef9132f5d89f57db90756a77d55e8042ea2d2cb52f82d936571a47e sbom.cdx.json
9
+ dd21d399e85ec0791965450a32fa13af51e71e17b86cc7ee11e8ce8072868c32 provenance.json
10
+ cc111be184be67dd46cb46fb3f8fe75b192e33f3114d8c6c9cc0639a841962cf sbom.cdx.json
11
11
  b3ffedf9e146be802a15b4009f33e031dec3071ca1525e12c67606fd964a3067 schemas/contracts.schema.json
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "name": "zaip-aios",
4
- "version": "3.2.0",
4
+ "version": "3.3.0",
5
5
  "node": ">=22",
6
6
  "files": [
7
7
  "LICENSE",
@@ -2,10 +2,10 @@
2
2
  "schema_version": 1,
3
3
  "statement_type": "self_reported_build_integrity",
4
4
  "authenticity": "unverified",
5
- "version": "3.2.0",
5
+ "version": "3.3.0",
6
6
  "source_origin": "zaip-aios:local-build",
7
7
  "lockfile_sha256": "f8557f3600849eb880b8f245b63b80fed9a3e9addf2c5f2c6d492547af900219",
8
- "sbom_sha256": "bbe98dd24ef9132f5d89f57db90756a77d55e8042ea2d2cb52f82d936571a47e",
9
- "runtime_sha256": "7eccbcf4fb108a7e226bf72fd483de197ac8397b1a3ccdb6cd5988fcb8afbdae",
10
- "statement_sha256": "c838e8e9a828f925f9c32179876c078fdbec58bef0bab9c2a5339f22da6a9bce"
8
+ "sbom_sha256": "cc111be184be67dd46cb46fb3f8fe75b192e33f3114d8c6c9cc0639a841962cf",
9
+ "runtime_sha256": "3925086e5b413bca4e23fc2f7bda7298ab11e28cb803b65e67492d1ef7a66f10",
10
+ "statement_sha256": "bb71d94b1a0092923e1480b2bced65a01ee0875f24740349155ad9bbff058039"
11
11
  }
@@ -6,7 +6,7 @@
6
6
  "component": {
7
7
  "type": "application",
8
8
  "name": "zaip-aios",
9
- "version": "3.2.0"
9
+ "version": "3.3.0"
10
10
  }
11
11
  },
12
12
  "components": [
@@ -1,5 +1,4 @@
1
1
  ---
2
- # zaip-managed generated-do-not-edit source=discovery-skill version=2.5.0 sha256=76f3edc1dc8dfecc8c1b3c5b789557a515d05e270c044bf35e758923dff0aa0f
3
2
  name: zaip-aios
4
3
  description: Discover and apply the repository-local ZAIP-AIOS framework.
5
4
  ---
@@ -18,6 +18,7 @@ for (const agent of catalog.agents ?? []) {
18
18
  }
19
19
  }
20
20
  for (const [agentId, requiredSkill] of [
21
+ ["agent-builder", "zaip-skill-update-version-doc"],
21
22
  ["agent-frontend", "zaip-skill-frontend"],
22
23
  ["agent-frontend", "zaip-skill-frontend-componentization"],
23
24
  ["agent-backend", "zaip-skill-backend"],
@@ -11,7 +11,7 @@ Escopo de configuração: nome, timezone, stack, clients, tracking e destinos de
11
11
 
12
12
  ## Onboarding após instalação
13
13
 
14
- Uma resposta afirmativa a “Gostaria de ajuda com a configuração inicial do projeto?” ativa esta skill, tanto após a instalação quanto após o setup GitHub. Leia a configuração existente, explique em linguagem simples o que pode ser personalizado e faça uma entrevista curta antes de editar:
14
+ Uma resposta afirmativa a “Deseja ajuda para realizar a configuração inicial do ZAIP-AIOS?” ativa esta skill, tanto após a instalação quanto após o setup GitHub. Leia a configuração existente, explique em linguagem simples o que pode ser personalizado e faça uma entrevista curta antes de editar:
15
15
 
16
16
  - Nome e finalidade do projeto, fuso horário e preferências já existentes.
17
17
  - Stack e partes necessárias da aplicação, clientes Codex/Claude e acompanhamento de uso/custos.
@@ -9,9 +9,9 @@ Configure the requested Git/GitHub state idempotently while preserving unrelated
9
9
 
10
10
  ## Installation onboarding
11
11
 
12
- An affirmative response to the installation question “Gostaria de ajuda para configurar o GitHub?” selects this skill. First explain the relevant setup options below and inspect the existing state. Ask concise questions only for missing choices: the intended Git identity, an existing repository URL or the owner/name/visibility for a new repository, and the preferred authentication method. Never ask for private keys or tokens in chat. Ask key-path and passphrase questions only when creating a requested key. Do not initialize Git, create a remote, change identity, or make a first commit merely because the user accepted help; apply the choices once supplied.
12
+ An affirmative response to the installation question “Deseja ajuda para configurar seu repositório Git?” selects this skill. First explain the relevant setup options below and inspect the existing state. Ask concise questions only for missing choices: the intended Git identity, an existing repository URL or the owner/name/visibility for a new repository, and the preferred authentication method. Never ask for private keys or tokens in chat. Ask key-path and passphrase questions only when creating a requested key. Do not initialize Git, create a remote, change identity, or make a first commit merely because the user accepted help; apply the choices once supplied.
13
13
 
14
- After the requested GitHub setup succeeds and is verified, summarize the observed changes and end with exactly: **Gostaria de ajuda com a configuração inicial do projeto?** An affirmative response selects `$zaip-skill-config`, which explains configuration options and asks the necessary questions before editing. If setup is incomplete, report the actual pending step rather than claiming completion. A refusal or request to defer ends installation onboarding without repeated offers or automatic setup.
14
+ After the requested GitHub setup succeeds and is verified, summarize the observed changes and end with exactly: **Deseja ajuda para realizar a configuração inicial do ZAIP-AIOS?** An affirmative response selects `$zaip-skill-config`, which explains configuration options and asks the necessary questions before editing. If setup is incomplete, report the actual pending step rather than claiming completion. A refusal or request to defer ends installation onboarding without repeated offers or automatic setup.
15
15
 
16
16
  ## Select the requested mode
17
17
 
@@ -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
+ For the framework installer, first apply `zaip-skill-update-version-doc` and its
11
+ executable source check. Candidate identity comes from the root manifest;
12
+ generated artifact hashes and exact-package proof remain mandatory below.
13
+
10
14
  This skill is mandatory before every frontend/backend GitHub deploy and framework release.
11
15
  Follow [the executable preparation guide](references/local-preparation.md). Synchronize and commit
12
16
  the candidate first. The framework helper runs fixed gates in an isolated checkout, builds the
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: zaip-skill-setup
3
- description: Install ZAIP-AIOS and its authorized prerequisites in a new workspace.
3
+ description: Install ZAIP-AIOS and format the final chat response after init, including installations started before this skill was available.
4
4
  ---
5
5
 
6
6
  # Instalar ZAIP-AIOS
@@ -16,7 +16,7 @@ For the isolated SQLite dashboard, also discover and use `$zaip-skill-sqlite-rea
16
16
  Create the disposable dashboard database only from canonical `.agents/records` and
17
17
  `.agents/config` sources.
18
18
 
19
- 1. Confirme que o usuário quer instalar ZAIP-AIOS em um workspace que ainda não o possui. Se já houver `.agents/config/project.yaml`, não reinstale: encaminhe configuração, personalização, primeiros passos ou edição para `$zaip-skill-config`.
19
+ 1. Se o `init` acabou de concluir neste turno, vá diretamente ao modelo obrigatório de resposta abaixo; não reinstale nem inicie configuração. Para uma nova instalação, confirme que o usuário quer instalar ZAIP-AIOS em um workspace que ainda não o possui. Se já houver `.agents/config/project.yaml`, não reinstale: encaminhe configuração, personalização, primeiros passos ou edição para `$zaip-skill-config`.
20
20
  2. Faça dry-run e detecte apenas conflitos que impeçam a instalação inicial, como checksum, ownership ou arquivos do usuário que seriam sobrescritos.
21
21
  3. Verifique Node.js 22+; instale a versão LTS com `winget` somente quando o usuário tiver autorizado a instalação automática do pré-requisito.
22
22
  4. Instale e valide o conteúdo do release: `config/project.yaml`, `config/framework.lock.yaml`, Rules core, Requirements e skills gerenciados pelo manifest, raízes V3 de `records` e, quando distribuído, o dashboard frontend-only em `.agents/dashboard`. Preserve arquivos e Rules locais do projeto.
@@ -25,17 +25,39 @@ Create the disposable dashboard database only from canonical `.agents/records` a
25
25
  7. Após a instalação, use `$zaip-skill-dev-environment` para inventariar apenas nomes e presença de pré-requisitos. Para configurar o projeto, personalizar perfis Codex ou seguir os primeiros passos, use `$zaip-skill-config`.
26
26
  8. A instalação deixa `beta` como ramo padrão de frontend, backend e banco, mas não cria uma branch Supabase hospedada, integração GitHub, credencial ou custo adicional. A configuração protegida de migrations é uma escolha posterior e explícita pelo `$zaip-skill-config`.
27
27
 
28
- ## Resumo e onboarding de instalação
29
-
30
- - Git, identidade de autor, repositório, commit inicial e GitHub configurado não são pré-requisitos para instalar. Não interrompa a instalação para configurá-los; os requisitos de Git para executar entregas continuam sendo verificados pelo runtime.
31
- - Após a instalação, apresente um resumo curto com a versão efetivamente instalada, contagens observadas de arquivos adicionados/preservados/sobrescritos, resultado do Dashboard SQLite, resultado do `doctor --json` e estado local do GitHub. Não copie versão, contagens ou sucesso de exemplos; dry-run e etapas não executadas não comprovam instalação ou validação.
32
- - A versão deve ser um link Markdown clicável para a versão instalada no npm: `[VERSÃO](https://www.npmjs.com/package/@zaip-ai/cli/v/VERSÃO)`. Obtenha VERSÃO dos metadados/resultados da instalação, nunca de `latest` ou de um valor fixo.
33
- - Use o diagnóstico local do instalador: Git disponível, repositório, identidade efetiva e remote GitHub identificável. Um remote sozinho não comprova autenticação. Estado ausente ou inconclusivo encaminha para configurar GitHub; não imprima credenciais nem valores sensíveis.
34
- - Termine a resposta bem-sucedida com exatamente uma pergunta, sem texto depois dela:
35
- - GitHub pendente: **Gostaria de ajuda para configurar o GitHub?** Explique antes que essa configuração pode ficar para depois.
36
- - GitHub configurado localmente: **Gostaria de ajuda com a configuração inicial do projeto?**
37
- - No terminal, o CTA é apenas texto e não mantém o processo esperando entrada. No chat, uma resposta afirmativa à última pergunta ativa a skill correspondente: `$zaip-skill-github-setup` ou `$zaip-skill-config`. O aceite inicia a explicação das opções e as perguntas necessárias; não autoriza valores presumidos ou publicação.
38
- - Depois do setup GitHub concluído, ofereça a configuração do projeto. Depois da configuração do projeto concluída, encerre o onboarding. Recusa ou adiamento encerra a oferta atual sem insistência, novas perguntas ou configuração automática; preserve a possibilidade de retomada por pedido posterior.
28
+ ## Resposta final obrigatória após instalação
29
+
30
+ Este contrato vale para a **resposta final do assistente no chat**, além do output da CLI. Aplique-o mesmo quando o usuário pediu apenas o comando npx, a instalação começou sem skills disponíveis ou esta skill só foi descoberta depois do init. Releia esta seção antes de responder. A existência de project.yaml recém-instalado não deve desviar a resposta para uma configuração automática.
31
+
32
+ Reproduza a estrutura abaixo como Markdown renderizado: frase inicial, linha “Resumo:”, lista de bullets e uma pergunta final. Não use bloco de código para envolver a resposta, não converta a lista em parágrafos e não substitua o link por negrito, texto simples ou código. Use o comando realmente executado ou sua forma npx equivalente; nunca copie a versão ou as contagens do exemplo do usuário.
33
+
34
+ Modelo (substitua todos os campos por resultados observados):
35
+
36
+ ```markdown
37
+ ZAIP-AIOS foi instalado com sucesso no projeto atual usando `npx @zaip-ai/cli@latest init`.
38
+
39
+ Resumo:
40
+
41
+ - Versão instalada: [v{VERSÃO}](https://www.npmjs.com/package/@zaip-ai/cli/v/{VERSÃO})
42
+ - {ADICIONADOS} arquivos adicionados
43
+ - {SOBRESCRITOS} arquivos existentes sobrescritos
44
+ - Dashboard SQLite configurado
45
+ - `doctor --json`: válido, sem problemas
46
+ - {ESTADO_OBSERVADO_DO_GIT_GITHUB}
47
+
48
+ Deseja ajuda para configurar seu repositório Git?
49
+ ```
50
+
51
+ - Substitua VERSÃO pela versão instalada, sem prefixo v no URL. Obtenha números e resultados da execução; dado ausente deve aparecer como “não informado”. Não declare sucesso de SQLite/doctor quando não executados ou falhos. Dry-run e instalação falha não usam a frase de sucesso.
52
+ - Se não houver repositório, use “O diretório ainda não possui um repositório Git configurado.” Outros estados devem descrever a pendência real. Git, identidade, repositório, commit inicial e GitHub não são pré-requisitos de instalação; informe que podem ser configurados depois. Estado local não comprova autenticação.
53
+ - Com GitHub pendente ou inconclusivo, termine com **Deseja ajuda para configurar seu repositório Git?** Com GitHub configurado localmente, substitua apenas a pergunta por **Deseja ajuda para realizar a configuração inicial do ZAIP-AIOS?**
54
+ - Termine com exatamente uma dessas perguntas. Não escreva nada depois dela nem ofereça as duas alternativas juntas. Antes de enviar, confirme: bullets presentes; versão clicável no npm correto; pergunta correspondente ao estado e última linha da resposta.
55
+
56
+ ## Aceite e encerramento do onboarding
57
+
58
+ O CTA da CLI é texto, sem bloquear aguardando entrada. No chat, “sim” à pergunta de Git ativa `$zaip-skill-github-setup`; “sim” à configuração inicial ativa `$zaip-skill-config`. A skill explica opções e faz perguntas curtas antes de aplicar escolhas; o aceite não autoriza valores presumidos, credenciais, recursos externos ou publicação.
59
+
60
+ Depois de configurar e verificar GitHub, ofereça a configuração inicial com **Deseja ajuda para realizar a configuração inicial do ZAIP-AIOS?** Depois de concluir a configuração inicial, encerre o onboarding. Recusa ou adiamento encerra a oferta sem insistência; uma solicitação posterior pode retomá-la.
39
61
 
40
62
  Esta skill não executa nem descreve upgrade, migração ou rollback como ações primárias. Esses fluxos somente podem ser encaminhados às skills `zaip-update` ou `zaip-rollback` quando estiverem disponíveis e forem aplicáveis; elas não são uma dependência portátil desta skill.
41
63
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "ZAIP Setup"
3
- short_description: "Install ZAIP-AIOS in a new workspace."
4
- default_prompt: "Use $zaip-skill-setup to install ZAIP-AIOS in a workspace that does not yet have ZAIP."
3
+ short_description: "Install ZAIP-AIOS and format the installation reply."
4
+ default_prompt: "Use $zaip-skill-setup to install ZAIP-AIOS or format the final reply after init with Markdown bullets, the installed-version npm link and the final setup question."
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: zaip-skill-update-version-doc
3
+ description: Update and verify the ZAIP-AIOS installer candidate version, code identities and documentation; mandatory for the framework builder before build, packing or release qualification.
4
+ ---
5
+
6
+ # Update version doc
7
+
8
+ Use in the ZAIP-AIOS framework source. The installed copy explains maintenance;
9
+ it must not change a consumer application's version. This workflow does not publish.
10
+
11
+ 1. Read the root `package.json` and the authorized release target. Its `version`
12
+ is the only product-version input; public manifests and runtime constants are projections.
13
+ Run `node scripts/update-version-doc.mjs inspect`, then `plan N.N.0` to inspect
14
+ the exact owned files before `apply N.N.0`. Omit the target to repair current identity.
15
+ 2. Keep general instructions versionless. Link to the generated
16
+ `docs/release-identity.md` in source documentation; installed guidance uses
17
+ `zaip version --json`. Preserve historical releases, evidence, upgrade fixtures,
18
+ schema versions, dependencies and compatibility minima. Never replace a number globally.
19
+ A newly introduced product identity must enter the updater inventory and tests.
20
+ 3. Review current instructions against actual CLI behavior: Node requirement from the public
21
+ manifest, Git optional for installation, commands/flags, supported environments and
22
+ managed-runtime limitations. Updating numbers alone does not validate documentation.
23
+ 4. Run `node scripts/update-version-doc.mjs check` before building. Build source,
24
+ regenerate adapters from their canonical generator, and build release artifacts. Synchronize
25
+ framework lock after release generation updates managed manifests, then sync the public
26
+ template. `pnpm release:artifacts:prepared` enforces this order. Never relabel a stale binary.
27
+ Check again after generation; run `verify-package` against the prepared artifacts.
28
+ 5. Apply `zaip-skill-release-qualification` to the final committed candidate.
29
+ Bind results to its SHA and TGZ hashes. Report candidate, installed and published versions
30
+ separately. A missing registry observation remains unavailable; local checks do not prove
31
+ publication or sustained stability.
32
+
33
+ The builder must run this workflow for every installer release. Its source check is also called
34
+ by build/pack gates. A failed check blocks qualification. `apply` validates every proposed edit
35
+ before writing and can resume idempotently after interruption; it does not certify artifacts.
36
+
37
+ In a distributed skill context, the wrapper
38
+ `node .agents/skills/zaip-skill-update-version-doc/scripts/update-version-doc.mjs inspect`
39
+ locates the maintainer helper or fails without mutating the consumer.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Update version doc"
3
+ short_description: "Sincronizar versão, código e documentação"
4
+ default_prompt: "Use $zaip-skill-update-version-doc para preparar e verificar a versão do instalador ZAIP-AIOS."
@@ -0,0 +1,21 @@
1
+ import { access, readFile } from "node:fs/promises";
2
+ import { resolve } from "node:path";
3
+ import { pathToFileURL } from "node:url";
4
+
5
+ const root = resolve(import.meta.dirname, "../../../..");
6
+ const helper = resolve(root, "scripts/update-version-doc.mjs");
7
+ const manifest = JSON.parse(await readFile(resolve(root, "package.json"), "utf8"));
8
+ if (manifest.name !== "@zaip-ai/aios") {
9
+ throw new Error(
10
+ "Framework source required; a consumer application's version must remain unchanged.",
11
+ );
12
+ }
13
+ try {
14
+ await access(helper);
15
+ } catch {
16
+ throw new Error(
17
+ "Run this framework release skill in the ZAIP-AIOS source repository; do not rewrite a consumer project's version.",
18
+ );
19
+ }
20
+ const { main } = await import(pathToFileURL(helper).href);
21
+ process.stdout.write(`${JSON.stringify(await main(process.argv.slice(2), root), null, 2)}\n`);
@@ -0,0 +1,32 @@
1
+ import assert from "node:assert/strict";
2
+ import { spawnSync } from "node:child_process";
3
+ import { access, mkdir, mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
4
+ import { tmpdir } from "node:os";
5
+ import { dirname, resolve } from "node:path";
6
+ import test from "node:test";
7
+
8
+ test("installed consumer wrapper refuses before importing an unrelated project helper", async (t) => {
9
+ const root = await mkdtemp(resolve(tmpdir(), "zaip-skill-version-"));
10
+ t.after(() => rm(root, { recursive: true, force: true }));
11
+ const wrapper = resolve(
12
+ root,
13
+ ".agents/skills/zaip-skill-update-version-doc/scripts/update-version-doc.mjs",
14
+ );
15
+ await mkdir(dirname(wrapper), { recursive: true });
16
+ await writeFile(wrapper, await readFile(new URL("./update-version-doc.mjs", import.meta.url)));
17
+ await writeFile(resolve(root, "package.json"), '{"name":"consumer-app","version":"1.0.0"}');
18
+ await mkdir(resolve(root, "scripts"));
19
+ await writeFile(
20
+ resolve(root, "scripts/update-version-doc.mjs"),
21
+ 'import { writeFileSync } from "node:fs"; writeFileSync("unexpected-import", "bad"); export function main() {}',
22
+ );
23
+ const result = spawnSync(process.execPath, [wrapper, "apply", "9.9.0"], {
24
+ cwd: root,
25
+ encoding: "utf8",
26
+ windowsHide: true,
27
+ });
28
+ assert.notEqual(result.status, 0);
29
+ assert.match(result.stderr, /consumer application's version must remain unchanged/);
30
+ await assert.rejects(access(resolve(root, "unexpected-import")), { code: "ENOENT" });
31
+ assert.equal(JSON.parse(await readFile(resolve(root, "package.json"))).version, "1.0.0");
32
+ });
@@ -68,7 +68,8 @@ nem reabertura de entregas históricas bloqueadas.
68
68
 
69
69
  A documentação descreve `autonomy-v1`; publicação e qualificação devem ser
70
70
  confirmadas pelos artefatos da release, não apenas pela versão deste checkout.
71
- Os manifests deste checkout identificam o candidato `3.2.0`. Novos templates usam
71
+ <!-- zaip-version-reference -->
72
+ Consulte a versão instalada com `zaip version --json` e a identidade do checkout no manifesto raiz. Novos templates usam
72
73
  Equilibrado e `execution.runtime: managed`: PRDs/SPECs gerenciados e tarefas
73
74
  avulsas preferencialmente diretas. Configurações legadas sem essa opção mantêm
74
75
  o default manual do schema; salvar configuração não inicia execução.
@@ -1 +1 @@
1
- 3.2
1
+ 3.3
@@ -35,14 +35,18 @@ explícito para evitar colisão entre os dois CLIs.
35
35
 
36
36
  ### Resumo e próximos passos
37
37
 
38
- A instalação informa a versão instalada com link para sua página no npm,
38
+ A resposta final do assistente mantém a frase inicial com o comando, a linha
39
+ “Resumo:”, bullets e exatamente uma pergunta no final. Siga o modelo obrigatório
40
+ de `.agents/skills/zaip-skill-setup/SKILL.md`, inclusive quando a instalação começou
41
+ antes de as skills estarem disponíveis. Não converta o resumo em parágrafos.
42
+ A versão instalada usa o rótulo `vVERSÃO` com link para sua página no npm,
39
43
  contagens reais de arquivos e resultados de SQLite e `doctor`. O link usa
40
44
  `https://www.npmjs.com/package/@zaip-ai/cli/v/<versão-instalada>`.
41
45
 
42
46
  Quando o GitHub ainda precisa de configuração, a última pergunta é:
43
- **Gostaria de ajuda para configurar o GitHub?**
47
+ **Deseja ajuda para configurar seu repositório Git?**
44
48
  Se a configuração local já estiver identificada, a pergunta será:
45
- **Gostaria de ajuda com a configuração inicial do projeto?**
49
+ **Deseja ajuda para realizar a configuração inicial do ZAIP-AIOS?**
46
50
  Configuração local não comprova autenticação remota.
47
51
 
48
52
  No terminal, a pergunta é textual: o comando encerra normalmente. No chat,