@zaip-ai/cli 4.1.0 → 4.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 (179) hide show
  1. package/dist/commands/init.d.ts.map +1 -1
  2. package/dist/commands/init.js +3 -1
  3. package/dist/commands/init.js.map +1 -1
  4. package/dist/services/adapter-hook-sources.d.ts +1 -0
  5. package/dist/services/adapter-hook-sources.d.ts.map +1 -1
  6. package/dist/services/adapter-hook-sources.js +1 -0
  7. package/dist/services/adapter-hook-sources.js.map +1 -1
  8. package/dist/services/adapters.d.ts +2 -2
  9. package/dist/services/adapters.d.ts.map +1 -1
  10. package/dist/services/adapters.js +14 -73
  11. package/dist/services/adapters.js.map +1 -1
  12. package/dist/services/adapters.test.js +1 -0
  13. package/dist/services/adapters.test.js.map +1 -1
  14. package/dist/services/agent-adapters.d.ts.map +1 -1
  15. package/dist/services/agent-adapters.js +3 -7
  16. package/dist/services/agent-adapters.js.map +1 -1
  17. package/dist/services/agent-adapters.test.js +43 -11
  18. package/dist/services/agent-adapters.test.js.map +1 -1
  19. package/dist/services/codex-config-template.js +2 -2
  20. package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
  21. package/dist/services/codex-conversation-lifecycle-hook.js +38 -14
  22. package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
  23. package/dist/services/codex-hook-activation.d.ts +4 -0
  24. package/dist/services/codex-hook-activation.d.ts.map +1 -0
  25. package/dist/services/codex-hook-activation.js +64 -0
  26. package/dist/services/codex-hook-activation.js.map +1 -0
  27. package/dist/services/codex-model-policy.d.ts +4 -0
  28. package/dist/services/codex-model-policy.d.ts.map +1 -0
  29. package/dist/services/codex-model-policy.js +24 -0
  30. package/dist/services/codex-model-policy.js.map +1 -0
  31. package/dist/services/codex-native-tool-authority-template.d.ts +2 -0
  32. package/dist/services/codex-native-tool-authority-template.d.ts.map +1 -0
  33. package/dist/services/codex-native-tool-authority-template.js +89 -0
  34. package/dist/services/codex-native-tool-authority-template.js.map +1 -0
  35. package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
  36. package/dist/services/codex-pre-tool-hook-template.js +68 -126
  37. package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
  38. package/dist/services/codex-pre-tool-hook-template.test.js +262 -1
  39. package/dist/services/codex-pre-tool-hook-template.test.js.map +1 -1
  40. package/dist/services/codex-pre-tool-support-template.d.ts +2 -0
  41. package/dist/services/codex-pre-tool-support-template.d.ts.map +1 -0
  42. package/dist/services/codex-pre-tool-support-template.js +401 -0
  43. package/dist/services/codex-pre-tool-support-template.js.map +1 -0
  44. package/dist/services/codex-subagent-hook-template.d.ts +1 -1
  45. package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
  46. package/dist/services/codex-subagent-hook-template.js +46 -10
  47. package/dist/services/codex-subagent-hook-template.js.map +1 -1
  48. package/dist/services/codex-validation-runtime-template.d.ts +3 -0
  49. package/dist/services/codex-validation-runtime-template.d.ts.map +1 -0
  50. package/dist/services/codex-validation-runtime-template.js +18 -0
  51. package/dist/services/codex-validation-runtime-template.js.map +1 -0
  52. package/dist/services/codex-windows-hook-command.d.ts.map +1 -1
  53. package/dist/services/codex-windows-hook-command.js +4 -2
  54. package/dist/services/codex-windows-hook-command.js.map +1 -1
  55. package/dist/services/codex-windows-hook-command.test.js +22 -0
  56. package/dist/services/codex-windows-hook-command.test.js.map +1 -1
  57. package/dist/services/developer-identity-fixture.d.ts +3 -0
  58. package/dist/services/developer-identity-fixture.d.ts.map +1 -0
  59. package/dist/services/developer-identity-fixture.js +17 -0
  60. package/dist/services/developer-identity-fixture.js.map +1 -0
  61. package/dist/services/global-codex-config-fixtures.d.ts +12 -0
  62. package/dist/services/global-codex-config-fixtures.d.ts.map +1 -0
  63. package/dist/services/global-codex-config-fixtures.js +38 -0
  64. package/dist/services/global-codex-config-fixtures.js.map +1 -0
  65. package/dist/services/global-codex-config-migration.test.d.ts +2 -0
  66. package/dist/services/global-codex-config-migration.test.d.ts.map +1 -0
  67. package/dist/services/global-codex-config-migration.test.js +301 -0
  68. package/dist/services/global-codex-config-migration.test.js.map +1 -0
  69. package/dist/services/global-codex-config-transaction.d.ts +15 -0
  70. package/dist/services/global-codex-config-transaction.d.ts.map +1 -0
  71. package/dist/services/global-codex-config-transaction.js +89 -0
  72. package/dist/services/global-codex-config-transaction.js.map +1 -0
  73. package/dist/services/global-codex-config-transaction.test.d.ts +2 -0
  74. package/dist/services/global-codex-config-transaction.test.d.ts.map +1 -0
  75. package/dist/services/global-codex-config-transaction.test.js +145 -0
  76. package/dist/services/global-codex-config-transaction.test.js.map +1 -0
  77. package/dist/services/global-codex-config.d.ts +10 -11
  78. package/dist/services/global-codex-config.d.ts.map +1 -1
  79. package/dist/services/global-codex-config.js +226 -108
  80. package/dist/services/global-codex-config.js.map +1 -1
  81. package/dist/services/global-codex-config.test.js +6 -6
  82. package/dist/services/global-codex-config.test.js.map +1 -1
  83. package/dist/services/hook-readiness.d.ts +7 -0
  84. package/dist/services/hook-readiness.d.ts.map +1 -0
  85. package/dist/services/hook-readiness.js +17 -0
  86. package/dist/services/hook-readiness.js.map +1 -0
  87. package/dist/services/logger.d.ts +2 -0
  88. package/dist/services/logger.d.ts.map +1 -1
  89. package/dist/services/logger.js +15 -1
  90. package/dist/services/logger.js.map +1 -1
  91. package/dist/services/logger.test.js +3 -0
  92. package/dist/services/logger.test.js.map +1 -1
  93. package/dist/services/managed-adapter.d.ts +6 -0
  94. package/dist/services/managed-adapter.d.ts.map +1 -0
  95. package/dist/services/managed-adapter.js +63 -0
  96. package/dist/services/managed-adapter.js.map +1 -0
  97. package/dist/services/runtime-template.test.js +3 -0
  98. package/dist/services/runtime-template.test.js.map +1 -1
  99. package/dist/types.d.ts +2 -0
  100. package/dist/types.d.ts.map +1 -1
  101. package/package.json +1 -1
  102. package/templates/.agents/README.md +8 -0
  103. package/templates/.agents/config/agents/discovery.json +1 -1
  104. package/templates/.agents/config/clients/codex/agents/zaip-agent-backend.toml +1 -2
  105. package/templates/.agents/config/clients/codex/agents/zaip-agent-brand-strategist.toml +1 -2
  106. package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +1 -2
  107. package/templates/.agents/config/clients/codex/agents/zaip-agent-cloud-engineer.toml +1 -2
  108. package/templates/.agents/config/clients/codex/agents/zaip-agent-data-analyst.toml +1 -2
  109. package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +1 -2
  110. package/templates/.agents/config/clients/codex/agents/zaip-agent-frontend.toml +1 -2
  111. package/templates/.agents/config/clients/codex/agents/zaip-agent-general-operations.toml +1 -2
  112. package/templates/.agents/config/clients/codex/agents/zaip-agent-governance-compliance.toml +1 -2
  113. package/templates/.agents/config/clients/codex/agents/zaip-agent-growth-strategist.toml +1 -2
  114. package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +1 -2
  115. package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +1 -2
  116. package/templates/.agents/config/clients/codex/agents/zaip-agent-refactoring-specialist.toml +1 -2
  117. package/templates/.agents/config/clients/codex/agents/zaip-agent-sales-specialist.toml +1 -2
  118. package/templates/.agents/config/clients/codex/agents/zaip-agent-task-executor.toml +1 -2
  119. package/templates/.agents/config/clients/codex/agents/zaip-agent-website-developer.toml +1 -2
  120. package/templates/.agents/config/clients/codex/agents/zaip-agent-writer.toml +1 -2
  121. package/templates/.agents/dashboard/.zaip-managed.json +40 -32
  122. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-DlN5EMmD.js → DashboardHelpDialog-CkQ_y8kg.js} +60 -1
  123. package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-BRdoeTWk.js → ProjectSettingsPage-doIMhei7.js} +1 -1
  124. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-B_5u4Xnp.js → TraceabilityWorkspace-C_4ftjyB.js} +1 -1
  125. package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-C4rLXrz_.js → index-Rbmpz4UO.js} +2 -2
  126. package/templates/.agents/dashboard/apps/frontend/dist/index.html +1 -1
  127. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  128. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  129. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  130. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  131. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  132. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  133. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  134. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +176 -176
  135. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +135 -135
  136. package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
  137. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +176 -176
  138. package/templates/.agents/dashboard/packages/local-runtime/src/server-operation-detail.test.ts +106 -0
  139. package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +0 -13
  140. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-counts-every-root-execution-day-returns.test.ts +17 -230
  141. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-counts-fixture.test-support.ts +239 -0
  142. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.test.mjs +28 -8
  143. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  144. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  145. package/templates/.agents/design/.zaip-managed.json +3 -3
  146. package/templates/.agents/design/apps/catalog/package.json +1 -1
  147. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  148. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  149. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  150. package/templates/.agents/requirements/comparative-audit.md +1 -1
  151. package/templates/.agents/requirements/context-engine.md +1 -1
  152. package/templates/.agents/requirements/cost-observability.md +1 -1
  153. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  154. package/templates/.agents/requirements/data-export.md +1 -1
  155. package/templates/.agents/requirements/design-system.md +1 -1
  156. package/templates/.agents/requirements/execution-engine.md +1 -1
  157. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  158. package/templates/.agents/requirements/model-orchestration.md +1 -1
  159. package/templates/.agents/requirements/public-distribution.md +1 -1
  160. package/templates/.agents/requirements/software-architecture.md +1 -1
  161. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  162. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  163. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  164. package/templates/.agents/rules/astra-diagnostic.md +1 -1
  165. package/templates/.agents/runtime/VERSION +1 -1
  166. package/templates/.agents/runtime/bin/zaip.mjs +769 -213
  167. package/templates/.agents/runtime/checksums.sha256 +5 -5
  168. package/templates/.agents/runtime/manifest.json +1 -1
  169. package/templates/.agents/runtime/provenance.json +4 -4
  170. package/templates/.agents/runtime/sbom.cdx.json +1 -1
  171. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +1 -1
  172. package/templates/.agents/skills/zaip-skill-execution/references/correction-cycle.md +26 -0
  173. package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +2 -0
  174. package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +31 -1
  175. package/templates/.agents/skills/zaip-skill-setup/SKILL.md +26 -1
  176. package/templates/.agents/skills/zaip-skill-task/references/commit-policy.md +8 -1
  177. package/templates/.agents/zaip-aios/VERSION +1 -1
  178. package/templates/.agents/zaip-aios/guides/14-troubleshooting.md +52 -1
  179. package/templates/template-manifest.json +95 -87
@@ -1,11 +1,11 @@
1
1
  b146bd0c7c60b1ab43c4f71e0b1d2262c6df6da6f7053a0425f834ccb77a6b48 LICENSE
2
2
  bc02cba77e8d51e5c580f43668863dc868eda66f1ff663bfaa49fcf3ca16320e THIRD_PARTY_NOTICES.md
3
- 3b10b6ad566eadbcacadb33c591f1ec629593d6adf47442e56e0f61996829ef7 VERSION
4
- 4a236a0ae4c8bb061288ae3fa9b7b5e7812641b35e4931f7ad0aec19d8c7289b bin/zaip.mjs
5
- d9e475a6f24bf242105491b0518e720c5a6f34873cf3f42a91bd52dca2175172 manifest.json
3
+ 1e5302003691b6fdc7bddc0736eef7ce3adc870e97afdfcfb497dde2a78ed545 VERSION
4
+ 126208e70b62a20446cc2d7a5000fddf05af2b334e8d9f8f9f137d0a81670ddf bin/zaip.mjs
5
+ fd8b01d5a381387bc5fe3d878ea92f4b1f1697968f2ce37bcba29078ac19e5d3 manifest.json
6
6
  7f89219d7c567c82a51679ad136d84364bded7ac659492537e125d33b1d58a7a migrations/001-layout-v1.json
7
7
  5f8c48b286d0b44d8fbb57a9a5d009a8a500439aa3148d750b8f193f72995c9f migrations/002-layout-v2.json
8
8
  33c98d5dc506bba4b8b3ca612706d9eb05ef13d9e03c33a4f9e65ca7804be9d1 pnpm-lock.sha256
9
- 5b2900b56139c56a28a9fc8a33364bf1bf2494cba3baa2e3a3491593fe384515 provenance.json
10
- 22802f5e156e73c2c0c8bd4b7cf347f39f85a89f57e9971c0a7ea87fa8486c29 sbom.cdx.json
9
+ dbcb7ca019229dc08426369c68efdba41c554536bd30ff61d517abf3440db4b7 provenance.json
10
+ f152c56a6020fa33a47e6d40c550b8f941e49ab7c6e9b6e86856eb9efa16eff0 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": "4.1.0",
4
+ "version": "4.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": "4.1.0",
5
+ "version": "4.3.0",
6
6
  "source_origin": "zaip-aios:local-build",
7
7
  "lockfile_sha256": "03d08e5bbb198d74014ea4a806fcdeb350db23ec2bf0c2886a2265066555d418",
8
- "sbom_sha256": "22802f5e156e73c2c0c8bd4b7cf347f39f85a89f57e9971c0a7ea87fa8486c29",
9
- "runtime_sha256": "a492fe13bee94da77b572918ac4b6360aebb40dec4417d58f59a9a9ce42127b6",
10
- "statement_sha256": "b3a3055d2965c99068e3b30aee4c75a2d64e7278808a776f9efd4c59f4b4bf53"
8
+ "sbom_sha256": "f152c56a6020fa33a47e6d40c550b8f941e49ab7c6e9b6e86856eb9efa16eff0",
9
+ "runtime_sha256": "7bab388a60fee8ac611ef8af05629402a4cf896085302631b8aa0373b330aaa5",
10
+ "statement_sha256": "3ebd6dc2a728991c9fc822b324607fe1787cdfa9a2a20f6bace1303dd41ab314"
11
11
  }
@@ -6,7 +6,7 @@
6
6
  "component": {
7
7
  "type": "application",
8
8
  "name": "zaip-aios",
9
- "version": "4.1.0"
9
+ "version": "4.3.0"
10
10
  }
11
11
  },
12
12
  "components": [
@@ -18,7 +18,7 @@ Use esta skill somente quando o usuário pedir execução. `prepare` não autori
18
18
  - Não encerre após criar/validar plano, sucessor, DAG ou Execution ativa. Não peça “continue execução” nem outra confirmação só porque a preparação consumiu tempo ou contexto; faça checkpoint/refresh e prossiga.
19
19
  - `spec execute`/`prd execute` ativam o macro e retornam `continuation.required`; isso é handoff obrigatório, não prova de implementação. Em runtime gerenciado, acione `execution run EXEC`; na colaboração nativa Codex, siga a seção de DAG nativa abaixo. Use somente um caminho de dispatch, com a mesma Execution e atribuição válida.
20
20
  - Depois de cada Task, execute as próximas elegíveis; ao terminar a DAG, realize os gates parentais e Gui. Só encerre com resultado observado ou impedimento concreto após recuperação permitida. Ramos independentes continuam somente quando a política de falha da DAG permitir.
21
- - Comandos longos permanecem em primeiro plano ou em sessão durável acompanhada até saída terminal. Antes de dizer que um processo “ainda está em execução”, consulte novamente seu PID/sessão e registre a saída mais recente; processo encerrado com falha exige diagnóstico e continuação autorizada, nunca uma resposta final baseada no estado antigo. O primeiro Stop de uma Task própria em `executing` ou `verifying` deve ser bloqueado mesmo quando seu registro pertence a outro worktree Git registrado.
21
+ - Comandos longos permanecem em primeiro plano ou em sessão durável acompanhada até saída terminal. Antes de dizer que um processo “ainda está em execução”, consulte novamente seu PID/sessão e registre a saída mais recente; processo encerrado com falha exige diagnóstico e continuação autorizada, nunca uma resposta final baseada no estado antigo. Feche o resultado canônico pela CLI antes da resposta. O hook Stop registra pendências, inclusive de worktree registrada, mas nunca solicita continuação automática nem substitui a resposta; pendência não equivale a sucesso.
22
22
  - Falta real de autoridade, informação essencial, capacidade do host ou gates continua sendo bloqueio. Informe a causa e a condição de retomada; não invente sucesso, nova autorização, identidade ou ancestralidade para continuar.
23
23
 
24
24
  Antes de encerrar com trabalho pendente ou responder a uma falha, aplique [continuidade automática e parada justificada](references/autonomous-continuation.md). O perfil congelado e seu ledger decidem recuperação; reparação elegível usa a autorização existente, sem pedir outro turno.
@@ -5,3 +5,29 @@ Carregue esta referência somente antes de uma nova correção. Falha operaciona
5
5
  Registre nos findings, Change ou Run existentes somente resultados observáveis: falha, tentativa e resultado, aprendizado ou hipótese nova, e próxima ação e teste discriminante; não registre raciocínio privado. Se a mesma falha reaparecer após uma correção, revise a hipótese antes de editar novamente. Evidência pode refutá-la mesmo quando o teste não passa. Diff, ID cosmético ou mera ausência de erro não demonstram avanço.
6
6
 
7
7
  Preserve escopo e critérios de aceite; evite melhorias opcionais e valide primeiro a hipótese específica, repetindo validação ampla somente por mudança relevante ou gate exigido. Respeite os limites e contadores existentes, sem criar paralelos; um replanejamento não os reinicia nem cria identidades novas para ganhar tentativas. Esgotada a recuperação, use `failed` somente para impedimento técnico comprovado; falta de acesso, prova, autoridade ou conclusão segura usa `blocked`, com a condição objetiva de retomada. Não peça “continue execução” para repetir uma tentativa vedada. Antes de uma parada, aplique [o contrato de continuidade](autonomous-continuation.md). Astra só é usado onde a política atual permite; Task avulsa preserva modelo e effort selecionados pelo host.
8
+
9
+ ## Falha durante verificação, antes de Gui
10
+
11
+ Uma Task `verifying` com gate comprovadamente falhado pode voltar a `executing` por
12
+ `task repair-verification TASK --run RUN --validation TEST-ID --commit SHA --expected-revision N --reason MOTIVO`.
13
+ O comando exige a mesma Task/Change/Execution, a Run raiz ativa exata, ausência de filhos ativos e de decisão Gui,
14
+ e uma Validation `failed` pertencente à raiz ou a seus descendentes, vinculada ao SHA observado.
15
+ Não reescreva status manualmente nem reutilize aprovação de outro commit.
16
+
17
+ A operação reserva recuperação no ledger congelado da Task; não apaga histórico nem reinicia a tentativa física.
18
+ Se houver replan obrigatório, forneça `--replan-summary RESUMO` somente após o plano efetivamente realizado,
19
+ com modelo/effort observados compatíveis com sua posição Sol/high, Sol/high, Astra/high.
20
+ Use `--replan-run RUN` para um planejador filho já concluído da mesma raiz; na ausência dele,
21
+ a seleção observada da própria raiz deve satisfazer a política. Não altere o modelo imutável da raiz.
22
+ Uma seleção indisponível ou incompatível bloqueia a operação; não se registra replan fictício.
23
+ Após executar e registrar nova Validation, use
24
+ `task settle-repair TASK --run RUN --repair CHAVE --validation TEST-ID --rerun-of FAILED-TEST-ID --commit SHA`.
25
+ A CHAVE é o sufixo retornado em `recovery_attempt_id`. Settlement requer resultado posterior à reserva,
26
+ do mesmo trabalho e raiz, identificando o gate falhado e cobrindo seus ACs; uma reserva pendente não autoriza novo dispatch. Falha de escrita permite repetir
27
+ o comando idêntico para roll-forward sem consumir duas vezes. Estes comandos não dispensam `task verify`,
28
+ revisão independente, Evidence ou o último filho Gui.
29
+
30
+ `task workspace TASK --run RUN` reaproveita a checkout registrada ao retomar a mesma Task/Execution,
31
+ transferindo somente o claim de uma raiz já terminal para o único orquestrador ativo. Preserva base, branch,
32
+ arquivos pendentes e recibo recuperável. Dono ativo, filhos pendentes, branch divergente ou claim incompatível
33
+ exigem diagnóstico; nunca crie uma checkout substituta silenciosamente.
@@ -7,8 +7,10 @@ Carregue antes de executar uma entrega ou delegar. Este contrato detalha o kerne
7
7
  - Para delegação Codex, Sub-Run ZAIP é somente subagente nativo de colaboração (`spawn_agent`). `create_thread` e `fork_thread` criam chats independentes e exigem pedido explícito do usuário; nunca são Sub-Run, fallback, retry ou prova de delegação. Se delegação nativa estiver indisponível, relate a limitação em vez de criar chat independente. Nome de catálogo, `task_name`, título ou prompt não prova ancestralidade nativa. Antes de repetir a mesma delegação limitada, aguarde ou reutilize seu filho pendente e capture somente ancestralidade/metadados observados em resultados nativos de spawn/terminal do host ou eventos SubagentStart/SubagentStop.
8
8
  - Cada `client_turn_id` observável tem uma Execution idempotente/claim atômico; sem ele use identidade local sem prometer idempotência. `interaction` read-only sem descendentes é conversa sem Task artificial e termina após a resposta entregue, sem executor ou finalizador; interaction com trabalho delegado e `delivery` exigem executor/finalizador. `delivery` é trabalho materializado e reuso exige kind/origem compatíveis. A raiz é `zaip-agent-orchestrator`; quando a barreira é exigida escolha executor por capacidade, permita reviewer/auditor/integrator e termine com `zaip-agent-finalizer` em `finalization`, após descendentes, bloqueando novas chamadas.
9
9
  - Hooks são best-effort: após cada spawn/terminal, o host autorizado a serviço do orquestrador executa `zaip subagent capture` idempotente com metadados reais. Na captura rica, preserve session/turn observados, `agent-id` com a identidade nativa retornada e `parent-agent-id`/`parent-run-id` do pai imediato exato; cada invocação preserva seu turn. Quando um evento terminal observado expõe somente agent_path, status, identidade catalogada e pai exato, `capture-terminal` aceita apenas `zaip-agent-finalizer` ou executor elegível para delivery com capacidade `task-delivery`; exige também `parent-run-id` igual ao `run_id` da raiz ativa exata, pois um client thread pode conter raízes concorrentes. O último segmento do agent_path deve ser seu `codex_task_name` canônico. O propósito deriva da identidade validada e session/turn/model/provider/usage permanecem indisponíveis; o fallback nunca substitui captura rica nem inventa modelo, effort, tokens ou custo.
10
+ - Antes da primeira edição do executor nativo, capture seu início observado. O PreToolUse pode receber a sessão do pai junto com o turno do filho: a CLI grava correlações locais exatas para esse formato e para a sessão nativa do filho, somente após verificar ancestralidade, modelo/effort, Task e Execution ativos. A autorização de patch fica limitada aos write scopes da Task; reviewers, identidades desconhecidas, outro turno e Runs terminais não recebem essa capacidade. Não copie nem fabrique recibos. Ao reutilizar um subagente, capture seu novo turno ativo; o recibo anterior não autoriza a retomada.
10
11
  - Em `autonomy-v1`, carregue `RULE-AUTONOMY-DECISION`. Conversation sem entrega responde diretamente; Task avulsa no padrão `codex_native` usa executor e Gui nativos. O principal preserva a seleção manual do host; cada filho segue a seleção ZAIP por papel/risco/fase, registrada conforme o modelo/esforço efetivamente observados. Capacidade ausente bloqueia a tentativa, nunca é substituída por prompt. Sem `autonomy`, preserve o contrato legado de `automatic_sources` (`spec`,`prd`).
11
12
  - Escaladas seguem o perfil congelado: Essencial nunca Astra automático; Equilibrado Sol/high, Sol/high, Astra/high, com execução Astra/high elegível no terceiro bloco; Persistente sem quota total. `RULE-ASTRA-DIAGNOSTIC` descreve também compatibilidade legada. Não use título/volume como prova nem alegue mudança de modelo apenas pelo prompt.
13
+ - Perfis nativos de orquestração e entrega não devem transformar preferências do catálogo em travas TOML de modelo/esforço. O host seleciona explicitamente a configuração da invocação conforme a política congelada, valida capacidade e reserva antes do despacho; ausência de trava não autoriza herança silenciosa, Astra antecipado ou ampliação de permissões. Revisores e finalizador conservam seus contratos próprios. Depois de regenerar os perfis, confira o schema efetivamente carregado pelo Codex: editar o arquivo não comprova recarga nem uma invocação Astra. Se o schema ainda fixa Sol, preserve o bloqueio e solicite recarga da sessão, nunca use `default` ou prompt como substituto.
12
14
  - Todo PreparedPlan PRD/SPEC traz `model_signals` por Task; o framework persiste `model_profile`, `task-risk-v1` e motivos, usando `runtime_defaults`, `runtime`, política/defaults sem `standard` silencioso. Não infira fase/complexidade/transversalidade/ambiguidade/rework/custo/capacidade por contagem de arquivos; use sinais, fase/agente e capacidades. Cabeçalho e `model.selection.recorded` repetem a seleção enviada.
13
15
  - Plano visível: `DEFINE:`, `PLAN:`, `EXECUTE:` ou `VERIFY:`, 3–4 passos (máximo 5); omita fase sem ação e combine trivialidades.
14
16
 
@@ -3,6 +3,35 @@
3
3
  Preparation does not authorize publication. Use guarded delivery only for an explicit deployment request.
4
4
  Store keys, trust stores, receipts and artifacts outside the repository. Commit and synchronize first;
5
5
  every gate is bound to the resulting clean SHA. Repair changes require a new candidate.
6
+ Qualification uses an independent local Git clone at that exact SHA, with copied
7
+ objects and complete commit history, not a worktree sharing the caller's registry.
8
+ This prevents dashboard source discovery from importing the main checkout or other
9
+ Codex worktrees into candidate evidence; normal product worktree reconciliation is
10
+ unchanged. Cleanup retries transient Windows locks and preserves the original gate
11
+ error if cleanup also fails. A cleanup failure never produces a success receipt.
12
+
13
+ When the ZAIP Codex PreToolUse hook is enabled, run release preparation, verification and
14
+ guarded delivery as separate literal commands. Its external-path exception is limited to
15
+ the reviewed release helpers, the declared SHA and version, the matching candidate
16
+ directory under `~/.codex/release-candidates/zaip-aios/`, and key material under
17
+ `~/.codex/release-keys/zaip-aios/<key-id>/`. It does not permit arbitrary home
18
+ directory access, repository-local signing keys, or chained Git commands. A blocked
19
+ unrelated path or compound command is an intentional safety decision, not a failed
20
+ release gate. Persistent repository edits additionally require a current Task Run with
21
+ the exact Codex thread and turn correlation.
22
+
23
+ For native `exec_command`, the hook validates both the chat's `cwd` and the command's
24
+ explicit absolute `workdir`. A registered worktree may be the execution root even
25
+ when the chat remains in the primary checkout. Unregistered roots, links, relative
26
+ overrides and missing exact worktree Run authority remain blocked; a primary
27
+ checkout's Task is never a global fallback for mutations in another checkout.
28
+
29
+ Some hosts present these commands as `Bash` without exposing a workdir override.
30
+ In that case, invoke the literal reviewed helper from the chat checkout and pass
31
+ the registered worktree in `--repository`. Only the helper may target that explicit
32
+ root, after physical-root, Git registration and common-directory verification;
33
+ its own preflight checks the exact clean SHA before any gate. This is not an
34
+ exception for arbitrary commands or filesystem access.
6
35
 
7
36
  The signing key ID is the trusted identity, not a filename. Resolve it with
8
37
  `gh variable get ZAIP_LOCAL_RELEASE_TRUSTED_KEY_ID --repo zaip-ai/zaip-aios`.
@@ -71,7 +100,8 @@ build/type integrity, package/SBOM/TGZ binding, dependency audit and one clean i
71
100
  doctor/SQLite/API smoke. It does not run browser navigation across every dashboard tab or XLSX
72
101
  exports. `--profile full` explicitly selects `full-v2`, which also runs the full source suite,
73
102
  browser and XLSX qualification. Essential preparation has a 30-minute deadline; full preparation
74
- has a 60-minute deadline. Both use process-tree
103
+ has a 90-minute total deadline for its serial Windows/browser/package matrix;
104
+ individual test timeouts and all acceptance gates remain unchanged. Both use process-tree
75
105
  termination and cleanup after expiry. A failure never produces a successful receipt. Receipts bind
76
106
  the selected profile and its fixed gate list, so former receipts require requalification.
77
107
  Successful preparation emits receipt, manifest, SBOM and TGZ.
@@ -40,6 +40,31 @@ Create the disposable dashboard database only from canonical `.agents/records` a
40
40
  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`.
41
41
  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`.
42
42
 
43
+ ## Ativação Codex em instalação e atualização
44
+
45
+ Sempre consulte `node .agents/runtime/bin/zaip.mjs hook status --json` após instalar
46
+ ou atualizar. `doctor` reporta hooks separadamente da validade dos arquivos.
47
+ Use hooks somente do repositório; não instale fallback global. Preserve terceiros
48
+ e configurações personalizadas na migração, com backup dos hooks ZAIP removidos.
49
+
50
+ Sem prova atual, informe “Arquivos instalados; integração Codex ainda não validada”.
51
+ Oriente: “Clique no ícone de âncora laranja, revise os hooks ZAIP-AIOS e clique em
52
+ Permitir tudo. Se houver terceiros, selecione somente ZAIP. Confira os interruptores.”
53
+ Termine com **Depois de aprovar os hooks, pode me avisar para validar?** Essa pergunta
54
+ substitui o CTA Git/configuração abaixo enquanto a ativação estiver pendente.
55
+ Não peça nova aprovação quando a integração atual já estiver validada.
56
+
57
+ Após o aviso, confira eventos reais pelo Codex: leitura segura e um subagente pequeno
58
+ com início/término observados, autorizado no onboarding. Executar o script direto
59
+ não prova aprovação. Sem confirmação, consultas e planejamento continuam disponíveis;
60
+ entregas dependentes da integração aguardam validação. Nunca autoaprove a trust store.
61
+
62
+ Stop só ocorre depois da resposta: confirme essa segunda etapa na interação seguinte,
63
+ com recibo exato, sem gerar continuação automática. `closure_pending` não é sucesso.
64
+ Mudanças de scripts/configuração invalidam evidência anterior; atualização sempre
65
+ reverifica, mas não exige aprovação repetida sem necessidade. Ausência de prova é
66
+ “não confirmado”, não prova de recusa. Telemetria pendente não deve apagar respostas.
67
+
43
68
  ## Resposta final obrigatória após instalação
44
69
 
45
70
  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.
@@ -66,7 +91,7 @@ Deseja ajuda para configurar seu repositório Git?
66
91
  - 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.
67
92
  - 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.
68
93
  - 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?**
69
- - 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.
94
+ - Termine com exatamente uma pergunta: aprovação dos hooks enquanto não verificada, ou a pergunta Git/configuração correspondente quando a integração estiver validada. Não escreva nada depois dela nem ofereça alternativas juntas. Antes de enviar, confirme: bullets presentes; versão clicável no npm correto; pergunta correspondente ao estado e última linha da resposta.
70
95
 
71
96
  ## Aceite e encerramento do onboarding
72
97
 
@@ -18,7 +18,14 @@ Um hook local pode ser ignorado com `--no-verify` e não é uma fronteira de seg
18
18
 
19
19
  PreToolUse localiza a Run pela correlação exata de sessão/turno e valida o registro canônico. Índice ausente, desatualizado ou Run terminal exige captura/reconciliação explícita; não autoriza pela última Task global.
20
20
 
21
- Stop lê apenas linhas completas acrescentadas ao transcript. Um recibo em `.local/hooks/stop-<hash>.json` guarda cursor e provas da sessão/turno. Use `node .agents/runtime/bin/zaip.mjs hook recover-stop --session SESSION --turn TURN` para repetir o evento exato após corrigir a causa. O prazo do hook é 8 segundos dentro dos 10 segundos do host. Falhas e descendentes ativos deixam pendência explícita; ausência de gates/finalizador leva ao bloqueio canônico, sem sucesso artificial. Uma continuação síncrona é solicitada no máximo uma vez para evitar ciclo de Stop.
21
+ Stop lê apenas linhas completas acrescentadas ao transcript. Um recibo em `.local/hooks/stop-<hash>.json` guarda cursor e provas da sessão/turno. Use `node .agents/runtime/bin/zaip.mjs hook recover-stop --session SESSION --turn TURN` para repetir o evento exato após corrigir a causa. O prazo técnico do hook é 8 segundos dentro dos 10 segundos do host; não é um limite de tempo para a entrega. Falhas e descendentes ativos deixam pendência explícita; ausência de gates/finalizador leva ao bloqueio canônico, sem sucesso artificial. Stop nunca solicita continuação automática nem substitui a resposta. A CLI conduz o fechamento antes da resposta; a confirmação do evento terminal do host ocorre na interação seguinte.
22
+
23
+ A recuperação CLI explícita acompanha o mesmo recibo em uma chamada ativa do Codex,
24
+ com até 45 segundos de trabalho e limite externo de 50 segundos; não amplia o prazo
25
+ do hook disparado pelo host nem instala execução após o encerramento do Codex.
26
+ Essa diferença permite concluir reconciliações legítimas mais lentas que 8 segundos.
27
+ Timeout ou falta de prova mantém `pending`; somente confirmação canônica permite
28
+ `persisted`. Acompanhe a sessão até sua saída terminal.
22
29
 
23
30
  SubagentStart/Stop persiste recibo antes do processo em segundo plano, permite três tentativas limitadas e só confirma JSON de captura canônica. `node .codex/hooks/zaip-subagent-lifecycle.mjs --replay-pending` recupera até três recibos completos por execução (inspeção limitada a 256 entradas). Recibos sem status ou identidade observada exigem o fallback manual idempotente. Não remova a captura manual enquanto não houver confirmação verificável. O contexto de governança do SubagentStart é preservado.
24
31
 
@@ -1 +1 @@
1
- 4.1
1
+ 4.3
@@ -11,7 +11,7 @@ Se uma Task estiver presa em executing/verifying, use o popup Reconciliar para o
11
11
 
12
12
  Se o problema for de instalacao ou integridade, consulte `framework.lock.yaml`.
13
13
 
14
- Se “finalizar” tentou entregar um PRD `draft`, confira adapters/skills: o correto é lapidar e mover para `ready`. Se uma DAG nova cruza SPECs, una as capacidades em uma SPEC e mantenha a dependência entre suas Tasks. PRD cancelado não reabre; crie sucessor `rework`.
14
+ Se “finalizar o documento” tentou entregar um PRD `draft`, confira adapters/skills: criar ou lapidar mantém `draft`; somente pedido explícito promove para `ready`. Pedido de executar pode preparar e ir diretamente para execução. DAG entre SPECs deve preservar os vínculos e dependências no PreparedPlan do PRD, sem consolidar documentos silenciosamente. PRD cancelado não reabre; crie sucessor `rework`.
15
15
 
16
16
  ## Repetição, orçamento e recibos
17
17
 
@@ -32,3 +32,54 @@ A tolerância de dez minutos para Run órfã no reparo manual não é prazo de
32
32
  desistência de Task em atividade. Um timeout operacional também não comprova
33
33
  falha do produto. Veja [autonomia](19-assurance-e-autonomia.md) e
34
34
  [relay de fechamento](16-lifecycle-e-reconciliacao.md).
35
+
36
+ ## Hooks e retomada no Codex
37
+
38
+ ### Classificar antes de corrigir
39
+
40
+ `Falhou` indica erro técnico do hook; `Bloqueado` indica uma decisão de política.
41
+ Uma contagem histórica não prova regressão atual. Reproduza a operação autorizada
42
+ com o hook ativo e compare o motivo, a sessão e o turno da nova execução.
43
+
44
+ | Caso | Comportamento esperado e teste |
45
+ | --- | --- |
46
+ | Stop com `invalid stop hook JSON output` | A saída usa `{}` ou `decision: block` com `reason`, nunca um `hookSpecificOutput` de Stop. Testar todos os caminhos de saída, inclusive erro e continuação. |
47
+ | Resposta útil substituída por aviso de telemetria no Stop | Pendência de transcript, contabilização, lock ou CLI fica no recibo e retorna `{}`, sem criar outro prompt. Somente estado de Task própria comprovado nesta invocação pode pedir uma continuação; `stop_hook_active` impede repetição. |
48
+ | Transcript local `\\?\C:\...` | Normalizar o namespace local nas duas camadas de verificação. UNC de rede, devices, links e sessão divergente continuam recusados. |
49
+ | Executor nativo bloqueado por correlação | Conferir sessão do pai + turno do filho, além da sessão nativa do filho. Registrar somente vínculo comprovado; não usar a Task global mais recente. |
50
+ | Busca textual por `AC-...`, `Remove-Item` ou `;` | Diferenciar argumento literal de comando executável. Leituras literais não viram mutação por palavras na pesquisa; redirecionamentos e composição destrutiva continuam protegidos. |
51
+ | Git com separadores | Um separador dentro de argumento entre aspas é texto. Separadores fora das aspas continuam exigindo chamadas Git separadas. |
52
+ | Hook repetido em Usuário e Projeto | O instalador só retira registro global reconhecidamente ZAIP após verificar os hooks canônicos do projeto; preserva terceiros e mantém fallback quando não houver confirmação. |
53
+
54
+ O vínculo local do executor é conferido contra os escopos e o estado da Task
55
+ canônica. Ele não permite que o filho edite seus próprios bindings ou registros
56
+ de autoridade. Patches também verificam os ancestrais físicos: junctions, links
57
+ e hardlinks não viram uma autorização para escapar do escopo textual.
58
+
59
+ A migração global publica a nova configuração sem substituir um arquivo que um
60
+ editor tenha recriado durante a operação. Em conflito, preserva a versão do
61
+ usuário e o backup original, informa o caminho recuperável e não declara sucesso.
62
+ Mesmo no sucesso, o arquivo original permanece recuperável em
63
+ `config.toml.zaip-saved-<id>` junto à configuração privada do Codex. Isso preserva
64
+ também gravações tardias de um editor que mantinha o arquivo anterior aberto.
65
+ Uma segunda execução sem mudanças não cria outro backup. Esses arquivos não
66
+ devem ser publicados nem removidos automaticamente.
67
+
68
+ Um Stop sem transcript deixa recibo pendente, sem inventar conclusão. Repetição da
69
+ mesma sessão/turno pode reutilizar o caminho já recebido; outro turno não pode.
70
+ Esse recibo não é motivo para solicitar uma nova resposta do modelo: permitir o
71
+ encerramento da interface não significa aprovar ou concluir registros canônicos.
72
+ Falhas permanecem explícitas e recuperáveis; não se promete execução após o Codex parar.
73
+ Transcripts grandes avançam por cursor limitado e podem exigir mais de uma
74
+ recuperação; acompanhe o avanço, não faça varredura global nem apague o recibo.
75
+
76
+ ### Recuperação segura
77
+
78
+ - `Bloqueado` com caminho fora do repositório ou Git composto pode ser uma recusa de segurança correta; não é `Falhou`. Separe comandos Git e use somente os caminhos externos autorizados no helper de release.
79
+ - Correlação ausente não autoriza escolher a última Task global. O resolvedor procura também o nome da sessão histórica do thread exato, valida seu cabeçalho/workspace e lê somente esse transcript; um chat antigo não perde identidade por ultrapassar três dias.
80
+ - Runs históricas já gravadas com turno local não se tornam correlacionadas por inferência. Preserve-as; uma retomada com turno observado deve capturar sua identidade real antes de mutações persistentes.
81
+ - Falha de verificação antes de Gui usa [o reparo canônico](../../skills/zaip-skill-execution/references/correction-cycle.md). A barreira de um finalizador já iniciado não pode ser reaberta.
82
+ - EPERM transitório ao ler um lock incumbente no Windows permite no máximo três leituras dentro do deadline. EPERM persistente, EACCES, processo vivo ou contenção inválida continuam falhando fechado; nunca apague um lock vivo para obter verde.
83
+ - Depois de atualizar os hooks, aprovar o conteúdo modificado não comprova que PreToolUse está ativo: confirme o interruptor e execute cenários reais novos. Estatísticas antigas não são apagadas nem transformadas em aprovações.
84
+ - `doctor` acusa `.agents/local`: preserve qualquer conteúdo legado antes de migrá-lo para `.local`. Somente diretórios comprovadamente vazios podem ser removidos de forma não recursiva, com Task e turno correlacionados; não suprima o diagnóstico nem apague histórico para obter aprovação.
85
+ - Um agente de entrega/orquestração aparece com modelo/esforço fixos em Sol mesmo após ajuste: confira a origem canônica e regenere os adaptadores. As preferências do catálogo não são travas; a seleção explícita deve seguir o ledger. O schema da sessão pode continuar carregando o perfil anterior até recarga pelo host. Não reinicie o computador, não troque identidade do agente e não declare Astra observado sem metadados reais. Testes determinísticos provam a política, mas não substituem a homologação nativa Sol/high → Sol/high → Astra/high.