@zaip-ai/cli 4.2.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.
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/services/adapters.d.ts +2 -2
- package/dist/services/adapters.d.ts.map +1 -1
- package/dist/services/adapters.js +11 -63
- package/dist/services/adapters.js.map +1 -1
- package/dist/services/agent-adapters.d.ts.map +1 -1
- package/dist/services/agent-adapters.js +3 -7
- package/dist/services/agent-adapters.js.map +1 -1
- package/dist/services/agent-adapters.test.js +43 -11
- package/dist/services/agent-adapters.test.js.map +1 -1
- package/dist/services/codex-config-template.js +2 -2
- package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
- package/dist/services/codex-conversation-lifecycle-hook.js +38 -14
- package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
- package/dist/services/codex-hook-activation.d.ts +4 -0
- package/dist/services/codex-hook-activation.d.ts.map +1 -0
- package/dist/services/codex-hook-activation.js +64 -0
- package/dist/services/codex-hook-activation.js.map +1 -0
- package/dist/services/codex-model-policy.d.ts +4 -0
- package/dist/services/codex-model-policy.d.ts.map +1 -0
- package/dist/services/codex-model-policy.js +24 -0
- package/dist/services/codex-model-policy.js.map +1 -0
- package/dist/services/codex-native-tool-authority-template.d.ts +2 -0
- package/dist/services/codex-native-tool-authority-template.d.ts.map +1 -0
- package/dist/services/codex-native-tool-authority-template.js +89 -0
- package/dist/services/codex-native-tool-authority-template.js.map +1 -0
- package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.js +59 -86
- package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.test.js +200 -1
- package/dist/services/codex-pre-tool-hook-template.test.js.map +1 -1
- package/dist/services/codex-pre-tool-support-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-support-template.js +303 -12
- package/dist/services/codex-pre-tool-support-template.js.map +1 -1
- package/dist/services/codex-subagent-hook-template.d.ts +1 -1
- package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
- package/dist/services/codex-subagent-hook-template.js +11 -4
- package/dist/services/codex-subagent-hook-template.js.map +1 -1
- package/dist/services/codex-validation-runtime-template.d.ts +3 -0
- package/dist/services/codex-validation-runtime-template.d.ts.map +1 -0
- package/dist/services/codex-validation-runtime-template.js +18 -0
- package/dist/services/codex-validation-runtime-template.js.map +1 -0
- package/dist/services/codex-windows-hook-command.js +1 -1
- package/dist/services/codex-windows-hook-command.js.map +1 -1
- package/dist/services/codex-windows-hook-command.test.js +22 -0
- package/dist/services/codex-windows-hook-command.test.js.map +1 -1
- package/dist/services/global-codex-config-fixtures.d.ts +12 -0
- package/dist/services/global-codex-config-fixtures.d.ts.map +1 -0
- package/dist/services/global-codex-config-fixtures.js +38 -0
- package/dist/services/global-codex-config-fixtures.js.map +1 -0
- package/dist/services/global-codex-config-migration.test.d.ts +2 -0
- package/dist/services/global-codex-config-migration.test.d.ts.map +1 -0
- package/dist/services/global-codex-config-migration.test.js +301 -0
- package/dist/services/global-codex-config-migration.test.js.map +1 -0
- package/dist/services/global-codex-config-transaction.d.ts +15 -0
- package/dist/services/global-codex-config-transaction.d.ts.map +1 -0
- package/dist/services/global-codex-config-transaction.js +89 -0
- package/dist/services/global-codex-config-transaction.js.map +1 -0
- package/dist/services/global-codex-config-transaction.test.d.ts +2 -0
- package/dist/services/global-codex-config-transaction.test.d.ts.map +1 -0
- package/dist/services/global-codex-config-transaction.test.js +145 -0
- package/dist/services/global-codex-config-transaction.test.js.map +1 -0
- package/dist/services/global-codex-config.d.ts +10 -11
- package/dist/services/global-codex-config.d.ts.map +1 -1
- package/dist/services/global-codex-config.js +225 -107
- package/dist/services/global-codex-config.js.map +1 -1
- package/dist/services/global-codex-config.test.js +6 -6
- package/dist/services/global-codex-config.test.js.map +1 -1
- package/dist/services/hook-readiness.d.ts +7 -0
- package/dist/services/hook-readiness.d.ts.map +1 -0
- package/dist/services/hook-readiness.js +17 -0
- package/dist/services/hook-readiness.js.map +1 -0
- package/dist/services/logger.d.ts +2 -0
- package/dist/services/logger.d.ts.map +1 -1
- package/dist/services/logger.js +15 -1
- package/dist/services/logger.js.map +1 -1
- package/dist/services/logger.test.js +3 -0
- package/dist/services/logger.test.js.map +1 -1
- package/dist/services/managed-adapter.d.ts +6 -0
- package/dist/services/managed-adapter.d.ts.map +1 -0
- package/dist/services/managed-adapter.js +63 -0
- package/dist/services/managed-adapter.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/README.md +8 -0
- package/templates/.agents/config/agents/discovery.json +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-backend.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-brand-strategist.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-cloud-engineer.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-data-analyst.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-frontend.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-general-operations.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-governance-compliance.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-growth-strategist.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-refactoring-specialist.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-sales-specialist.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-task-executor.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-website-developer.toml +1 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-writer.toml +1 -2
- package/templates/.agents/dashboard/.zaip-managed.json +40 -32
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-DlN5EMmD.js → DashboardHelpDialog-CkQ_y8kg.js} +60 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-BRdoeTWk.js → ProjectSettingsPage-doIMhei7.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-B_5u4Xnp.js → TraceabilityWorkspace-C_4ftjyB.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-C4rLXrz_.js → index-Rbmpz4UO.js} +2 -2
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +1 -1
- package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/package.json +1 -1
- package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
- package/templates/.agents/dashboard/packages/branding/package.json +1 -1
- package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
- package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +175 -175
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +135 -135
- package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +175 -175
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operation-detail.test.ts +106 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +0 -13
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-counts-every-root-execution-day-returns.test.ts +17 -230
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-counts-fixture.test-support.ts +239 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.test.mjs +28 -8
- package/templates/.agents/dashboard/packages/ui/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
- package/templates/.agents/design/.zaip-managed.json +3 -3
- package/templates/.agents/design/apps/catalog/package.json +1 -1
- package/templates/.agents/design/packages/local-runtime/package.json +1 -1
- package/templates/.agents/requirements/autonomous-assurance.md +1 -1
- package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
- package/templates/.agents/requirements/comparative-audit.md +1 -1
- package/templates/.agents/requirements/context-engine.md +1 -1
- package/templates/.agents/requirements/cost-observability.md +1 -1
- package/templates/.agents/requirements/dashboard-launch.md +1 -1
- package/templates/.agents/requirements/data-export.md +1 -1
- package/templates/.agents/requirements/design-system.md +1 -1
- package/templates/.agents/requirements/execution-engine.md +1 -1
- package/templates/.agents/requirements/kanban-dashboard.md +1 -1
- package/templates/.agents/requirements/model-orchestration.md +1 -1
- package/templates/.agents/requirements/public-distribution.md +1 -1
- package/templates/.agents/requirements/software-architecture.md +1 -1
- package/templates/.agents/requirements/strategic-improvements.md +1 -1
- package/templates/.agents/requirements/work-lifecycle.md +1 -1
- package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
- package/templates/.agents/rules/astra-diagnostic.md +1 -1
- package/templates/.agents/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +627 -177
- package/templates/.agents/runtime/checksums.sha256 +5 -5
- package/templates/.agents/runtime/manifest.json +1 -1
- package/templates/.agents/runtime/provenance.json +4 -4
- package/templates/.agents/runtime/sbom.cdx.json +1 -1
- package/templates/.agents/skills/zaip-skill-execution/SKILL.md +1 -1
- package/templates/.agents/skills/zaip-skill-execution/references/correction-cycle.md +26 -0
- package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +2 -0
- package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +31 -1
- package/templates/.agents/skills/zaip-skill-setup/SKILL.md +26 -1
- package/templates/.agents/skills/zaip-skill-task/references/commit-policy.md +8 -1
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/.agents/zaip-aios/guides/14-troubleshooting.md +52 -1
- package/templates/template-manifest.json +95 -87
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
b146bd0c7c60b1ab43c4f71e0b1d2262c6df6da6f7053a0425f834ccb77a6b48 LICENSE
|
|
2
2
|
bc02cba77e8d51e5c580f43668863dc868eda66f1ff663bfaa49fcf3ca16320e THIRD_PARTY_NOTICES.md
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
10
|
-
|
|
9
|
+
dbcb7ca019229dc08426369c68efdba41c554536bd30ff61d517abf3440db4b7 provenance.json
|
|
10
|
+
f152c56a6020fa33a47e6d40c550b8f941e49ab7c6e9b6e86856eb9efa16eff0 sbom.cdx.json
|
|
11
11
|
b3ffedf9e146be802a15b4009f33e031dec3071ca1525e12c67606fd964a3067 schemas/contracts.schema.json
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"schema_version": 1,
|
|
3
3
|
"statement_type": "self_reported_build_integrity",
|
|
4
4
|
"authenticity": "unverified",
|
|
5
|
-
"version": "4.
|
|
5
|
+
"version": "4.3.0",
|
|
6
6
|
"source_origin": "zaip-aios:local-build",
|
|
7
7
|
"lockfile_sha256": "03d08e5bbb198d74014ea4a806fcdeb350db23ec2bf0c2886a2265066555d418",
|
|
8
|
-
"sbom_sha256": "
|
|
9
|
-
"runtime_sha256": "
|
|
10
|
-
"statement_sha256": "
|
|
8
|
+
"sbom_sha256": "f152c56a6020fa33a47e6d40c550b8f941e49ab7c6e9b6e86856eb9efa16eff0",
|
|
9
|
+
"runtime_sha256": "7bab388a60fee8ac611ef8af05629402a4cf896085302631b8aa0373b330aaa5",
|
|
10
|
+
"statement_sha256": "3ebd6dc2a728991c9fc822b324607fe1787cdfa9a2a20f6bace1303dd41ab314"
|
|
11
11
|
}
|
|
@@ -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
|
|
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
|
|
package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md
CHANGED
|
@@ -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
|
|
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
|
|
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.
|
|
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
|
+
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:
|
|
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.
|