@zaip-ai/cli 4.8.0 → 5.0.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/services/adapter-hook-sources.d.ts +3 -0
- package/dist/services/adapter-hook-sources.d.ts.map +1 -1
- package/dist/services/adapter-hook-sources.js +3 -0
- package/dist/services/adapter-hook-sources.js.map +1 -1
- package/dist/services/adapters.d.ts +1 -1
- package/dist/services/adapters.d.ts.map +1 -1
- package/dist/services/adapters.js +5 -2
- package/dist/services/adapters.js.map +1 -1
- package/dist/services/adapters.test.js +1 -1
- package/dist/services/adapters.test.js.map +1 -1
- package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
- package/dist/services/codex-conversation-lifecycle-hook.js +16 -6
- package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
- package/dist/services/codex-hook-activation.d.ts +1 -1
- package/dist/services/codex-hook-activation.d.ts.map +1 -1
- package/dist/services/codex-hook-activation.js +116 -10
- package/dist/services/codex-hook-activation.js.map +1 -1
- package/dist/services/codex-pre-tool-cli-capture-template.d.ts +2 -0
- package/dist/services/codex-pre-tool-cli-capture-template.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-cli-capture-template.js +104 -0
- package/dist/services/codex-pre-tool-cli-capture-template.js.map +1 -0
- package/dist/services/codex-pre-tool-cloud-template.d.ts +2 -0
- package/dist/services/codex-pre-tool-cloud-template.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-cloud-template.js +190 -0
- package/dist/services/codex-pre-tool-cloud-template.js.map +1 -0
- package/dist/services/codex-pre-tool-dependencies.test-support.d.ts +2 -0
- package/dist/services/codex-pre-tool-dependencies.test-support.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-dependencies.test-support.js +9 -0
- package/dist/services/codex-pre-tool-dependencies.test-support.js.map +1 -0
- package/dist/services/codex-pre-tool-hook-fixture.test-support.d.ts +5 -0
- package/dist/services/codex-pre-tool-hook-fixture.test-support.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-hook-fixture.test-support.js +19 -0
- package/dist/services/codex-pre-tool-hook-fixture.test-support.js.map +1 -0
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.d.ts +2 -0
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.js +107 -0
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.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 +152 -190
- package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.test.js +63 -75
- package/dist/services/codex-pre-tool-hook-template.test.js.map +1 -1
- package/dist/services/codex-pre-tool-host-context-template.d.ts +2 -0
- package/dist/services/codex-pre-tool-host-context-template.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-host-context-template.js +139 -0
- package/dist/services/codex-pre-tool-host-context-template.js.map +1 -0
- package/dist/services/codex-pre-tool-support-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-support-template.js +77 -100
- 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 +59 -15
- package/dist/services/codex-subagent-hook-template.js.map +1 -1
- package/dist/services/codex-validation-runtime-template.d.ts.map +1 -1
- package/dist/services/codex-validation-runtime-template.js +37 -10
- package/dist/services/codex-validation-runtime-template.js.map +1 -1
- package/dist/services/runtime-template-test-support.d.ts +1 -0
- package/dist/services/runtime-template-test-support.d.ts.map +1 -1
- package/dist/services/runtime-template-test-support.js +23 -2
- package/dist/services/runtime-template-test-support.js.map +1 -1
- package/dist/services/runtime-template.test.js +7 -24
- package/dist/services/runtime-template.test.js.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/README-ENG.md +49 -7
- package/templates/.agents/README.md +41 -10
- package/templates/.agents/config/agents/discovery.json +1 -1
- package/templates/.agents/dashboard/.zaip-managed.json +125 -73
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-BW7Vy1cp.js → CostCalculationGuidePage-w6pjt4OM.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-BN8KQPrr.js → DashboardHelpDialog-DhlntQcR.js} +117 -17
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-Prcs-ydy.js → PricingSettingsDialog-BHoZT2an.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-HqGUImIG.js → ProjectSettingsPage-IcncIZ9Y.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-CNpmQMO4.js → TraceabilityWorkspace-C6rORjpr.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-uPnOBShc.js +68 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-CF7B1Hjn.js → dashboard-localization-DWXjEIgc.js} +49 -7
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-DOhy6D2-.js → icons-vendor-Hc9fp_gs.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-DX65Ufuu.js → index-BqeOEZW5.js} +2 -2
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-CkPC-yMz.js → react-vendor-C9ta_O10.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-BEdGoIDm.js → traceability-IcefoTOv.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +5 -5
- 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/cost-monitor/src/contracts.ts +10 -3
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.run-page.test.ts +5 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.period-values.test.tsx +2 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +5 -5
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +36 -43
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-loaders.ts +1 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-formatters.ts +6 -4
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.ts +2 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +11 -25
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/cost-summary-defaults.ts +26 -0
- package/templates/.agents/dashboard/modules/operations/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/src/contracts.ts +11 -16
- package/templates/.agents/dashboard/modules/operations/src/planning-contracts.ts +14 -0
- package/templates/.agents/dashboard/modules/operations/src/react/DecisionTable.tsx +65 -0
- package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +5 -71
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +10 -36
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +7 -2
- package/templates/.agents/dashboard/modules/operations/src/react/use-operations-filter-sync.ts +66 -0
- 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 +229 -222
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +167 -167
- package/templates/.agents/dashboard/packages/local-runtime/package.json +3 -3
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +229 -222
- package/templates/.agents/dashboard/packages/local-runtime/src/active-capture-failure.test.ts +38 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/active-capture-failure.ts +35 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.test.ts +69 -6
- package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +62 -15
- package/templates/.agents/dashboard/packages/local-runtime/src/manifest-runs.ts +8 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/server-capture-projection-order.test.ts +118 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-cost-run-search.test.ts +90 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-cost-run-search.ts +86 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-routes.ts +8 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/server-projection-loaders.ts +13 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-projections.ts +30 -74
- package/templates/.agents/dashboard/packages/local-runtime/src/server-route-handlers.ts +42 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-routes.test.ts +60 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-run-projections.test.ts +12 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/server-telemetry-command.test.ts +29 -4
- package/templates/.agents/dashboard/packages/local-runtime/src/server-telemetry-refresh.ts +7 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +51 -54
- package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +37 -48
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-filter-matrix.test.ts +5 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-invocation-page.test.ts +49 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-invocation-page.ts +44 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-cached-cost-page.ts +11 -10
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-summary.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-work-item-index.test.ts +18 -1
- package/templates/.agents/dashboard/packages/local-runtime/vitest.config.ts +12 -0
- package/templates/.agents/dashboard/packages/ui/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/specs/cost-monitor-pagination.spec.ts +13 -6
- package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +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 +39 -3
- 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 +3 -3
- 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 +11 -2
- 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 +2 -1
- package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
- package/templates/.agents/rules/cloud-hostinger-autonomy.md +1 -1
- package/templates/.agents/rules/production-readiness.md +24 -0
- package/templates/.agents/rules/run-lifecycle-closure.md +2 -1
- package/templates/.agents/rules/security.md +2 -2
- package/templates/.agents/rules/workflow.md +4 -3
- package/templates/.agents/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +1185 -610
- package/templates/.agents/runtime/checksums.sha256 +6 -6
- package/templates/.agents/runtime/manifest.json +1 -1
- package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
- package/templates/.agents/runtime/provenance.json +5 -5
- package/templates/.agents/runtime/sbom.cdx.json +71 -71
- package/templates/.agents/skills/zaip-skill-execution/SKILL.md +4 -2
- package/templates/.agents/skills/zaip-skill-execution/references/controlled-release-recovery.md +44 -0
- package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +1 -1
- package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +7 -1
- package/templates/.agents/skills/zaip-skill-github-deploy/references/release-gate-matrix.md +15 -20
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.mjs +38 -2
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.test.mjs +62 -4
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +8 -6
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/guarded-commits.mjs +5 -3
- package/templates/.agents/skills/zaip-skill-lifecycle-closure/SKILL.md +7 -0
- package/templates/.agents/skills/zaip-skill-maintenance-enter/SKILL.md +23 -0
- package/templates/.agents/skills/zaip-skill-maintenance-enter/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.mjs +213 -0
- package/templates/.agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.test.mjs +207 -0
- package/templates/.agents/skills/zaip-skill-maintenance-exit/SKILL.md +21 -0
- package/templates/.agents/skills/zaip-skill-maintenance-exit/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-prd/SKILL.md +6 -0
- package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +26 -0
- package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +46 -11
- package/templates/.agents/skills/zaip-skill-spec/SKILL.md +9 -0
- package/templates/.agents/skills/zaip-skill-testing-strategy/SKILL.md +15 -0
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/.agents/zaip-aios/guides/11-observabilidade-e-custos.md +22 -0
- package/templates/.agents/zaip-aios/guides/14-troubleshooting.md +1 -1
- package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +52 -5
- package/templates/template-manifest.json +210 -126
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-Co2Jiuzh.js +0 -68
|
@@ -4,9 +4,9 @@ id: REQUIREMENTS-EXECUTION-ENGINE
|
|
|
4
4
|
area: execution-engine
|
|
5
5
|
title: Preparação, materialização e DAG
|
|
6
6
|
status: active
|
|
7
|
-
version:
|
|
7
|
+
version: 13
|
|
8
8
|
source_change: null
|
|
9
|
-
source_release: "
|
|
9
|
+
source_release: "5.0.0"
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Execution engine
|
|
@@ -25,6 +25,13 @@ source_release: "4.8.0"
|
|
|
25
25
|
`execute` deve materializar Changes, Tasks e Execution antes da primeira mutação, preservando snapshot da DAG para retomada e auditoria. A tentativa explícita já pertence à fase `execution`, independentemente de produzir diff.
|
|
26
26
|
|
|
27
27
|
- `AC-EXEC-002-01`: repetir `execute` não duplica artefatos, e cada tentativa explicitamente iniciada possui Run atribuído.
|
|
28
|
+
|
|
29
|
+
Se uma definição de SPEC no mesmo turno físico já terminou com Gui e uma
|
|
30
|
+
autorização explícita observada manda executar aquela SPEC pronta, `spec execute`
|
|
31
|
+
pode registrar um segmento lógico sucessor de delivery. A Run de definição
|
|
32
|
+
permanece imutável; claim, alvo e hash da autorização vinculam a sucessora,
|
|
33
|
+
sem dois proprietários ativos ou contagem dupla de uso quando a fronteira de
|
|
34
|
+
tokens não é observável. Sem esses fatos, vale o guard normal de turno único.
|
|
28
35
|
- `AC-EXEC-002-02`: cada Task executável possui dependências e Execution explícitas; Task encerrada como conversa read-only não materializa DAG sintética.
|
|
29
36
|
- `AC-EXEC-002-03`: falha parcial pode ser retomada sem corromper o plano.
|
|
30
37
|
- `AC-EXEC-002-04`: início da fase `execution` não implica mutação; `changed_files` e `result` registram separadamente se houve mudança real e qual foi o desfecho.
|
|
@@ -60,3 +67,5 @@ Execuções devem limitar repetição por checkpoints suaves e verificar somente
|
|
|
60
67
|
- `AC-EXEC-005-05`: a skill de execução exige refresh seletivo e checkpoint compacto ao atingir os budgets suaves.
|
|
61
68
|
- `AC-EXEC-005-06`: quando um plano visível é útil, cada passo começa com `DEFINE:`, `PLAN:`, `EXECUTE:` ou `VERIFY:`, usa somente fases aplicáveis, contém no máximo 5 passos e combina ações triviais; tarefas simples podem omitir o plano.
|
|
62
69
|
- `AC-EXEC-005-07`: checkpoints suaves de contexto são acionados somente por ciclos; telemetria de input não cacheado do provider e contexto observável permanece registrada com sua origem, sem inventar valores ausentes. Checkpoints de segurança por esgotamento de tentativas semânticas são distintos desse contador. Observações de convergência não concedem aprovação nem cancelam trabalho por duração; tempo não observado permanece indisponível.
|
|
70
|
+
|
|
71
|
+
Para novas avaliações de PRD/SPEC/DAG e release, a política `proportional-acceptance-v1` de `@zaip-ai/specs` exige critério obrigatório rastreável a pedido humano, Requirement ativo ou risco concreto, com aplicabilidade, resultado observável, prova suficiente, responsável e condição de parada. Todos os obrigatórios precisam passar no candidato aplicável; melhoria opcional pendente não bloqueia. Uma Task avulsa conserva o assurance proporcional existente, sem escala nova. Snapshots antigos não são recalculados: adoção retroativa exige migração explícita, versionada e atribuída.
|
|
@@ -6,7 +6,7 @@ title: Ciclo de vida do trabalho
|
|
|
6
6
|
status: active
|
|
7
7
|
version: 26
|
|
8
8
|
source_change: null
|
|
9
|
-
source_release: "
|
|
9
|
+
source_release: "5.0.0"
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Work lifecycle
|
|
@@ -75,6 +75,7 @@ Cada Execução ZAIP possui uma Invocação do Orquestrador. `interaction` read-
|
|
|
75
75
|
- `AC-WORK-006-01`: uma Run raiz de `orchestration` governa exatamente uma tentativa de Task e permanece aberta enquanto seus Sub-Runs executam; antes de a Run terminar, a Task deve estar `completed`, `blocked`, `failed` ou `cancelled`. `executing` e `verifying` nunca são estados válidos no fim da tentativa.
|
|
76
76
|
- `AC-WORK-006-02`: `RUN-*` continua a chave física compatível do ledger, mas representa uma Invocação de Agente. `parent_run_id: null` e `invocation_kind: orchestrator` identificam exclusivamente a Invocação do Orquestrador; toda Invocação Delegada exige pai, raiz e profundidade positivos. Valores históricos permanecem legíveis e são normalizados na borda. A invocação raiz não pode terminar enquanto qualquer descendente estiver ativo.
|
|
77
77
|
- `AC-WORK-006-03`: em `delivery` ou interaction com descendente delegado, o último filho é um Sub-Run `finalization` executado por `zaip-agent-finalizer`. Ele só inicia depois que todos os descendentes existentes terminam, impede novos filhos e retorna uma decisão restrita. O resultado `completed` exige executor elegível ou a autorização direta válida de `AC-WORK-001-09`, além dos demais gates. Sem executor ou autorização válida, Gui pode avaliar e devolver `blocked`/`failed`, mas não conceder sucesso; não se cria executor cerimonial para contornar a barreira; reviewer, auditor e integrator são permitidos antes da barreira. Quando o host observa o evento terminal, pai, agent_path e identidade catalogada, mas não expõe session/turn filhos, a captura terminal idempotente é permitida somente para o finalizador ou para executor elegível a delivery com capacidade `task-delivery`, exigindo `parent-agent-id` e `parent-run-id` da raiz ativa exata, além de agent_path terminado no `codex_task_name` canônico, e mantendo session, turn, modelo, provider e usage indisponíveis. Uma `interaction` read-only sem descendentes não inicia filhos e a CLI a conclui deterministicamente após a resposta entregue.
|
|
78
|
+
- `AC-WORK-006-04`: uma manutenção autorizada para reparar o fechamento pós-publicação pode emitir recibo canônico na própria Change enquanto sua Run delivery permanece ativa. Após Task de manutenção e Gui terminarem `completed`, a CLI pública consome o recibo somente para a Task/SPEC/Execution histórica exata, com revisões, autorização humana observada, provas de candidato/publicação/CI/ciclo e conteúdo de Evidence revalidados. O claim exclusivo permite uma raiz sucessora da SPEC no mesmo turno observado ou em turno novo autenticamente observado; crash parcial não cria outra raiz ou aprovação. A Task histórica não ganha escrita de produto nem reutiliza o Gui da manutenção: seu fechamento precisa de executor elegível, Evidence e seu último finalizador próprios. Testes de mutação devem matar a remoção da barreira de Gui e da verificação da fronteira de produto.
|
|
78
79
|
- `AC-WORK-006-04`: uma Run raiz de SPEC/PRD pode terminar sem terminalizar o macro. O pai passa a `active` quando uma Task filha inicia, permanece em Execução durante intervalos e só entra em Verificação depois de todas as Tasks concluírem; delivery exige gates parentais próprios.
|
|
79
80
|
- `AC-WORK-006-05`: status técnico de Run/Sub-Run (`completed`, `failed`, `cancelled`) é independente do resultado da Task (`completed`, `blocked`, `failed`, `cancelled`); a orquestração pode concluir tecnicamente e bloquear a Task por falha de gate.
|
|
80
81
|
- `AC-WORK-006-06`: continuação não preserva Task em `executing` ou `verifying`, e fechamento da tentativa não pode ser adiado. Retomada de `blocked` usa `resume`; `failed` usa `rework` na mesma Task e incrementa a tentativa; `completed` e `cancelled` são imutáveis.
|
|
@@ -17,7 +17,7 @@ domains: [terraform, hostinger, cloudflare, ssh]
|
|
|
17
17
|
- `.env` na raiz é a fonte local preferida; `.agents/.env` é alternativa configurável. Ambos são ignorados e só fornecem credenciais e identificadores ao subprocesso mínimo. Eles nunca autorizam alvo. Antes de operação remota, confira perfil `autonomous-cloud`, conta+zona Cloudflare, conta Hostinger, IDs das VPS e fingerprints SSH contra a execução ativa. Ausência, diferença ou ambiguidade bloqueia.
|
|
18
18
|
- Quando a Task registrar autorização permanente e o `.env` da raiz contiver identificadores deliberados, descoberta somente de leitura pode derivar e registrar esse escopo antes da configuração; não exija JSON manual nem nova autorização. Fora desse contexto, credencial sem mandato e alvos delimitados permanece insuficiente.
|
|
19
19
|
- Autonomia autorizada pelo usuário começa somente após esse preflight. Não peça a mesma autorização novamente para recursos já delimitados: abrir portas aprovadas, alterar firewall, rotacionar chave, configurar DNS, criar/editar recursos e testar são autônomos dentro da arquitetura e do orçamento aprovados. Nova zona, conta, VPS, destino, plano, datacenter, teto de custo, recurso desconhecido ou efeito irreversível ainda não aprovado exige escopo atualizado.
|
|
20
|
-
- VPS 1 recebe somente ingress público Cloudflare
|
|
20
|
+
- Se o contrato de infraestrutura aprovado declarar a topologia de duas VPS, VPS 1 recebe somente ingress público Cloudflare e VPS 2 somente transporte privado autenticado da VPS 1 e administração permitida. Para outra topologia, derive limites de rede do contrato aprovado antes de agir; não crie uma segunda VPS por inferência. Redis, BullMQ, exporters, Grafana, Prometheus, Uptime Kuma e painéis não expõem DNS ou portas públicas. Produção e beta têm dados e redes independentes quando ambos os ambientes estiverem no escopo.
|
|
21
21
|
- O provider Hostinger não prova firewall, malha privada ou configuração de containers. Declare o executor e valide essas camadas por observação; não invente recursos ou campos de provider não verificados.
|
|
22
22
|
- Exija backend remoto com criptografia, versionamento e locking antes de apply compartilhado. Execute `fmt`, `validate`, plano revisado, apply do arquivo de plano e read-after-write. Nunca persista segredo, state, plano binário ou material de chave.
|
|
23
23
|
- Só declare infraestrutura funcional após evidência observada de DNS, TLS, health checks, portas privadas negadas e restauração. Sem acesso/execução observada, reporte apenas validação estática/local.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: RULE-PRODUCTION-READINESS
|
|
3
|
+
load: auto
|
|
4
|
+
priority: high
|
|
5
|
+
max_context_tokens: 850
|
|
6
|
+
requires:
|
|
7
|
+
- RULE-CORE
|
|
8
|
+
- RULE-AUTONOMY-DECISION
|
|
9
|
+
triggers: [prontidão, readiness, nota, estabilidade, qualificação, qualification, release]
|
|
10
|
+
phases: [planning, execution, verification, evidence]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Qualificação técnica essencial
|
|
14
|
+
|
|
15
|
+
- Para avaliações novas de PRD/SPEC/DAG/release, use o aceite binário `proportional-acceptance-v1` em `@zaip-ai/specs` e o contrato de `docs/quality/production-readiness.md`: origem, aplicabilidade, resultado, prova, responsável e parada por critério obrigatório. Falta de obrigatório bloqueia; melhoria opcional pendente não bloqueia. Não recalcule snapshots antigos sem migração explícita. A nota histórica é informativa, não gate adicional.
|
|
16
|
+
- Declare Windows como ambiente local obrigatório do candidato atual; Linux no GitHub é smoke remoto do pacote exato. Não crie Docker, WSL ou outro SO local para satisfazer preferência. Segurança e integridade aplicáveis permanecem gates.
|
|
17
|
+
- A API técnica de notas `technical-essential-v1` continua compatível, documentada em `docs/quality/production-readiness.md`. Notas 9 e 10 avaliam o candidato no escopo declarado de uso, plataformas e runtimes. Não exigem dias de observação nem contagem mínima de ciclos reais; não são garantia de ausência de defeitos nem certificação de estabilidade prolongada.
|
|
18
|
+
- Nota 9 exige todos os seis critérios: instalação/upgrade com preservação, comportamento principal, agentes/rastreabilidade, falha/retomada/idempotência, segurança/rollback/reaplicação e integridade/revisão independente. Critérios essenciais não admitem N/A. Nota 10 acrescenta concorrência, interrupção/recuperação de processo do projeto e carga representativa. N/A somente nesses extras, com justificativa técnica e revisão independente, exibido como N/A.
|
|
19
|
+
- Defina escopo antes dos testes. Prova ausente, falha impeditiva, candidato/ambiente incompatível ou revisão não independente impede aprovação. Não omita plataforma anunciada nem estreite escopo para apagar falha. O avaliador checa consistência: o chamador examina a Evidence real; fixtures não comprovam prontidão do produto.
|
|
20
|
+
- Teste o impacto durante implementação e qualifique a integração pertinente no candidato final. Reutilize preparo válido, repita testes afetados após correção e amplie conforme risco. Não imponha repetição sem motivo nem remova gates aplicáveis de segurança, distribuição, CI, assinatura ou lifecycle para acelerar.
|
|
21
|
+
- Para reuso de grupos rapid após recibo assinado, siga `docs/quality/v49-deploy-cache-controls.md`: prova versionada e revisada por grupo; promova falha como tombstone antes de retry, sem reaproveitar PASS anterior.
|
|
22
|
+
- Recuperação usa o perfil congelado e seu ledger. No padrão configurado `balanced`, mantenha até 3 replans (Sol/high, Sol/high, Astra/high) e 10 execuções totais; cada replan libera até 3 reparações. Continue automaticamente enquanto a recuperação for elegível, sem quarto replan, sem reset em retomada e sem contar testes/tool calls/relógio como tentativas. Preserve contratos `essential` e `persistent`.
|
|
23
|
+
- Falta real de autoridade, acesso ou informação essencial pode bloquear antes do esgotamento; não execute três tentativas inúteis. Bloqueio terminal registra causa, provas, tentativas e condição de retomada. Nunca reduza ACs para encerrar.
|
|
24
|
+
- A janela histórica permanece somente na API legada. Preserve auditorias antigas sem recalcular notas. Acompanhe incidentes e uso real separadamente; incidente impeditivo conhecido bloqueia aceite. Nota técnica, publicação e fechamento canônico são estados distintos.
|
|
@@ -14,6 +14,7 @@ phases: [execution, verification, evidence]
|
|
|
14
14
|
|
|
15
15
|
- Toda Execution tem raiz `zaip-agent-orchestrator`. Interaction read-only sem descendentes conclui após resposta sem executor/finalizador; delegada e delivery aguardam a árvore. Sucesso exige executor elegível ou raiz Task direta com `--direct-authorization` explícita desde captura e turno/modelo observados, além de Evidence e Gui. Gui pode avaliar bloqueio/falha sem executor; `executor_missing` impede completed, não o registro verdadeiro de inconclusão.
|
|
16
16
|
- Cada tentativa de Task tem um orquestrador responsável; ao terminar, concilia `completed`, `blocked`, `failed` ou `cancelled`. Falha de persistência mantém recibo recuperável, nunca sucesso fictício. Terminar executor não termina Task.
|
|
17
|
+
- Retomada pós-publicação exige manutenção e seu último Gui concluídos. O recibo na Change fixa autorização humana, Task/SPEC/Execution, revisões e provas; o consumo revalida publicação, ciclo e proprietário único. O handoff tipado preserva uma raiz ativa por invocação. A Task histórica exige Evidence, revisão aplicável e novo Gui.
|
|
17
18
|
- Se a raiz física já possui a Task, ela é esse responsável e despacha executor/revisor e Gui diretamente, sem Dave adicional. Uma raiz macro delega um orquestrador por Task; não cria outro proprietário para a mesma tentativa.
|
|
18
19
|
- Raiz física tem `run_role: orchestrator`, pai nulo/profundidade zero. Orquestrador de Task delegado preserva `run_role: subagent`, propósito `orchestration` e ancestralidade real; papel de agente não redefine raiz física.
|
|
19
20
|
- Em delivery e interaction delegada, o último filho é exatamente um Sub-Run do `zaip-agent-finalizer` do orquestrador responsável, irmão dos executores, nunca filho deles. Aguarda descendentes; sua barreira impede novos Sub-Runs. Fechamento parental é separado.
|
|
@@ -21,7 +22,7 @@ phases: [execution, verification, evidence]
|
|
|
21
22
|
- O resultado da Task é separado do status técnico da Run/Sub-Run: uma orquestração tecnicamente `completed` pode produzir Task `blocked` se gate, validação ou Evidence não passar.
|
|
22
23
|
- Gui read-only não precisa permanecer vivo esperando recibo. O host pode transmitir sua decisão real em `subagent capture --event stop` com `--task-outcome`, `--summary`, `--evidence` e `--changed-files`: a CLI autentica a identidade rica e persiste a decisão imutável antes de Stop/fechamento. Aceita Gui já terminal apenas enquanto o responsável está aberto; responsável fechado aceita somente replay da decisão já existente, não nova aprovação. Ausência de decisão continua fail-closed.
|
|
23
24
|
- Use `completed` somente com gates e Evidences aprovados; `blocked` para dependência externa, autoridade ou informação ausente, gate/teste pendente, falta de Evidence ou outra inconclusão após recuperação. Duração não determina abandono. Registre o motivo e a condição objetiva de retomada.
|
|
24
|
-
- Use `failed` somente para erro técnico ou de integridade
|
|
25
|
+
- Use `failed` somente para erro técnico ou de integridade impeditivo. Tempo, silêncio, escopo incompleto ou gate pendente não são falha técnica; inconclusões são `blocked`. `cancelled` exige pedido humano explícito. Nos fluxos que exigem Gui, o orquestrador terminaliza após sua conclusão.
|
|
25
26
|
- `blocked` retoma com `task resume`; `failed` exige `task rework` na mesma Task, incrementa a tentativa e inicia nova Run. A continuação não preserva Task em `executing` ou `verifying`; `completed` e `cancelled` são imutáveis.
|
|
26
27
|
- Run de SPEC/PRD não terminaliza o macro a cada turno/Task: o pai fica `active`, inclusive nos intervalos, até todas as Tasks terminarem; depois passa à Verificação e aos gates parentais.
|
|
27
28
|
- `run reconcile --open` é reparação manual: só ocorre após confirmação humana no popup Reconciliar, nunca ao abrir/atualizar o dashboard, em cada turno ou por intervalo. Fecha somente `task_complete` local exato; Run órfã sem invocação ativa por dez minutos falha tecnicamente; gates ausentes bloqueiam; conclusão e cancelamento nunca são inferidos.
|
|
@@ -5,8 +5,8 @@ priority: critical
|
|
|
5
5
|
max_context_tokens: 325
|
|
6
6
|
requires:
|
|
7
7
|
- RULE-CORE
|
|
8
|
-
triggers: [segurança, security, "security review", vulnerabilidade, credential, credencial]
|
|
9
|
-
domains: [segurança, security, vulnerabilidade, credential, credencial]
|
|
8
|
+
triggers: [segurança, security, "security review", vulnerabilidade, credential, credencial, login, autenticação, authentication, auth]
|
|
9
|
+
domains: [segurança, security, vulnerabilidade, credential, credencial, login, autenticação, authentication, auth]
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Segurança e infraestrutura canônicas
|
|
@@ -20,10 +20,11 @@ phases: [planning, execution, verification, evidence]
|
|
|
20
20
|
- Resolva verbo por alvo/status: `finalize|conclua|deixe pronto` em `draft|ready` significa `ready`; conclusão de implementação em `active` continua Tasks/gates; `execute` usa o menor grão nomeado. `implemente` sem alvo conversa; em draft finaliza plano, ready executa, active|blocked|failed continua/retoma/rework. `desenvolva|melhore|aprimore` planeja/refina/rework e requer nova promoção. PRD cancelado é imutável; sucessor draft usa `tags:[rework]` e `rework_of_prd_id`.
|
|
21
21
|
- `execute` é explícito/idempotente e materializa DAG antes da primeira mutação; `execution` inicia na tentativa mesmo sem diff, comprovado separadamente por `changed_files`/`result`. Pedido avulso de ação materializa/inicia Task, Change, Execution e Run raiz antes da mutação; só fica pronto se o usuário autorizou apenas planejamento/preparo. Refinamento draft é Git-native, incrementa `revision`/`updated_at`; após prepare gere revisão/rework, sem Task extra salvo pedido/resultado independente.
|
|
22
22
|
- Toda mudança de código tem Change antes da implementação; `change.md` registra plano, decisão, Evidence, eval, teste e resultado. Requirements são verdade funcional/técnica; Change aplica delta só após AC/Evidence. Task é trabalho executável, Execution tem snapshot DAG, invocação orquestradora é inicial, delegada é subagente e chamada LLM é evento observável.
|
|
23
|
-
- `RUN-*` identifica invocação física: raiz `orchestrator`, pai nulo/profundidade zero; filha `delegated`, pai/raiz/profundidade positiva, mesmo quando o agente filho orquestra uma Task. Task é a unidade de tentativa; PRD/SPEC coordenam dependências e aceite parental. `MCALL-*` pertence
|
|
23
|
+
- `RUN-*` identifica por padrão uma invocação física: raiz `orchestrator`, pai nulo/profundidade zero; filha `delegated`, pai/raiz/profundidade positiva, mesmo quando o agente filho orquestra uma Task. A exceção versionada de `spec execute` após definição terminal+Gui e autorização explícita observada cria um segmento lógico sucessivo da mesma invocação física, com claim e predecessor exatos; nunca dois proprietários ativos, turno inventado ou child sem spawn nativo. Task é a unidade de tentativa; PRD/SPEC coordenam dependências e aceite parental. `MCALL-*` pertence à invocação física; uso sem fronteira observável não é duplicado entre segmentos. Fechamento e retomada seguem `RULE-RUN-LIFECYCLE-CLOSURE`.
|
|
24
24
|
- Reconciliação global só após confirmação humana no popup, nunca abrir dashboard/turno/intervalo; usa `task_complete` exato ou falha órfã após dez minutos, sem inferir cancelamento/sucesso. Risco é `lite|standard|critical`; anexos só por risco/Evidence. Assurance V1: standalone lite uma validação/Evidence e teste só lógica/regressão; standard 2–3 validações, teste e Evidence consolidada; critical 3+ e quality review independente. Mutação, rollback, commit final e Evidence/AC dependem de sinais persistidos; sem sinal preserve gate conservador. SPEC/PRD adicionam matriz parental, 3 validações/Evidences, integração e revisão independente.
|
|
25
25
|
- Novos projetos usam `execution.runtime: codex_native`: a execução fica no host Codex, com subagentes nativos observados também para Task avulsa. Ausente/manual não invoca provider; `managed` e `autonomous` são contratos explícitos de compatibilidade, não o padrão da v4. Commit exige Task real e título: `[CODEX|CLAUDE] [P:XXXX] [S:XXXX] [T:XXXX]`, ou `[Task-first:XXXX]` sem PRD/SPEC. Assunto ≤96, título reduz por palavra, IDs completos em trailers `ZAIP-*`. Somente `.agents/records/**` e `.local/**` dispensam identidade; `.agents` inteira não. Nunca escolher última Task global. Política: `.agents/skills/zaip-skill-task/references/commit-policy.md`.
|
|
26
|
-
- Pedido explícito de deploy/push/publicação GitHub
|
|
26
|
+
- Pedido explícito de deploy/push/publicação GitHub segue `$zaip-skill-github-deploy` e `.agents/config/deploy-policy.json`. Resolva modo e escopo pelo pedido: `auto` publica Release + npm via Actions somente no builder verificado e faz commits + push no consumidor; `apenas commits` e `deploy com release` são overrides, não preferência permanente. `prepare`, discussão ou negação não publicam. Preserve trabalho, index, causalidade, SHA, integridade e autorização; nunca faça staging amplo, force, publique segredos ou inclua feature alheia. O procedimento de refs, checks, versão, rollback e publicação está na skill canônica; gates densos do pacote ficam na release, com testes por impacto antes dela, sem teto de relógio da Task.
|
|
27
27
|
- Executar uma entrega autoriza seu commit local via `task commit TASK --files PATH[,PATH] --run RUN` antes da prova final; preserve o index alheio e resolva sobreposição de autoria. Git, HEAD e identidade devem estar prontos antes de iniciar. Conversas não criam commits artificiais. `validation execute` usa o Node do host e script relativo versionado/revisado no SHA, sem código inline/loaders; a worktree comprova o candidato, não é sandbox do SO. Só essa prova separa alterações concorrentes da entrega intacta; registros manuais mantêm o gate conservador. Documento externo exige revisão identificada ou exportação versionada. Commit não autoriza push nem substitui revisão/finalizador.
|
|
28
|
-
- Ciclo de release: `.agents/config/release-cycle.json` define a versão `major.minor` corrente e `open|frozen
|
|
28
|
+
- Ciclo de release: `.agents/config/release-cycle.json` define a versão `major.minor` corrente e `open|frozen`; início exige alvo corrente, futuros ficam draft. Reconcilie frentes, encerre trabalho corrente, congele e audite SHA/main/branches/worktrees. Checks locais precedem push somente de `main`; CI verde no SHA precede Release. Nunca crie branch remota candidata. A exceção da coordenação exige Task crítica e IDs explícitos no frozen. Coordenação simples com escopos só de release conclui Task/Run antes de `audit`. Raiz delivery com `--integrated-task` registra `release_mode: integrated_task` e escopo da configuração; ou coordenação delegada de SPEC com ancestralidade/predecessores validados: nesses modos Task executando e Run ativa atravessam `audit`/`advance`, com records exigidos no SHA limpo e exclusão só da coordenação declarada. Após provas de publicação, complete Evidence/revisão aplicável/Gui e persista fechamento; metadata posterior não muda produto/tag. Avance só com Release/CI exatas e demais Tasks terminais; falha preserva bloqueio recuperável. Detalhes no guia 26, seção de ciclo corrente.
|
|
29
|
+
- Fechamento pós-publicação de uma Task histórica bloqueada usa somente `task recover-post-publication` e `task resume-post-publication` com recibo emitido pela Change da manutenção e prova imutável da publicação. O novo responsável recebe a Execution/SPEC original, revisões exatas e claim exclusivo; se a mesma invocação humana continuar após a manutenção terminada com Gui, o handoff tipado preserva ambas as raízes e seus turnos observados. O ciclo já avançado permanece aberto na versão corrente, sem novo grant, refreeze, reetiquetagem de SHA, produto novo ou segunda publicação. Task histórica não recebe claim de escrita de produto; apenas records e o avanço já comprovado podem integrar o fechamento. Guie-se pelo contrato canônico de recuperação da skill execution.
|
|
29
30
|
- Plano visível: `DEFINE:` contexto/resultado/critério, `PLAN:` ciclo/DAG, `EXECUTE:` mudança, `VERIFY:` valida/Evidence/encerra; não use artefato como fase nem narre comandos internos. Registre decisão humana/IA com origem junto de Change/Execution; derive ledger do Git diff e preserve alterações do usuário. Estado novo fica em `.agents/records/<kind>/<ano>/<mês>`; diário, `.agents/data` e V1 são legado só leitura até migração explícita.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
5.0.0
|