@zaip-ai/cli 3.8.0 → 4.1.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/README.md +5 -5
- package/dist/services/adapters.d.ts +1 -1
- package/dist/services/adapters.d.ts.map +1 -1
- package/dist/services/adapters.js +11 -6
- package/dist/services/adapters.js.map +1 -1
- package/dist/services/agent-adapters.js +1 -1
- package/dist/services/agent-adapters.js.map +1 -1
- package/dist/services/backup-gitignore.d.ts +9 -0
- package/dist/services/backup-gitignore.d.ts.map +1 -0
- package/dist/services/backup-gitignore.js +66 -0
- package/dist/services/backup-gitignore.js.map +1 -0
- package/dist/services/backup-gitignore.test.d.ts +2 -0
- package/dist/services/backup-gitignore.test.d.ts.map +1 -0
- package/dist/services/backup-gitignore.test.js +27 -0
- package/dist/services/backup-gitignore.test.js.map +1 -0
- package/dist/services/codex-config-template.d.ts +2 -2
- package/dist/services/codex-config-template.d.ts.map +1 -1
- package/dist/services/codex-config-template.js +4 -3
- package/dist/services/codex-config-template.js.map +1 -1
- package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
- package/dist/services/codex-conversation-lifecycle-hook.js +15 -7
- package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.js +10 -11
- package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.test.d.ts +2 -0
- package/dist/services/codex-pre-tool-hook-template.test.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-hook-template.test.js +33 -0
- package/dist/services/codex-pre-tool-hook-template.test.js.map +1 -0
- 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 +3 -0
- package/dist/services/codex-subagent-hook-template.js.map +1 -1
- package/dist/services/codex-windows-hook-command.d.ts +3 -0
- package/dist/services/codex-windows-hook-command.d.ts.map +1 -0
- package/dist/services/codex-windows-hook-command.js +10 -0
- package/dist/services/codex-windows-hook-command.js.map +1 -0
- package/dist/services/codex-windows-hook-command.test.d.ts +2 -0
- package/dist/services/codex-windows-hook-command.test.d.ts.map +1 -0
- package/dist/services/codex-windows-hook-command.test.js +44 -0
- package/dist/services/codex-windows-hook-command.test.js.map +1 -0
- package/dist/services/global-codex-config.d.ts.map +1 -1
- package/dist/services/global-codex-config.js +27 -13
- package/dist/services/global-codex-config.js.map +1 -1
- package/dist/services/global-codex-config.test.js +27 -2
- package/dist/services/global-codex-config.test.js.map +1 -1
- package/dist/services/install-agents-template.d.ts.map +1 -1
- package/dist/services/install-agents-template.js +43 -127
- package/dist/services/install-agents-template.js.map +1 -1
- package/dist/services/install-template-policy.d.ts.map +1 -1
- package/dist/services/install-template-policy.js +2 -0
- package/dist/services/install-template-policy.js.map +1 -1
- package/dist/services/legacy-records-migration.d.ts +15 -0
- package/dist/services/legacy-records-migration.d.ts.map +1 -0
- package/dist/services/legacy-records-migration.js +109 -0
- package/dist/services/legacy-records-migration.js.map +1 -0
- package/dist/services/local-state-migration.d.ts +8 -1
- package/dist/services/local-state-migration.d.ts.map +1 -1
- package/dist/services/local-state-migration.js +67 -32
- package/dist/services/local-state-migration.js.map +1 -1
- package/dist/services/logger.d.ts.map +1 -1
- package/dist/services/logger.js +2 -0
- package/dist/services/logger.js.map +1 -1
- package/dist/services/project-model-migration.d.ts +3 -0
- package/dist/services/project-model-migration.d.ts.map +1 -0
- package/dist/services/project-model-migration.js +163 -0
- package/dist/services/project-model-migration.js.map +1 -0
- package/dist/services/project-model-migration.test.d.ts +2 -0
- package/dist/services/project-model-migration.test.d.ts.map +1 -0
- package/dist/services/project-model-migration.test.js +62 -0
- package/dist/services/project-model-migration.test.js.map +1 -0
- package/dist/services/template-manifest.d.ts.map +1 -1
- package/dist/services/template-manifest.js +2 -0
- package/dist/services/template-manifest.js.map +1 -1
- package/dist/services/transactional-files.d.ts +1 -0
- package/dist/services/transactional-files.d.ts.map +1 -1
- package/dist/services/transactional-files.js +3 -0
- package/dist/services/transactional-files.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/README-ENG.md +88 -32
- package/templates/.agents/README.md +57 -30
- package/templates/.agents/config/agents/discovery.json +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +1 -1
- package/templates/.agents/config/project.yaml +21 -7
- package/templates/.agents/dashboard/.zaip-managed.json +184 -112
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-D2PL4UOu.js → CostCalculationGuidePage-f4ZGJRg3.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-CocoP9CA.js → DashboardHelpDialog-DlN5EMmD.js} +238 -124
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-D255_hNf.js → PricingSettingsDialog-v9zGRTlk.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-BRdoeTWk.js +3 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-BTFSLQ69.js → TraceabilityWorkspace-B_5u4Xnp.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{cost-monitor-BsMfGfQi.css → cost-monitor-C2AFYBu_.css} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-D7PrDZy9.js +68 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-058lag33.js → dashboard-localization-CF7B1Hjn.js} +88 -32
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-DeFPiN32.js → icons-vendor-Cv3WBFIF.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-C4rLXrz_.js +2 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-BIWcbEAc.js → react-vendor-mHgsmxb6.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-fZZL0ohD.js → traceability-B0CPyEVq.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +6 -6
- package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/AppDashboardContent.tsx +11 -1
- package/templates/.agents/dashboard/apps/frontend/src/AppLoadingBoundary.tsx +3 -2
- package/templates/.agents/dashboard/apps/frontend/src/AppLoadingPanels.tsx +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/AppOverlays.tsx +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +9 -13
- package/templates/.agents/dashboard/apps/frontend/src/cost-monitor-population.test.tsx +4 -2
- package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +9 -5
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-api-settings.ts +3 -2
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +2 -2
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-identity.test.ts +3 -3
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-identity.ts +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-localization.test.ts +2 -1
- package/templates/.agents/dashboard/apps/frontend/src/operations-period-render.test.ts +40 -3
- package/templates/.agents/dashboard/apps/frontend/src/project-settings-model.ts +12 -1
- package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +19 -0
- package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.test.ts +3 -1
- package/templates/.agents/dashboard/apps/frontend/src/use-dashboard-app-model.tsx +14 -23
- package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.test.ts +3 -3
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.tsx +2 -3
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostDeveloperAttributionTable.tsx +2 -6
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.period-values.test.tsx +66 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.tsx +29 -34
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.embedded.test.ts +11 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +1 -13
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostPeriodAverageCards.test.tsx +23 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostPeriodAverageCards.tsx +2 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTableDisplay.ts +6 -11
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +6 -6
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +10 -12
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-group-page-totals.ts +23 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-group-period-values.tsx +34 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-embedded.css +0 -7
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-formatters.ts +4 -9
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-presentation.ts +2 -3
- package/templates/.agents/dashboard/modules/operations/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/src/react/DeveloperAttributionPanel.tsx +2 -12
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.helpers.tsx +2 -2
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +1 -6
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +34 -36
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewCharts.tsx +12 -3
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewTopPanel.tsx +12 -14
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +4 -4
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageOverview.tsx +23 -4
- package/templates/.agents/dashboard/modules/operations/src/react/OverviewCostKpi.tsx +30 -2
- package/templates/.agents/dashboard/modules/operations/src/react/TaskDetailsDialog.tsx +2 -13
- package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.priority.test.ts +8 -1
- package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.tsx +8 -16
- package/templates/.agents/dashboard/modules/operations/src/react/WorkColumnState.tsx +34 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.test.ts +1 -1
- package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.ts +1 -1
- package/templates/.agents/dashboard/modules/operations/src/react/operations-average-unmeasured.test.ts +10 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-content-visibility.ts +3 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-coverage-toast.test.ts +4 -3
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +12 -1
- package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +1 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-skeleton.css +80 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations.css +2 -11
- package/templates/.agents/dashboard/modules/operations/src/react/overview-cost-card.test.tsx +36 -0
- package/templates/.agents/dashboard/modules/operations/src/react/overview-metric-format.test.ts +11 -0
- package/templates/.agents/dashboard/modules/operations/src/react/overview-metric-format.ts +28 -3
- package/templates/.agents/dashboard/modules/operations/src/react/overview-metric-stats.ts +44 -0
- package/templates/.agents/dashboard/modules/operations/src/react/work-card-label.ts +5 -0
- package/templates/.agents/dashboard/modules/operations/src/react/work-column-state.ts +11 -0
- package/templates/.agents/dashboard/modules/operations/src/react/work-item-filter.ts +13 -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 +157 -157
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +153 -153
- package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +159 -159
- package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.test.ts +31 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +74 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/server-identity.test.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.test.ts +25 -3
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.ts +51 -16
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/server-ui-security.ts +37 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-workspace.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +11 -33
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuild.ts +12 -13
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.test.ts +71 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.ts +141 -25
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-worktree-sources.test.ts +60 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-rebuild-fingerprint-options.ts +13 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.mjs +26 -2
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.test.mjs +5 -0
- package/templates/.agents/dashboard/packages/ui/package.json +1 -1
- package/templates/.agents/dashboard/packages/ui/src/DashboardHeader.test.mjs +5 -0
- package/templates/.agents/dashboard/packages/ui/src/DashboardHeader.tsx +4 -4
- package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/playwright.config.ts +4 -0
- package/templates/.agents/dashboard/tests/e2e/specs/dashboard-performance-matrix.spec.ts +4 -4
- package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +1 -1
- package/templates/.agents/dashboard/tests/e2e/specs/performance-work-row-identity.ts +6 -0
- package/templates/.agents/design/.zaip-managed.json +13 -9
- package/templates/.agents/design/apps/catalog/dist/assets/index-DkpQYoyC.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/index.html +1 -1
- package/templates/.agents/design/apps/catalog/package.json +1 -1
- package/templates/.agents/design/apps/catalog/src/components/CostPopulationSpecimen.test.tsx +8 -4
- package/templates/.agents/design/apps/catalog/src/components/CostPopulationSpecimen.tsx +10 -3
- package/templates/.agents/design/apps/catalog/src/components/DashboardFiltersSpecimen.tsx +0 -15
- package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +3 -3
- package/templates/.agents/design/apps/catalog/src/stories/DashboardFilters.stories.tsx +0 -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/autonomy-decision.md +2 -2
- package/templates/.agents/rules/workflow.md +1 -1
- package/templates/.agents/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +65 -54
- 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-executar-fila-pronta/SKILL.md +7 -7
- package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.mjs +32 -7
- package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.test.mjs +134 -1
- package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-lease.mjs +57 -0
- package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/scheduled-ready-queue-contract.test.mjs +9 -6
- package/templates/.agents/skills/zaip-skill-execution/SKILL.md +1 -1
- package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +2 -2
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +18 -6
- package/templates/.agents/skills/zaip-skill-instalar-agendamento/SKILL.md +2 -2
- package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +6 -0
- package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +47 -5
- package/templates/.agents/zaip-aios/README.md +4 -4
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/.agents/zaip-aios/guides/01-primeiros-passos.md +4 -3
- package/templates/.agents/zaip-aios/guides/03-tasks.md +5 -4
- package/templates/.agents/zaip-aios/guides/04-specs.md +4 -1
- package/templates/.agents/zaip-aios/guides/05-prds.md +7 -3
- package/templates/.agents/zaip-aios/guides/06-execucao.md +9 -4
- package/templates/.agents/zaip-aios/guides/09-agentes-e-squads.md +9 -5
- package/templates/.agents/zaip-aios/guides/11-observabilidade-e-custos.md +10 -2
- package/templates/.agents/zaip-aios/guides/12-instalacao-e-upgrade.md +10 -5
- package/templates/.agents/zaip-aios/guides/13-boas-praticas.md +12 -1
- package/templates/.agents/zaip-aios/guides/14-troubleshooting.md +3 -1
- package/templates/.agents/zaip-aios/guides/16-lifecycle-e-reconciliacao.md +12 -7
- package/templates/.agents/zaip-aios/guides/17-como-o-custo-e-calculado.md +1 -1
- package/templates/.agents/zaip-aios/guides/18-catalogo-de-agentes.md +4 -0
- package/templates/.agents/zaip-aios/guides/19-assurance-e-autonomia.md +19 -15
- package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +12 -8
- package/templates/.agents/zaip-aios/guides/21-telemetria-monitor-custos.md +4 -3
- package/templates/.agents/zaip-aios/guides/22-fluxos-e-roteamento.md +9 -7
- package/templates/.agents/zaip-aios/guides/23-orquestracao-de-modelos.md +38 -22
- package/templates/.agents/zaip-aios/guides/24-calculo-de-custos-openai.md +1 -1
- package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +14 -5
- package/templates/.agents/zaip-aios/guides/27-telemetria-git-native.md +6 -0
- package/templates/.agents/zaip-aios/guides/28-lifecycle-completo.md +129 -11
- package/templates/template-manifest.json +270 -186
- package/templates/tsconfig.base.json +22 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-0f_x2TzJ.js +0 -3
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-zhY2JoLc.js +0 -68
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-Dh95Yodm.js +0 -2
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-D7PrDZy9.js";import{t as r}from"./dashboard-localization-CF7B1Hjn.js";var i=`# Primeiros passos
|
|
2
2
|
|
|
3
3
|
1. Leia \`.agents/config/project.yaml\` e \`.agents/rules/core.md\`.
|
|
4
4
|
2. Consulte \`.agents/records/lifecycle/\` para descobrir o estado atual pelos manifests canônicos.
|
|
5
5
|
3. Classifique a entrada: Conversation, Task avulsa, SPEC ou PRD. Pergunta/análise read-only é Conversation e não cria Task.
|
|
6
6
|
4. Carregue somente Rules, Requirements e skills aplicaveis.
|
|
7
7
|
5. Defina aceite verificavel antes de editar.
|
|
8
|
-
6. Antes de escrita persistente, inicie Task, Change, Execution e Run raiz do orquestrador
|
|
8
|
+
6. Antes de escrita persistente, inicie Task, Change, Execution e Run raiz do orquestrador. Na v4, Task avulsa usa executor subagente nativo Codex; Conversation read-only não delega. Respeite os gates de fechamento; teste e registre evidências no ciclo ativo.
|
|
9
9
|
|
|
10
10
|
Evite varrer \`.agents/records/\`: abra um record apenas quando possuir seu ID.
|
|
11
11
|
|
|
12
|
-
Para PRD/SPEC, diferencie conversa de criação: “me ajude a pensar” não cria artefato; “crie” persiste o pacote \`draft\` completo e sua telemetria. Faça até cinco perguntas críticas por turno, no máximo três turnos; depois registre decisões delegáveis da IA. Tasks reais só nascem em \`ready|execute\`.
|
|
12
|
+
Para PRD/SPEC, diferencie conversa de criação: “me ajude a pensar” não cria artefato; “crie” persiste o pacote \`draft\` completo e sua telemetria. “Crie e execute” pode concluir ambos no mesmo turno Codex com Runs separadas. Faça até cinco perguntas críticas por turno, no máximo três turnos; depois registre decisões delegáveis da IA. Tasks reais só nascem em \`ready|execute\`. Pedido de ação sem macro explícito segue Task avulsa, mesmo se for crítico; recomende macro sem promovê-lo sozinho.
|
|
13
13
|
|
|
14
14
|
Para os novos controles, leia [perfis de autonomia](19-assurance-e-autonomia.md)
|
|
15
15
|
e [modelos](23-orquestracao-de-modelos.md): perfil não ativa provider nem migra
|
|
16
|
-
Tasks legadas. O principal avulso mantém sua seleção;
|
|
16
|
+
Tasks legadas. O principal avulso mantém sua seleção; o ZAIP define modelo e
|
|
17
|
+
effort dos filhos, que precisam ser observados no host. O [contrato-alvo v4](28-lifecycle-completo.md#contrato-aprovado-para-a-v4-a-implementar-e-qualificar) ainda não certifica o runtime atual.
|
|
17
18
|
`,a=`# Requirements
|
|
18
19
|
|
|
19
20
|
Use Requirement para uma obrigacao duravel e testavel.
|
|
@@ -48,9 +49,10 @@ Em PRD/SPEC \`draft\`, a lista visível vem dos blueprints do PreparedPlan e nã
|
|
|
48
49
|
|
|
49
50
|
## Modelo, effort e velocidade
|
|
50
51
|
|
|
51
|
-
Conversation e o principal de Task avulsa preservam a seleção manual do Codex
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
Conversation e o principal de Task avulsa preservam a seleção manual do Codex.
|
|
53
|
+
Conversation read-only não usa subagente; toda Task avulsa usa executor
|
|
54
|
+
subagente nativo no contrato-alvo v4, com modelo/effort selecionados pelo
|
|
55
|
+
ZAIP e execução produtiva sequencial. A exceção de Astra manual
|
|
54
56
|
no Essencial só vale para o principal avulso. A seleção automática solicita
|
|
55
57
|
velocidade \`standard\`; Fast manual não é herdado pelo fluxo gerenciado.
|
|
56
58
|
|
|
@@ -58,7 +60,7 @@ velocidade \`standard\`; Fast manual não é herdado pelo fluxo gerenciado.
|
|
|
58
60
|
|
|
59
61
|
[Autonomia](19-assurance-e-autonomia.md) é por Task estável: Essencial 4/1,
|
|
60
62
|
Equilibrado 10/3, Persistente ilimitado (execuções/replanejamentos).
|
|
61
|
-
Reiniciar, retomar ou mudar o YAML não zera a quota. \`attempt_count\` do lifecycle
|
|
63
|
+
No Equilibrado, os planos novos usam Sol → Sol → Astra. Reiniciar, retomar ou mudar o YAML não zera a quota. \`attempt_count\` do lifecycle
|
|
62
64
|
e reservas de execução do diário não são o mesmo contador.
|
|
63
65
|
Falta de prova termina \`blocked\`; erro técnico impeditivo comprovado termina
|
|
64
66
|
\`failed\`. Não diminua ACs nem use duração como critério de desistência.
|
|
@@ -75,7 +77,7 @@ Use SPEC quando a entrega exige varias Tasks ou uma ordem de dependencia.
|
|
|
75
77
|
7. Mapeie cada Requirement para Tasks e evidencias.
|
|
76
78
|
8. Valide a SPEC antes de iniciar execucao; bloqueie stack ausente, divergente ou sem versoes exatas e fontes existentes.
|
|
77
79
|
9. Ao iniciar a primeira Task, mantenha a SPEC em Execucao entre todas as Runs filhas; resultado terminal de uma Task nao terminaliza a SPEC.
|
|
78
|
-
10.
|
|
80
|
+
10. Feche todas as Tasks da DAG, inclusive dependentes inviabilizadas, antes de decidir o status parental; somente com todas concluídas rode verificação e Evidence parentais para \`deliver\`.
|
|
79
81
|
|
|
80
82
|
Uma SPEC planeja a entrega; nao autoriza mudancas externas por si so.
|
|
81
83
|
|
|
@@ -93,6 +95,9 @@ filho direto. Gates parentais continuam separados.
|
|
|
93
95
|
|
|
94
96
|
Se um nó ficar bloqueado/falhado, continue somente ramos independentes
|
|
95
97
|
elegíveis; não repita nós concluídos nem libere dependentes sem conclusão.
|
|
98
|
+
Ao encerrar a rodada macro, dependentes impossíveis recebem bloqueio terminal
|
|
99
|
+
com causa, não permanecem \`planned\` indefinidamente. Só Tasks de DAG
|
|
100
|
+
planejada com escopos independentes podem paralelizar.
|
|
96
101
|
A política gerenciada não intercepta chamadas nativas externas do Codex.
|
|
97
102
|
Não ative outra forma de execução nem migre estados legados implicitamente.
|
|
98
103
|
`,c=`# PRDs
|
|
@@ -107,16 +112,17 @@ Use PRD para uma iniciativa de produto com multiplas capacidades ou SPECs.
|
|
|
107
112
|
6. Relacione riscos, rollout, observabilidade e rollback.
|
|
108
113
|
7. Monte a DAG e confirme que todo aceite possui evidencia planejada.
|
|
109
114
|
8. Mantenha PRD e SPECs selecionadas em Execucao enquanto restar trabalho; Runs filhas fecham Tasks, nao o macro.
|
|
110
|
-
9.
|
|
115
|
+
9. Decida status terminal somente depois de todas as Tasks da DAG terminarem, inclusive dependentes inviabilizadas; entregue apenas com todas concluídas, integração, outcomes e gates parentais.
|
|
111
116
|
|
|
112
117
|
## Intenções
|
|
113
118
|
|
|
114
119
|
- “Me ajude a pensar sobre um PRD”: Conversation, sem artefato.
|
|
115
120
|
- “Crie um PRD”: até cinco perguntas críticas por turno e no máximo três turnos; depois persiste PRD, SPECs e PreparedPlan \`draft\`, vincula a Run e o \`creation_run_id\` ao macro e não cria Tasks reais. Duração, tokens e custo só são agregados quando observados ou reconciliados.
|
|
121
|
+
- “Crie e execute um PRD”: no mesmo turno Codex, crie o macro em uma Run de definição e execute a DAG em outra Run de delivery vinculada; não converta a primeira em execução.
|
|
116
122
|
- “Deixe pronto para executar” ou “finalize/conclua esse PRD” em \`draft\`: lapida, valida e materializa SPECs/Tasks/Changes/Execution como \`ready|planned\`, sem executar.
|
|
117
123
|
- “Execute esse PRD”: executa todas as SPECs selecionadas. Pedido dirigido a SPEC ou Task usa o menor grão.
|
|
118
|
-
- “Implemente”: sem
|
|
119
|
-
- “Desenvolva/melhore/aprimore”:
|
|
124
|
+
- “Implemente”: sem PRD/SPEC explicitamente solicitado, trate o objetivo de ação como Task avulsa; macro \`draft\` só executa com intenção explícita de executar aquele macro; em \`ready\` executa; em \`active|blocked|failed\` continua, retoma ou cria rework.
|
|
125
|
+
- “Desenvolva/melhore/aprimore”: preserve a intenção e o alvo; mudança independente explicitamente pedida executa como Task avulsa, enquanto mero planejamento/refino não promove o macro.
|
|
120
126
|
|
|
121
127
|
PRD cancelado permanece imutável. Novo planejamento cria sucessor \`draft\`, tag \`rework\` e \`rework_of_prd_id\`.
|
|
122
128
|
|
|
@@ -144,6 +150,9 @@ filho direto. Gates parentais continuam separados.
|
|
|
144
150
|
|
|
145
151
|
Se um nó ficar bloqueado/falhado, continue somente ramos independentes
|
|
146
152
|
elegíveis; não repita nós concluídos nem libere dependentes sem conclusão.
|
|
153
|
+
Antes de decidir o status do PRD, feche com causa os dependentes
|
|
154
|
+
inviabilizados e confirme todos os resultados terminais; nunca entregue por
|
|
155
|
+
sucesso isolado de um ramo. Paralelismo exige DAG e escopos independentes.
|
|
147
156
|
A política gerenciada não intercepta chamadas nativas externas do Codex.
|
|
148
157
|
Não ative outra forma de execução nem migre estados legados implicitamente.
|
|
149
158
|
`,l=`# Execucao
|
|
@@ -170,12 +179,14 @@ Quando a entrega requer observação, siga o contrato de
|
|
|
170
179
|
o registro descreve o resultado declarado e seus limites, mas não executa o
|
|
171
180
|
procedimento nem aprova o AC sozinho.
|
|
172
181
|
|
|
173
|
-
\`execute\` respeita o menor grão nomeado: Task executa um nó elegível; SPEC executa sua DAG; PRD executa todas as SPECs selecionadas. “Conclua a execução” ou “finalize a implementação” em trabalho ativo continua Tasks e gates, mas nunca força sucesso. “Desenvolva/melhore/aprimore”
|
|
182
|
+
\`execute\` respeita o menor grão nomeado: Task executa um nó elegível; SPEC executa sua DAG; PRD executa todas as SPECs selecionadas. “Conclua a execução” ou “finalize a implementação” em trabalho ativo continua Tasks e gates, mas nunca força sucesso. “Desenvolva/melhore/aprimore” com ação independente segue Task avulsa; quando o pedido é só refinar macro, não o promove.
|
|
174
183
|
|
|
175
184
|
## Modelo, effort e velocidade por origem
|
|
176
185
|
|
|
177
|
-
- Conversation e o principal avulso preservam a seleção manual.
|
|
178
|
-
|
|
186
|
+
- Conversation e o principal avulso preservam a seleção manual. Conversation
|
|
187
|
+
read-only não delega; Task avulsa usa subagente nativo Codex no alvo v4. O
|
|
188
|
+
ZAIP escolhe modelo/esforço de cada filho e bloqueia se o host não puder
|
|
189
|
+
atender à configuração exigida. Não paralelize trabalho produtivo avulso.
|
|
179
190
|
- Fast para execução de produto é suportado somente em Task-first realmente independente e deve ser selecionado manualmente no Codex.
|
|
180
191
|
- Executions originadas por SPEC ou PRD usam sempre velocidade \`standard\`, inclusive em todas as Tasks, Runs e Sub-Runs descendentes.
|
|
181
192
|
- O ZAIP não ativa, persiste ou herda Fast por skill, hook, PreparedPlan ou override de Execution.
|
|
@@ -187,7 +198,10 @@ Aplique o diário e o preset do [guia 19](19-assurance-e-autonomia.md) antes
|
|
|
187
198
|
do despacho gerenciado. Não gere tentativas por tempo nem reexecute gates
|
|
188
199
|
caros inalterados para preencher uma cota.
|
|
189
200
|
|
|
190
|
-
|
|
201
|
+
No Equilibrado v4, reserve no máximo três replans reais por Task: Sol/high,
|
|
202
|
+
Sol/high e Astra/high. A tentativa atual deve terminar em estado terminal;
|
|
203
|
+
o fechamento direcionado pode ser recuperado no próximo evento Codex, sem
|
|
204
|
+
prometer execução após o host parar. O host persiste a decisão real do Gui antes do Stop canônico e aplica a mesma
|
|
191
205
|
decisão no fechamento. Gui read-only pode retornar sem aguardar recibos;
|
|
192
206
|
o relay aceita filho já terminal enquanto o responsável estiver aberto.
|
|
193
207
|
Sem decisão, preserve a pendência; não infira aprovação do status nativo.
|
|
@@ -293,15 +307,19 @@ coordena um responsável por tentativa de Task e seus gates parentais próprios.
|
|
|
293
307
|
- Centralize decisoes arquiteturais e integracao no responsavel adequado.
|
|
294
308
|
- Exija caminhos de evidencia e resultados de comandos, nao declaracoes de
|
|
295
309
|
conclusao.
|
|
296
|
-
- Use paralelismo apenas
|
|
310
|
+
- Use paralelismo produtivo apenas em DAG de PRD/SPEC planejada com Tasks
|
|
311
|
+
independentes e write scopes/recursos compatíveis; Task avulsa é sequencial.
|
|
297
312
|
- Escale bloqueios de autoridade, credencial, seguranca ou escopo; nao suponha
|
|
298
313
|
permissao externa.
|
|
299
314
|
|
|
300
|
-
|
|
301
|
-
|
|
315
|
+
No contrato-alvo v4, toda Task avulsa delega execução a um subagente nativo
|
|
316
|
+
Codex. O ZAIP escolhe modelo/esforço dos filhos, que podem diferir da seleção
|
|
317
|
+
manual do principal. Se o host não puder aplicar/confirmar a configuração,
|
|
318
|
+
bloqueie com causa; não substitua por chat independente nem por executor
|
|
319
|
+
cerimonial.
|
|
302
320
|
[Essencial nunca escala automaticamente para Astra](23-orquestracao-de-modelos.md).
|
|
303
|
-
A exigência
|
|
304
|
-
|
|
321
|
+
A exigência de executor elegível para delivery permanece: não invente captura
|
|
322
|
+
para aprovar gates. Execução direta é somente compatibilidade legada.
|
|
305
323
|
`,p=`# Segurança dos perfis Codex ZAIP-AIOS
|
|
306
324
|
|
|
307
325
|
## Visão geral
|
|
@@ -568,6 +586,12 @@ Run é o envelope da chamada do \`zaip-agent-orchestrator\`; \`parent_run_id\` n
|
|
|
568
586
|
|
|
569
587
|
A criação explícita de PRD/SPEC vincula a Run de definição e o \`creation_run_id\` ao macro. Duração, tokens e custo aparecem no PRD/SPEC antes de existirem Tasks somente quando houver fonte capturada ou derivação identificada por proveniência. Um valor \`estimated\`, \`legacy_inferred\` ou \`reconciled\` não é dado observado e não comprova medição da chamada. Quando duração, tokens ou custo não foram capturados, eles permanecem explicitamente indisponíveis (\`null\`/\`unavailable\`); nunca atribua telemetria ausente nem transforme ausência em zero. Pensar sem criar permanece apenas em Conversas.
|
|
570
588
|
|
|
589
|
+
No contrato visual da v4, a **interface** do Dashboard mostra \`0\` em cards e
|
|
590
|
+
células numéricas depois de carregar, inclusive para valor canônico \`null\`,
|
|
591
|
+
sem exibir “Indisponível” nesses lugares. Cobertura e tooltip distinguem
|
|
592
|
+
“sem medição” de zero observado; skeleton representa loading. API, records,
|
|
593
|
+
exportações e contas preservam \`null\`/cobertura, sem somar esse zero visual.
|
|
594
|
+
|
|
571
595
|
## Contagem de autonomia e consultas compactas
|
|
572
596
|
|
|
573
597
|
### Leitura dos números do Dashboard
|
|
@@ -588,7 +612,8 @@ descrição acessível explicam a quantidade de Runs precificadas e a cobertura.
|
|
|
588
612
|
O subtítulo apresenta taxas estimadas de alocação: subtotal conhecido dividido pelo
|
|
589
613
|
número de tarefas e pelas horas registradas do mesmo recorte. Isso não estima os
|
|
590
614
|
custos faltantes nem representa a média de custos completos das tarefas. Cada
|
|
591
|
-
denominador indisponível ou zero deixa
|
|
615
|
+
denominador indisponível ou zero deixa a taxa canônica sem valor; a UI v4
|
|
616
|
+
mostra \`0\` com indicação “sem medição” quando for ausência. Não completar
|
|
592
617
|
as Runs desconhecidas com zero nem apresentar o subtotal como gasto integral.
|
|
593
618
|
Um subtotal observado igual a zero é diferente de ausência total de medição.
|
|
594
619
|
SPECs/PRDs usam seus agregados próprios, não recebem o subtotal global de Tasks.
|
|
@@ -599,7 +624,8 @@ provedor normaliza aliases de Codex tanto na atividade quanto nos segmentos de
|
|
|
599
624
|
uso; isso não altera identidade nem preços nos registros canônicos.
|
|
600
625
|
|
|
601
626
|
Enquanto uma consulta de médias está pendente, a interface mostra carregamento,
|
|
602
|
-
não zero.
|
|
627
|
+
não zero. Depois da resposta, zero observado e ausência de captura mostram o
|
|
628
|
+
mesmo numeral \`0\`, mas são estados distintos pela cobertura.
|
|
603
629
|
A validação deve comparar API, linhas, rodapé e exportação no mesmo período,
|
|
604
630
|
moeda e filtro. Um processo saudável não comprova que o snapshot foi atualizado;
|
|
605
631
|
confirme também a revisão, a data da fonte e o estado da projeção.
|
|
@@ -667,18 +693,23 @@ Os manuais instalados ficam em \`.agents/README.md\` (português) e
|
|
|
667
693
|
Os READMEs da raiz pertencem ao projeto consumidor e são preservados.
|
|
668
694
|
As versões geradas em \`public-cli/packages/cli/templates\` vêm das fontes canônicas.
|
|
669
695
|
|
|
670
|
-
|
|
671
|
-
\`execution.runtime:
|
|
696
|
+
O candidato local v4 mantém a seleção do principal em \`manual\` e configura
|
|
697
|
+
\`execution.runtime: codex_native\` para PRD/SPEC e Tasks avulsas, com
|
|
672
698
|
\`autonomy: { version: 1, preset: balanced }\`. São controles diferentes:
|
|
673
699
|
instalar/salvar o preset não inicia provider. O [guia 19](19-assurance-e-autonomia.md)
|
|
674
700
|
explica Essencial, Equilibrado e Persistente; o [guia 23](23-orquestracao-de-modelos.md)
|
|
675
|
-
detalha
|
|
676
|
-
|
|
677
|
-
|
|
701
|
+
detalha a rota v4 Sol/high → Sol/high → Astra/high e sua execução elegível no
|
|
702
|
+
terceiro bloco. Schema e template v4 já aceitam Codex-native; o TGZ e a
|
|
703
|
+
execução real no host ainda exigem qualificação antes da publicação. O Essencial
|
|
704
|
+
nunca usa Astra automático. Principal avulso preserva a seleção manual; filhos
|
|
705
|
+
seguem a seleção ZAIP validada no host. Projetos e estados legados
|
|
678
706
|
não recebem migração silenciosa de quotas.
|
|
679
707
|
|
|
680
708
|
\`@latest\` entrega o que está publicado no npm. Uma atualização local das fontes ou
|
|
681
709
|
um pacote validado localmente só chegará a esse comando após publicação.
|
|
710
|
+
Na v4, a instalação limpa e a atualização devem comprovar \`doctor\`, adapters,
|
|
711
|
+
preservação do conteúdo do consumidor e execução Codex-native por Task antes
|
|
712
|
+
de se anunciar esse padrão como funcional.
|
|
682
713
|
Consulte [instalação detalhada](20-instalacao-detalhada.md) e
|
|
683
714
|
[qualificação do pacote](26-qualidade-e-release.md).
|
|
684
715
|
`,g=`# Boas praticas
|
|
@@ -696,14 +727,25 @@ Consulte [instalação detalhada](20-instalacao-detalhada.md) e
|
|
|
696
727
|
- Em delivery/interação delegada, use Gui como último filho do responsável e
|
|
697
728
|
concilie a Task; conversa read-only sem filhos não precisa desse circuito.
|
|
698
729
|
- Nao terminalize SPEC/PRD por causa do resultado isolado de uma Task filha.
|
|
699
|
-
-
|
|
730
|
+
- Reconciliação global permanece manual; no alvo v4, concilie a tentativa
|
|
731
|
+
atual no fechamento/Stop observado ou no próximo evento Codex idempotente,
|
|
732
|
+
sem varredura global ou promessa de execução após o host parar.
|
|
700
733
|
- Use uma SPEC por padrão; divida somente capacidades realmente independentes e paralelizáveis.
|
|
734
|
+
- Task avulsa usa subagente Codex e execução produtiva sequencial; só uma DAG
|
|
735
|
+
de PRD/SPEC pode paralelizar Tasks independentes.
|
|
736
|
+
- “Crie” PRD/SPEC fica \`draft\`; “crie e execute” pode avançar no mesmo turno,
|
|
737
|
+
com Runs separadas de definição e delivery.
|
|
738
|
+
- A fila horária, quando instalada a pedido, seleciona um único macro/Task
|
|
739
|
+
superior \`ready\`, com prioridade PRD → SPEC independente → Task avulsa e
|
|
740
|
+
ordenação manual dentro da classe.
|
|
701
741
|
- Não crie Tasks durante definição: mostre blueprints compactos e materialize somente em \`ready|execute\`.
|
|
702
742
|
- Resolva verbos de lifecycle pelo alvo e status persistido, nunca por palavra isolada.
|
|
703
743
|
|
|
704
744
|
- Prefira uma investigação útil a repetir a mesma hipótese; conte reservas reais
|
|
705
745
|
pelo preset da Task, não por duração ou quantidade de testes.
|
|
706
746
|
- Não transforme tempo decorrido em falha nem incompletude em aprovação.
|
|
747
|
+
- Após o loading, cards/tabelas numéricas mostram \`0\` para métrica ausente,
|
|
748
|
+
com cobertura “sem medição”; records e API preservam \`null\`.
|
|
707
749
|
- Preserve o diário de autonomia; ele não é cache. Veja [guia 19](19-assurance-e-autonomia.md).
|
|
708
750
|
`,_=`# Troubleshooting
|
|
709
751
|
|
|
@@ -714,7 +756,7 @@ Consulte [instalação detalhada](20-instalacao-detalhada.md) e
|
|
|
714
756
|
5. Compare \`manifest.json\`, \`summary.json\`, índices e chunks de \`records/lifecycle\`, sem varrer records.
|
|
715
757
|
6. Corrija a causa, repita a reproducao e depois os gates completos.
|
|
716
758
|
|
|
717
|
-
Se uma Task estiver presa em executing/verifying, use o popup Reconciliar. O reparo aceita \`task_complete\` exato, marca Run orfa apos dez minutos como failed e usa blocked quando faltam gates; nunca infere cancelamento.
|
|
759
|
+
Se uma Task estiver presa em executing/verifying, use o popup Reconciliar para o backlog global. O reparo aceita \`task_complete\` exato, marca Run orfa apos dez minutos como failed e usa blocked quando faltam gates; nunca infere cancelamento. A v4 deve conciliar a tentativa **atual** no fechamento ou próximo evento Codex da mesma Task, sem varredura global automática na abertura do dashboard. Se o host parou e não houve novo evento, relate a pendência em vez de dizer que ela ainda está executando.
|
|
718
760
|
|
|
719
761
|
Se o problema for de instalacao ou integridade, consulte \`framework.lock.yaml\`.
|
|
720
762
|
|
|
@@ -728,6 +770,8 @@ Se “finalizar” tentou entregar um PRD \`draft\`, confira adapters/skills: o
|
|
|
728
770
|
| \`RECOVERY_PENDING\` | Localize a reserva e resultado real; não despache outra invocação nem apague o diário |
|
|
729
771
|
| \`ATTEMPT_BUDGET_EXHAUSTED\` / \`REPLAN_BUDGET_EXHAUSTED\` | Confira o preset congelado e consumo; registre o resultado parcial sem reset |
|
|
730
772
|
| \`REPLAN_INCOMPLETE\` | Plano inválido não libera reparação; preserve a reserva consumida |
|
|
773
|
+
| Segundo replan escalou para Astra no Equilibrado v4 | Divergência de política: a rota aprovada é Sol → Sol → Astra; confira ledger, catálogo e modelo observado |
|
|
774
|
+
| Perfil nativo não suporta modelo/effort exigido | Bloqueie com causa; não substitua silenciosamente nem conclua por prompt |
|
|
731
775
|
| Gui terminou sem recibo de início | Capture o evento real e use relay suportado com responsável aberto; não invente decisão |
|
|
732
776
|
| Responsável já fechado sem decisão | Recuperação autorizada/nova tentativa; reconciliação repetida não cria aprovação |
|
|
733
777
|
| Perfil Essencial tentou Astra automático | Rejeite a seleção; não trate fallback/herança como autorização |
|
|
@@ -746,7 +790,7 @@ falha do produto. Veja [autonomia](19-assurance-e-autonomia.md) e
|
|
|
746
790
|
- SPEC: planejamento tecnico de multiplas Tasks; draft fica em Planejamento.
|
|
747
791
|
- PRD: definicao de produto; draft fica em Definicao.
|
|
748
792
|
|
|
749
|
-
Pensar/explorar PRD ou SPEC é Conversation. Criar explicitamente persiste macro, SPECs e PreparedPlan \`draft\`, atribui telemetria e mantém apenas blueprints de Tasks. \`ready\`
|
|
793
|
+
Pensar/explorar PRD ou SPEC é Conversation. Criar explicitamente persiste macro, SPECs e PreparedPlan \`draft\`, atribui telemetria e mantém apenas blueprints de Tasks. \`ready\` materializa Tasks/Changes/Execution sem iniciar; \`execute\` materializa e inicia. “Crie e execute” cabe no mesmo turno Codex com Runs canônicas separadas de definição (\`interaction\`) e delivery, ligadas pelo alvo; criar isoladamente não promove a \`ready\`.
|
|
750
794
|
|
|
751
795
|
## Colunas
|
|
752
796
|
|
|
@@ -782,9 +826,12 @@ Gui ainda pode registrar bloqueio/falha real, mas \`executor_missing\` impede
|
|
|
782
826
|
alternativa, sem dispensar os demais gates. \`conversation finish\` e \`run finish\` usam o mesmo escritor
|
|
783
827
|
canônico, preservando a decisão imutável, os vínculos e o replay idempotente.
|
|
784
828
|
|
|
785
|
-
## Execução direta autorizada
|
|
829
|
+
## Execução direta legada autorizada
|
|
786
830
|
|
|
787
|
-
A Task avulsa
|
|
831
|
+
A Task avulsa do contrato legado preferia o principal direto. A v4
|
|
832
|
+
substitui essa preferência por executor subagente nativo observado para toda
|
|
833
|
+
Task avulsa, com orquestração sequencial. Enquanto o caminho legado existir,
|
|
834
|
+
o host registra a referência humana
|
|
788
835
|
com \`--direct-authorization REFERÊNCIA\` em \`conversation start\` ou \`run start\`,
|
|
789
836
|
desde o início de uma raiz Task/Change/Execution observada. Thread, modelo ou
|
|
790
837
|
classificação de intenção não são autorização por si só. Modelo/esforço manuais
|
|
@@ -797,11 +844,11 @@ necessários. Raízes antigas fechadas não recebem nova aprovação retroativa.
|
|
|
797
844
|
|
|
798
845
|
\`blocked\` e retomavel com \`task resume\`; \`failed\` exige \`task rework\` na mesma Task e nova tentativa. \`completed\` e \`cancelled\` sao imutaveis. Interromper geracao bloqueia; cancelar a Task explicitamente cancela.
|
|
799
846
|
|
|
800
|
-
\`finalize|conclua\` em macro \`draft|ready\` significa lapidar e deixar pronto; em trabalho ativo, “conclua a execução/finalize a implementação” continua Tasks e gates. \`implemente\` é sensível ao estado; \`desenvolva|melhore|aprimore\`
|
|
847
|
+
\`finalize|conclua\` em macro \`draft|ready\` significa lapidar e deixar pronto; em trabalho ativo, “conclua a execução/finalize a implementação” continua Tasks e gates. \`implemente\` é sensível ao estado; na v4, \`desenvolva|melhore|aprimore\` com objetivo independente de ação seguem Task avulsa, enquanto pedidos de refinamento do macro permanecem em planejamento/rework. PRD cancelado gera sucessor vinculado com tag \`rework\`.
|
|
801
848
|
|
|
802
849
|
## SPEC e PRD
|
|
803
850
|
|
|
804
|
-
Ao iniciar a primeira Task filha, os pais ficam active/Execucao e permanecem assim entre Runs. Task bloqueada ou falhada nao bloqueia automaticamente o pai.
|
|
851
|
+
Ao iniciar a primeira Task filha, os pais ficam active/Execucao e permanecem assim entre Runs. Task bloqueada ou falhada nao bloqueia automaticamente o pai enquanto ramos independentes continuam. Antes de fechar SPEC/PRD, **todas** as Tasks da DAG, inclusive dependentes inviabilizadas, precisam de resultado terminal persistido. Só o conjunto concluído entra em verificação para entrega; bloqueios/falhas produzem decisão parental verdadeira depois do fechamento das filhas. Gates de integração, Acceptance Criteria, outcomes e Evidence continuam obrigatórios para \`delivered\`.
|
|
805
852
|
|
|
806
853
|
Observações declaradas seguem o contrato de
|
|
807
854
|
[prova observável](../../skills/zaip-skill-change/references/observable-evidence.md).
|
|
@@ -811,7 +858,7 @@ Novas SPECs de um PRD não possuem dependências entre si: são capacidades para
|
|
|
811
858
|
|
|
812
859
|
## Reconciliacao
|
|
813
860
|
|
|
814
|
-
O popup Reconciliar chama \`run reconcile --open\` somente depois da confirmacao humana. Nao existe varredura ao abrir o dashboard, por turno ou por intervalo.
|
|
861
|
+
O popup Reconciliar chama \`run reconcile --open\` somente depois da confirmacao humana. Nao existe varredura **global** ao abrir o dashboard, por turno ou por intervalo. O contrato-alvo v4 acrescenta conciliação idempotente **direcionada à tentativa atual** no Stop/fechamento observado ou no próximo evento Codex da mesma Task. Nenhum hook continua rodando após o host parar; não alegue recuperação invisível.
|
|
815
862
|
|
|
816
863
|
O reparo e idempotente: \`task_complete\` local exato permite tentar conclusao; gate insuficiente usa blocked; Run sem invocacao ativa por dez minutos usa failed; cancelled nunca e inferido. Projecoes exibem o status persistido e nao revivem Task terminal por atividade local obsoleta.
|
|
817
864
|
|
|
@@ -844,7 +891,9 @@ A CLI autentica vínculos e persiste a decisão imutável antes do Stop canônic
|
|
|
844
891
|
- Se a persistência falhar, mantenha evento/erro recuperável e condição objetiva;
|
|
845
892
|
não declare que o estado canônico mudou antes de lê-lo.
|
|
846
893
|
|
|
847
|
-
A política
|
|
894
|
+
A política legada preferia Task avulsa direta, mas a v4 Codex-native passa a
|
|
895
|
+
exigir executor subagente nativo em trabalho novo. Para compatibilidade antiga,
|
|
896
|
+
uma raiz de delivery com Task, Change,
|
|
848
897
|
Execution, turno e modelo observados pode registrar \`--direct-authorization\`
|
|
849
898
|
no início. Esse contrato imutável satisfaz a alternativa ao executor capturado,
|
|
850
899
|
sem criar Sub-Run fictício nem converter retrospectivamente uma raiz antiga.
|
|
@@ -871,7 +920,7 @@ O modelo e o tier de serviço efetivamente observados, quando disponíveis, defi
|
|
|
871
920
|
| Cache | \`cache / 1.000.000 × tarifa de cache\` |
|
|
872
921
|
| Output | \`output / 1.000.000 × tarifa de output\` |
|
|
873
922
|
|
|
874
|
-
O dashboard soma esses componentes uma única vez. Quando a identidade do modelo/tier, os tokens necessários ou uma tarifa do catálogo versionado não existem, o custo permanece
|
|
923
|
+
O dashboard soma esses componentes uma única vez. Quando a identidade do modelo/tier, os tokens necessários ou uma tarifa do catálogo versionado não existem, o custo canônico permanece \`null\` em vez de ser inventado. No contrato visual v4, card/célula carregado mostra \`0\` com cobertura “sem medição”; esse numeral não entra na soma.
|
|
875
924
|
|
|
876
925
|
## 3. Considere contexto, velocidade e esforço
|
|
877
926
|
|
|
@@ -882,11 +931,11 @@ O esforço não possui multiplicador direto de preço. Ele só pode aumentar o c
|
|
|
882
931
|
## 4. Converta para a moeda selecionada
|
|
883
932
|
|
|
884
933
|
O total da chamada é calculado primeiro em USD. Em BRL, a estimativa exige uma cotação identificada; a cotação histórica registrada e a cotação corrente são fontes distintas. Mudar a moeda de exibição nunca altera a telemetria de tokens nem o cálculo em USD.
|
|
885
|
-
`,x='# Catálogo de agentes\n\n`.agents/config/agents/catalog.yaml` é a única fonte canônica dos agentes ZAIP. Adapters Codex e Claude são projeções geradas: depois de qualquer alteração no catálogo, execute `node packages/cli/dist/index.js adapters build` e valide com `node packages/cli/dist/index.js adapters check --json`.\n\n## Identidade técnica e persona\n\nCada agente possui identidade técnica estável: `id` e `codex_name`. A persona editável é `persona.nome` e `persona.cargo`, ambos em snake_case. Ela produz, sem crescimento entre invocações, o `codex_task_name` e exatamente um candidato idêntico:\n\n```text\ncodex_task_name = "{nome}_{cargo}_zaip_agent"\nnickname_candidates = ["{nome}_{cargo}_zaip_agent"]\n```\n\nO schema e a API rejeitam um task name ou nickname manual, múltiplos candidatos ou valores que não sejam a derivação acima. O Dashboard omite esses campos no payload e envia somente a persona; uma edição de persona preserva a identidade técnica. Snapshots de Run usam a identidade de catálogo observada e não inventam persona.\n\n## Agentes canônicos\n\n| person | função | zaip-agent | codex_task_name | descrição resumida da função | quando chamar | quando não chamar | palavras-chave importantes para acionar agent |\n| --- | --- | --- | --- | --- | --- | --- |\n| Dave | Product Owner | `zaip-agent-orchestrator` | `dave_product_owner_zaip_agent` | Organiza a entrega, resolve a DAG e delega com menor privilégio. | Trabalho executável com mais de uma etapa ou especialista. | Implementação direta, revisão ou aprovação. | `orchestration`, `dag`, `delegation`, `lifecycle` |\n| Rafa | Tech Lead | `zaip-agent-builder` | `rafa_tech_lead_zaip_agent` | Cria/refina SPECs e executa delivery genérico, inclusive dashboard/local. | Definição técnica ou mudança sem especialista mais específico. | PRD, design central, website, frontend ou backend especializados. | `spec`, `architecture`, `decomposition`, `dashboard`, `local` |\n| Leo | Software Engineer | `zaip-agent-task-executor` | `leo_software_engineer_zaip_agent` | Executa Task genérica delimitada, inclusive dashboard/local, e produz evidência. | Task pronta, autocontida e sem escopo de especialista obrigatório. | Planejamento macro, coordenação ou revisão independente. | `task`, `implementation`, `verification`, `evidence`, `local` |\n| Bia | Product Manager | `zaip-agent-analyst` | `bia_product_manager_zaip_agent` | Cria/refina PRDs e analisa interações sem antecipar Tasks de delivery. | Problema de produto, PRD, descoberta, escopo ou refinamento. | SPEC, implementação, aprovação técnica ou deploy. | `prd`, `product`, `discovery`, `requirements`, `problem` |\n| Gui | Quality Assurance Lead | `zaip-agent-finalizer` | `gui_quality_assurance_lead_zaip_agent` | Avalia a barreira final e emite somente o resultado terminal permitido. | Último filho do responsável em delivery ou interaction delegada; não em conversa read-only sem filhos. | Antes de executor/revisor terminar ou para corrigir código. | `finalization`, `terminal`, `barrier`, `task-finalizer` |\n| Nanda | Principal Engineer | `zaip-agent-reviewer` | `nanda_principal_engineer_zaip_agent` | Revisa Requirements, diff, testes e evidências sem mutar produto. | Mudança implementada que precisa de revisão independente. | Para implementar a própria correção ou integrar worktrees. | `review`, `findings`, `requirements`, `diff` |\n| Dani | Integration Engineer | `zaip-agent-integrator` | `dani_integration_engineer_zaip_agent` | Integra trabalho revisado e executa gates combinados. | Worktrees ou mudanças independentes já revisadas. | Antes da revisão ou para criar requisitos. | `integration`, `merge`, `combined-gates`, `worktree` |\n| Ana | Quality Auditor | `zaip-agent-auditor` | `ana_quality_auditor_zaip_agent` | Reproduz evidências e emite auditoria independente. | Risco alto, release ou alegação que exige reprodução final. | Implementação, correção ou autoria da evidência. | `audit`, `reproduce`, `release`, `quality` |\n| Lia | Technical Writer | `zaip-agent-writer` | `lia_technical_writer_zaip_agent` | Produz resumo fiel, análise de transcrição com timestamps e documentação grounded em fontes. | Resumo delimitado, transcrição timestampada ou documentação com fontes declaradas. | Pesquisa sem fontes, decisão de produto ou afirmações não suportadas. | `summary`, `transcript`, `timestamps`, `source-grounding`, `documentation` |\n| Gabi | Data Analyst | `zaip-agent-data-analyst` | `gabi_data_analyst_zaip_agent` | Analisa datasets delimitados com método, incerteza e reprodução. | Métricas, dados estruturados ou diagnóstico quantitativo. | Sem dados, para implementar produto ou editar dashboard. | `data`, `metrics`, `analysis`, `dataset` |\n| Tati | Refactoring Specialist | `zaip-agent-refactoring-specialist` | `tati_refactoring_specialist_zaip_agent` | Planeja e executa refactors, migrações e modularização com inventário, mapa, slices reversíveis e gates. | Refactor, migração, arquitetura, modularização ou inventário de código. | Mudança pontual sem refactor, UI central de design ou deploy. | `refactor`, `migration`, `modularization`, `inventory`, `refactor-map`, `rollback` |\n| Doug | Frontend Specialist | `zaip-agent-frontend` | `doug_frontend_specialist_zaip_agent` | Implementa somente `apps/frontend/**`, acessibilidade e integração conforme `DESIGN.md`. | `apps/frontend/**` ou capability explícita de frontend. | Dashboard/local, website institucional, backend ou regra central de design. | `frontend`, `ui`, `accessibility`, `visual-contract` |\n| Will | Backend Specialist | `zaip-agent-backend` | `will_backend_specialist_zaip_agent` | Implementa backend, APIs, persistência e integrações. | `apps/backend/**`, `modules/**` ou capability de backend. | Frontend, website ou design visual central. | `backend`, `api`, `persistence`, `integration` |\n| Jonny | Website Developer | `zaip-agent-website-developer` | `jonny_website_developer_zaip_agent` | Cria sites/LPs com stack do framework, SEO, GEO e acesso por agentes. | `apps/site/**`, site institucional, LP, SEO, GEO ou Markdown for Agents. | App de produto, backend ou mudança da regra central de design. | `website`, `landing-page`, `seo`, `geo`, `markdown-for-agents`, `agent-readiness` |\n| Manu | Product Designer | `zaip-agent-designer` | `manu_product_designer_zaip_agent` | Governa `DESIGN.md`, design tokens (cor, tipografia, espaçamento e raio), componentes centrais e páginas de catálogo digital. | Regra central de design, Design System, tokens, `design-system` ou `componentes`. | Word, PPT, imagem de marketing ou componente local que apenas consome regras existentes. | `design-system`, `design.md`, `tokens`, `central-components`, `componentes` |\n| Dan | Cloud Engineer | `zaip-agent-cloud-engineer` | `dan_cloud_engineer_zaip_agent` | Projeta e valida infraestrutura cloud declarada. | Infraestrutura cloud, provisionamento, containers, Terraform ou Docker. | Implementação de aplicação, deploy ou infraestrutura fora do escopo declarado. | `cloud`, `terraform`, `docker`, `provisioning` |\n| Luiz | Security Auditor | `zaip-agent-security-auditor` | `luiz_security_auditor_zaip_agent` | Audita segurança de forma independente e somente leitura. | Auditoria de segurança, mudança sensível ou release que exige avaliação independente. | Implementação, autoria de remediação ou deploy. | `security`, `audit`, `risk`, `release` |\n| Lucia | Marketing Analyst | `zaip-agent-marketing-analyst` | `lucia_marketing_analyst_zaip_agent` | Planeja marketing, copy, campanhas e briefs de imagem com evidência. | Estratégia de marketing, campanha, copy de landing page ou brief de imagem. | Implementação de produto, backend ou governança central de design. | `marketing`, `copy`, `campaign`, `image-brief` |\n| Sarah | Branding Specialist | `zaip-agent-brand-strategist` | `sarah_branding_specialist_zaip_agent` | Define e governa plataforma de marca, Brandbook, posicionamento, arquétipos, diferencial semântico e arquitetura de marca com evidências. | Estratégia ou governança de marca, Brandbook, posicionamento, arquétipos, arquitetura de marca ou consistência de identidade como decisão principal. | Aplicação rotineira de marca aprovada, campanha, script comercial, análise quantitativa bruta ou documento geral sem decisão de marca. | `branding`, `brandbook`, `positioning`, `archetypes`, `semantic-differential`, `brand-architecture` |\n| Robert | Growth Strategist | `zaip-agent-growth-strategist` | `robert_growth_strategist_zaip_agent` | Orienta estratégia de crescimento, RevOps, experimentos, receita, custos e recomendações executivas baseadas em dados. | Estratégia de negócio, Growth, RevOps, modelo de negócio, priorização de portfólio ou impacto financeiro como decisão principal. | Campanha ou conteúdo, Brandbook, playbook comercial, validação quantitativa bruta ou ato comercial externo. | `growth`, `revops`, `experimentation`, `revenue`, `cost-optimization`, `business-strategy` |\n| Aaron | Sales Specialist | `zaip-agent-sales-specialist` | `aaron_sales_specialist_zaip_agent` | Cria processos, playbooks, qualificação, scripts, enablement e handoffs comerciais internos. | Metodologia comercial, qualificação, negociação preparada, processo SDR/closer, script, playbook ou handoff de pipeline. | Estratégia de Growth/RevOps, campanha ou copy de marketing, governança de marca, análise bruta de dados, política jurídica ou ato comercial externo. | `sales`, `qualification`, `sales-playbook`, `sales-script`, `sdr`, `closer`, `pipeline-handoff` |\n| Clara | Operations Generalist | `zaip-agent-general-operations` | `clara_operations_generalist_zaip_agent` | Executa artefatos operacionais delimitados fora de escopos especialistas: documentos, apresentações, planilhas, processos e comparativos. | Documento, apresentação, planilha, processo ou pesquisa comparativa sem capability especialista obrigatória. | Produto, design-system, marketing, dados, segurança, cloud, jurídico vinculante ou ato externo. | `operations`, `document`, `presentation`, `spreadsheet`, `process`, `comparison` |\n| Renata | Governance Compliance Specialist | `zaip-agent-governance-compliance` | `renata_governance_compliance_specialist_zaip_agent` | Prepara artefatos internos não vinculantes de RH, jurídico operacional, política, privacidade, fornecedores e risco. | Minuta, checklist, matriz de risco ou pacote interno de aprovação sem ato externo. | Parecer jurídico vinculante, assinatura, representação, protocolo, contratação ou decisão humana. | `governance`, `compliance`, `hr`, `legal-operations`, `privacy`, `vendor`, `risk` |\n\n## Squads organizacionais\n\nO catálogo contém 23 agentes agrupados visualmente em seis squads: **Product** (3), **Admin & Operations** (3), **Development** (6), **Delivery Assurance** (4), **Infra & Security** (2) e **Growth — Sales, Marketing and Branding** (5). A soma é 23.\n\nOs squads facilitam a leitura organizacional e a colaboração humana. Eles não são uma fonte de roteamento: `selectAgentForWork` continua a escolher o agente exclusivamente pelas capabilities mandatórias, escopos explícitos, prioridade e ID; cada agente conserva seus write scopes e permissões.\n\n## Roteamento determinístico\n\n`selectAgentForWork` deriva uma capacidade mandatória a partir de escopos explícitos antes de aplicar a seleção ordenada por prioridade e ID.\n\n- `.agents/design/*`, `.agents/design/**`, `DESIGN.md`, `tokens.json`, `apps/catalog/**` ou capability explícita de Design System/tokens/componentes/páginas seleciona Manu. Manu é a regra visual central; Doug somente a consome em `apps/frontend/**`.\n- `apps/site/**` ou capability explícita `website-delivery`, SEO, GEO, Markdown for Agents ou Agent Readiness seleciona Jonny.\n- `apps/frontend/**` seleciona Doug quando a capability é frontend; `apps/backend/**` e `modules/**` selecionam Will quando a capability é backend.\n- Capabilities de governança, RH, jurídico operacional, políticas, privacidade, fornecedores ou riscos selecionam Renata. Ela prepara o pacote revisável e a ação humana necessária, mas não executa ato vinculante ou externo.\n- Capabilities de plataforma ou governança de marca, Brandbook, posicionamento, arquitetura de marca, arquétipos ou diferencial semântico selecionam Sarah. Ela governa a identidade e encaminha aplicação de design system para Manu e ativação de marketing para Lucia.\n- Capabilities de estratégia de Growth, RevOps, experimentação, receita, custo, funil, unit economics ou recomendação executiva selecionam Robert. Dados quantitativos delimitados continuam com Gabi, e processos comerciais internos com Aaron.\n- Capabilities de metodologia comercial, qualificação, playbooks, scripts, SDR, closer ou handoff de pipeline selecionam Aaron. Ele não realiza ato comercial externo nem substitui Sarah, Lucia, Robert ou Gabi em suas fronteiras especializadas.\n- Capabilities de documentos, apresentações, planilhas, processos e comparativos — ou trabalho delimitado sem capability explícita e sem escopo obrigatório — selecionam Clara como fallback operacional contínuo.\n- Um diretório chamado `components` fora dos alvos canônicos não aciona Manu. O orquestrador usa a capability solicitada e os write scopes da Task.\n- `.agents/dashboard/**` e `.local/**` não selecionam Doug nem Manu: permanecem com Rafa ou Leo até que a Task declare um escopo obrigatório; artefatos operacionais não técnicos podem selecionar Clara.\n\nO orquestrador mantém a Run raiz e cada Run delegada separadas na observabilidade. Duração, tokens e custo só são agregados quando observados ou reconciliados; ausência continua indisponível, nunca zero.\n\nO dispatch autônomo passa os `Task.write_scopes` a essa seleção **por Task** e persiste o builder escolhido na entrada de cada Task. Assim uma DAG com frontend e backend usa Doug e Will nas respectivas invocações, sem transformar a seleção de uma Task em builder global. A seleção é determinística, mas não concede autoridade: o agente ainda precisa respeitar seus write scopes e permissões do catálogo.\n\nO `budget.soft_cycles` também acompanha o agente selecionado por Task e governa seu checkpoint suave. Tokens continuam observados para telemetria e custo, mas não interrompem nem exigem checkpoint. Para comparar agentes, use `zaip run aggregate --agent agent-ID`; o resultado inclui duração coberta, ciclos de uso observados, tokens, custo, cobertura e Runs de rework.\n\nNanda (`agent-reviewer`) usa `gpt-6-sol` com esforço `medium` e `soft_cycles: 12`, proporcional à revisão standard. Ana (`agent-auditor`) usa `gpt-6-sol`/`high` para auditoria crítica ou explicitamente auditável; Luiz (`agent-security-auditor`) usa `gpt-6-sol`/`high` para auditoria de segurança explícita.\n\n## Dashboard e segurança operacional\n\nA tela **Configurações > Catálogo de agentes** apresenta a persona e mantém a identidade técnica somente leitura. Ao salvar, o runtime valida o catálogo, deriva o único nickname, sincroniza adapters e reverte a escrita se a paridade falhar. Agentes de framework permitem alteração de persona e preferências de modelo/effort; propósito, capacidades e identidade técnica continuam protegidos.\n\n## Preset e configuração efetivamente executada\n\nDefaults do catálogo não comprovam modelo/effort efetivos. Com `autonomy-v1`,\no preset e a seleção final do despacho gerenciado também são validados:\nEssencial veda Astra automático e não herda a exceção manual do principal.\nInforme ao usuário a delegação necessária e a possibilidade de modelos\ndiferentes. Mantenha indisponível o que o host não informou.\nConsulte [modelos](23-orquestracao-de-modelos.md) e [autonomia](19-assurance-e-autonomia.md).\n',S=`# Assurance adaptativa e perfis de autonomia
|
|
934
|
+
`,x='# Catálogo de agentes\n\n`.agents/config/agents/catalog.yaml` é a única fonte canônica dos agentes ZAIP. Adapters Codex e Claude são projeções geradas: depois de qualquer alteração no catálogo, execute `node packages/cli/dist/index.js adapters build` e valide com `node packages/cli/dist/index.js adapters check --json`.\n\n## Identidade técnica e persona\n\nCada agente possui identidade técnica estável: `id` e `codex_name`. A persona editável é `persona.nome` e `persona.cargo`, ambos em snake_case. Ela produz, sem crescimento entre invocações, o `codex_task_name` e exatamente um candidato idêntico:\n\n```text\ncodex_task_name = "{nome}_{cargo}_zaip_agent"\nnickname_candidates = ["{nome}_{cargo}_zaip_agent"]\n```\n\nO schema e a API rejeitam um task name ou nickname manual, múltiplos candidatos ou valores que não sejam a derivação acima. O Dashboard omite esses campos no payload e envia somente a persona; uma edição de persona preserva a identidade técnica. Snapshots de Run usam a identidade de catálogo observada e não inventam persona.\n\n## Agentes canônicos\n\n| person | função | zaip-agent | codex_task_name | descrição resumida da função | quando chamar | quando não chamar | palavras-chave importantes para acionar agent |\n| --- | --- | --- | --- | --- | --- | --- |\n| Dave | Product Owner | `zaip-agent-orchestrator` | `dave_product_owner_zaip_agent` | Organiza a entrega, resolve a DAG e delega com menor privilégio. | Trabalho executável com mais de uma etapa ou especialista. | Implementação direta, revisão ou aprovação. | `orchestration`, `dag`, `delegation`, `lifecycle` |\n| Rafa | Tech Lead | `zaip-agent-builder` | `rafa_tech_lead_zaip_agent` | Cria/refina SPECs e executa delivery genérico, inclusive dashboard/local. | Definição técnica ou mudança sem especialista mais específico. | PRD, design central, website, frontend ou backend especializados. | `spec`, `architecture`, `decomposition`, `dashboard`, `local` |\n| Leo | Software Engineer | `zaip-agent-task-executor` | `leo_software_engineer_zaip_agent` | Executa Task genérica delimitada, inclusive dashboard/local, e produz evidência. | Task pronta, autocontida e sem escopo de especialista obrigatório. | Planejamento macro, coordenação ou revisão independente. | `task`, `implementation`, `verification`, `evidence`, `local` |\n| Bia | Product Manager | `zaip-agent-analyst` | `bia_product_manager_zaip_agent` | Cria/refina PRDs e analisa interações sem antecipar Tasks de delivery. | Problema de produto, PRD, descoberta, escopo ou refinamento. | SPEC, implementação, aprovação técnica ou deploy. | `prd`, `product`, `discovery`, `requirements`, `problem` |\n| Gui | Quality Assurance Lead | `zaip-agent-finalizer` | `gui_quality_assurance_lead_zaip_agent` | Avalia a barreira final e emite somente o resultado terminal permitido. | Último filho do responsável em delivery ou interaction delegada; não em conversa read-only sem filhos. | Antes de executor/revisor terminar ou para corrigir código. | `finalization`, `terminal`, `barrier`, `task-finalizer` |\n| Nanda | Principal Engineer | `zaip-agent-reviewer` | `nanda_principal_engineer_zaip_agent` | Revisa Requirements, diff, testes e evidências sem mutar produto. | Mudança implementada que precisa de revisão independente. | Para implementar a própria correção ou integrar worktrees. | `review`, `findings`, `requirements`, `diff` |\n| Dani | Integration Engineer | `zaip-agent-integrator` | `dani_integration_engineer_zaip_agent` | Integra trabalho revisado e executa gates combinados. | Worktrees ou mudanças independentes já revisadas. | Antes da revisão ou para criar requisitos. | `integration`, `merge`, `combined-gates`, `worktree` |\n| Ana | Quality Auditor | `zaip-agent-auditor` | `ana_quality_auditor_zaip_agent` | Reproduz evidências e emite auditoria independente. | Risco alto, release ou alegação que exige reprodução final. | Implementação, correção ou autoria da evidência. | `audit`, `reproduce`, `release`, `quality` |\n| Lia | Technical Writer | `zaip-agent-writer` | `lia_technical_writer_zaip_agent` | Produz resumo fiel, análise de transcrição com timestamps e documentação grounded em fontes. | Resumo delimitado, transcrição timestampada ou documentação com fontes declaradas. | Pesquisa sem fontes, decisão de produto ou afirmações não suportadas. | `summary`, `transcript`, `timestamps`, `source-grounding`, `documentation` |\n| Gabi | Data Analyst | `zaip-agent-data-analyst` | `gabi_data_analyst_zaip_agent` | Analisa datasets delimitados com método, incerteza e reprodução. | Métricas, dados estruturados ou diagnóstico quantitativo. | Sem dados, para implementar produto ou editar dashboard. | `data`, `metrics`, `analysis`, `dataset` |\n| Tati | Refactoring Specialist | `zaip-agent-refactoring-specialist` | `tati_refactoring_specialist_zaip_agent` | Planeja e executa refactors, migrações e modularização com inventário, mapa, slices reversíveis e gates. | Refactor, migração, arquitetura, modularização ou inventário de código. | Mudança pontual sem refactor, UI central de design ou deploy. | `refactor`, `migration`, `modularization`, `inventory`, `refactor-map`, `rollback` |\n| Doug | Frontend Specialist | `zaip-agent-frontend` | `doug_frontend_specialist_zaip_agent` | Implementa somente `apps/frontend/**`, acessibilidade e integração conforme `DESIGN.md`. | `apps/frontend/**` ou capability explícita de frontend. | Dashboard/local, website institucional, backend ou regra central de design. | `frontend`, `ui`, `accessibility`, `visual-contract` |\n| Will | Backend Specialist | `zaip-agent-backend` | `will_backend_specialist_zaip_agent` | Implementa backend, APIs, persistência e integrações. | `apps/backend/**`, `modules/**` ou capability de backend. | Frontend, website ou design visual central. | `backend`, `api`, `persistence`, `integration` |\n| Jonny | Website Developer | `zaip-agent-website-developer` | `jonny_website_developer_zaip_agent` | Cria sites/LPs com stack do framework, SEO, GEO e acesso por agentes. | `apps/site/**`, site institucional, LP, SEO, GEO ou Markdown for Agents. | App de produto, backend ou mudança da regra central de design. | `website`, `landing-page`, `seo`, `geo`, `markdown-for-agents`, `agent-readiness` |\n| Manu | Product Designer | `zaip-agent-designer` | `manu_product_designer_zaip_agent` | Governa `DESIGN.md`, design tokens (cor, tipografia, espaçamento e raio), componentes centrais e páginas de catálogo digital. | Regra central de design, Design System, tokens, `design-system` ou `componentes`. | Word, PPT, imagem de marketing ou componente local que apenas consome regras existentes. | `design-system`, `design.md`, `tokens`, `central-components`, `componentes` |\n| Dan | Cloud Engineer | `zaip-agent-cloud-engineer` | `dan_cloud_engineer_zaip_agent` | Projeta e valida infraestrutura cloud declarada. | Infraestrutura cloud, provisionamento, containers, Terraform ou Docker. | Implementação de aplicação, deploy ou infraestrutura fora do escopo declarado. | `cloud`, `terraform`, `docker`, `provisioning` |\n| Luiz | Security Auditor | `zaip-agent-security-auditor` | `luiz_security_auditor_zaip_agent` | Audita segurança de forma independente e somente leitura. | Auditoria de segurança, mudança sensível ou release que exige avaliação independente. | Implementação, autoria de remediação ou deploy. | `security`, `audit`, `risk`, `release` |\n| Lucia | Marketing Analyst | `zaip-agent-marketing-analyst` | `lucia_marketing_analyst_zaip_agent` | Planeja marketing, copy, campanhas e briefs de imagem com evidência. | Estratégia de marketing, campanha, copy de landing page ou brief de imagem. | Implementação de produto, backend ou governança central de design. | `marketing`, `copy`, `campaign`, `image-brief` |\n| Sarah | Branding Specialist | `zaip-agent-brand-strategist` | `sarah_branding_specialist_zaip_agent` | Define e governa plataforma de marca, Brandbook, posicionamento, arquétipos, diferencial semântico e arquitetura de marca com evidências. | Estratégia ou governança de marca, Brandbook, posicionamento, arquétipos, arquitetura de marca ou consistência de identidade como decisão principal. | Aplicação rotineira de marca aprovada, campanha, script comercial, análise quantitativa bruta ou documento geral sem decisão de marca. | `branding`, `brandbook`, `positioning`, `archetypes`, `semantic-differential`, `brand-architecture` |\n| Robert | Growth Strategist | `zaip-agent-growth-strategist` | `robert_growth_strategist_zaip_agent` | Orienta estratégia de crescimento, RevOps, experimentos, receita, custos e recomendações executivas baseadas em dados. | Estratégia de negócio, Growth, RevOps, modelo de negócio, priorização de portfólio ou impacto financeiro como decisão principal. | Campanha ou conteúdo, Brandbook, playbook comercial, validação quantitativa bruta ou ato comercial externo. | `growth`, `revops`, `experimentation`, `revenue`, `cost-optimization`, `business-strategy` |\n| Aaron | Sales Specialist | `zaip-agent-sales-specialist` | `aaron_sales_specialist_zaip_agent` | Cria processos, playbooks, qualificação, scripts, enablement e handoffs comerciais internos. | Metodologia comercial, qualificação, negociação preparada, processo SDR/closer, script, playbook ou handoff de pipeline. | Estratégia de Growth/RevOps, campanha ou copy de marketing, governança de marca, análise bruta de dados, política jurídica ou ato comercial externo. | `sales`, `qualification`, `sales-playbook`, `sales-script`, `sdr`, `closer`, `pipeline-handoff` |\n| Clara | Operations Generalist | `zaip-agent-general-operations` | `clara_operations_generalist_zaip_agent` | Executa artefatos operacionais delimitados fora de escopos especialistas: documentos, apresentações, planilhas, processos e comparativos. | Documento, apresentação, planilha, processo ou pesquisa comparativa sem capability especialista obrigatória. | Produto, design-system, marketing, dados, segurança, cloud, jurídico vinculante ou ato externo. | `operations`, `document`, `presentation`, `spreadsheet`, `process`, `comparison` |\n| Renata | Governance Compliance Specialist | `zaip-agent-governance-compliance` | `renata_governance_compliance_specialist_zaip_agent` | Prepara artefatos internos não vinculantes de RH, jurídico operacional, política, privacidade, fornecedores e risco. | Minuta, checklist, matriz de risco ou pacote interno de aprovação sem ato externo. | Parecer jurídico vinculante, assinatura, representação, protocolo, contratação ou decisão humana. | `governance`, `compliance`, `hr`, `legal-operations`, `privacy`, `vendor`, `risk` |\n\n## Squads organizacionais\n\nO catálogo contém 23 agentes agrupados visualmente em seis squads: **Product** (3), **Admin & Operations** (3), **Development** (6), **Delivery Assurance** (4), **Infra & Security** (2) e **Growth — Sales, Marketing and Branding** (5). A soma é 23.\n\nOs squads facilitam a leitura organizacional e a colaboração humana. Eles não são uma fonte de roteamento: `selectAgentForWork` continua a escolher o agente exclusivamente pelas capabilities mandatórias, escopos explícitos, prioridade e ID; cada agente conserva seus write scopes e permissões.\n\n## Roteamento determinístico\n\n`selectAgentForWork` deriva uma capacidade mandatória a partir de escopos explícitos antes de aplicar a seleção ordenada por prioridade e ID.\n\n- `.agents/design/*`, `.agents/design/**`, `DESIGN.md`, `tokens.json`, `apps/catalog/**` ou capability explícita de Design System/tokens/componentes/páginas seleciona Manu. Manu é a regra visual central; Doug somente a consome em `apps/frontend/**`.\n- `apps/site/**` ou capability explícita `website-delivery`, SEO, GEO, Markdown for Agents ou Agent Readiness seleciona Jonny.\n- `apps/frontend/**` seleciona Doug quando a capability é frontend; `apps/backend/**` e `modules/**` selecionam Will quando a capability é backend.\n- Capabilities de governança, RH, jurídico operacional, políticas, privacidade, fornecedores ou riscos selecionam Renata. Ela prepara o pacote revisável e a ação humana necessária, mas não executa ato vinculante ou externo.\n- Capabilities de plataforma ou governança de marca, Brandbook, posicionamento, arquitetura de marca, arquétipos ou diferencial semântico selecionam Sarah. Ela governa a identidade e encaminha aplicação de design system para Manu e ativação de marketing para Lucia.\n- Capabilities de estratégia de Growth, RevOps, experimentação, receita, custo, funil, unit economics ou recomendação executiva selecionam Robert. Dados quantitativos delimitados continuam com Gabi, e processos comerciais internos com Aaron.\n- Capabilities de metodologia comercial, qualificação, playbooks, scripts, SDR, closer ou handoff de pipeline selecionam Aaron. Ele não realiza ato comercial externo nem substitui Sarah, Lucia, Robert ou Gabi em suas fronteiras especializadas.\n- Capabilities de documentos, apresentações, planilhas, processos e comparativos — ou trabalho delimitado sem capability explícita e sem escopo obrigatório — selecionam Clara como fallback operacional contínuo.\n- Um diretório chamado `components` fora dos alvos canônicos não aciona Manu. O orquestrador usa a capability solicitada e os write scopes da Task.\n- `.agents/dashboard/**` e `.local/**` não selecionam Doug nem Manu: permanecem com Rafa ou Leo até que a Task declare um escopo obrigatório; artefatos operacionais não técnicos podem selecionar Clara.\n\nO orquestrador mantém a Run raiz e cada Run delegada separadas na observabilidade. Duração, tokens e custo só são agregados quando observados ou reconciliados; ausência continua indisponível, nunca zero.\n\nNa v4, isso continua verdadeiro para records, API e cálculos. Apenas os\ncards/células numéricas do Dashboard carregado exibem `0` com cobertura\n“sem medição”; o catálogo não autoriza registrar zero observado fictício.\n\nO dispatch autônomo passa os `Task.write_scopes` a essa seleção **por Task** e persiste o builder escolhido na entrada de cada Task. Assim uma DAG com frontend e backend usa Doug e Will nas respectivas invocações, sem transformar a seleção de uma Task em builder global. A seleção é determinística, mas não concede autoridade: o agente ainda precisa respeitar seus write scopes e permissões do catálogo.\n\nO `budget.soft_cycles` também acompanha o agente selecionado por Task e governa seu checkpoint suave. Tokens continuam observados para telemetria e custo, mas não interrompem nem exigem checkpoint. Para comparar agentes, use `zaip run aggregate --agent agent-ID`; o resultado inclui duração coberta, ciclos de uso observados, tokens, custo, cobertura e Runs de rework.\n\nNanda (`agent-reviewer`) usa `gpt-6-sol` com esforço `medium` e `soft_cycles: 12`, proporcional à revisão standard. Ana (`agent-auditor`) usa `gpt-6-sol`/`high` para auditoria crítica ou explicitamente auditável; Luiz (`agent-security-auditor`) usa `gpt-6-sol`/`high` para auditoria de segurança explícita.\n\n## Dashboard e segurança operacional\n\nA tela **Configurações > Catálogo de agentes** apresenta a persona e mantém a identidade técnica somente leitura. Ao salvar, o runtime valida o catálogo, deriva o único nickname, sincroniza adapters e reverte a escrita se a paridade falhar. Agentes de framework permitem alteração de persona e preferências de modelo/effort; propósito, capacidades e identidade técnica continuam protegidos.\n\n## Preset e configuração efetivamente executada\n\nDefaults do catálogo não comprovam modelo/effort efetivos. Com `autonomy-v1`,\no preset e a seleção final do despacho gerenciado também são validados:\nEssencial veda Astra automático e não herda a exceção manual do principal.\nInforme ao usuário a delegação necessária e a possibilidade de modelos\ndiferentes. Mantenha indisponível o que o host não informou.\nConsulte [modelos](23-orquestracao-de-modelos.md) e [autonomia](19-assurance-e-autonomia.md).\n',S=`# Assurance adaptativa e perfis de autonomia
|
|
886
935
|
|
|
887
|
-
Este guia descreve \`autonomy-v1
|
|
888
|
-
|
|
889
|
-
|
|
936
|
+
Este guia descreve \`autonomy-v1\` existente e o contrato-alvo Codex-native da
|
|
937
|
+
v4. A rota nova abaixo ainda precisa de implementação, qualificação do pacote
|
|
938
|
+
e prova no consumidor; não a atribua automaticamente a \`@latest\`.
|
|
890
939
|
|
|
891
940
|
## Quatro configurações independentes
|
|
892
941
|
|
|
@@ -906,8 +955,8 @@ não concede permissão externa.
|
|
|
906
955
|
| Perfil | Execuções máximas | Replanejamentos máximos | Rota dos replanejamentos |
|
|
907
956
|
| --- | --- | --- | --- |
|
|
908
957
|
| Essencial (\`essential\`) | **4**: 1 inicial + 3 reparações | **1** | Sol/high; nunca Astra automático |
|
|
909
|
-
| Equilibrado (\`balanced\`, padrão
|
|
910
|
-
| Persistente (\`persistent\`, opt-in) | **Sem teto** | **Sem teto** | Sol/high
|
|
958
|
+
| Equilibrado (\`balanced\`, padrão v4) | **10**: 1 inicial + 9 reparações | **3** | Sol/high → Sol/high → Astra/high |
|
|
959
|
+
| Persistente (\`persistent\`, opt-in) | **Sem teto** | **Sem teto** | Sol/high nos dois primeiros; Astra/high no terceiro e seguintes |
|
|
911
960
|
|
|
912
961
|
Cada replanejamento válido libera até três reparações. São tetos, não uma
|
|
913
962
|
obrigação de falhar ou gastar todas as tentativas. Se o aceite passar antes,
|
|
@@ -918,7 +967,7 @@ Exemplo máximo do Equilibrado:
|
|
|
918
967
|
|
|
919
968
|
1. Execução inicial: tentativa 1.
|
|
920
969
|
2. Replanejamento 1 com Sol/high: reparações nas tentativas 2–4.
|
|
921
|
-
3. Replanejamento 2 com
|
|
970
|
+
3. Replanejamento 2 com Sol/high: reparações nas tentativas 5–7.
|
|
922
971
|
4. Replanejamento 3 com Astra/high: reparações nas tentativas 8–10; Astra/high
|
|
923
972
|
também pode executar nesse bloco, se selecionado pela rota válida.
|
|
924
973
|
5. Sem aceite, registrar entrega parcial e resultado verdadeiro; não abrir
|
|
@@ -978,14 +1027,16 @@ Não é cache descartável nem deve ser removido para liberar uma nova tentativa
|
|
|
978
1027
|
|
|
979
1028
|
## Tarefas avulsas e modelos
|
|
980
1029
|
|
|
981
|
-
A Task avulsa
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
1030
|
+
A Task avulsa usa subagentes nativos Codex no contrato-alvo v4. O principal
|
|
1031
|
+
preserva a escolha manual do usuário; o ZAIP define modelo/esforço dos filhos
|
|
1032
|
+
por papel/fase/risco. Exemplo: Astra/ultra manual no principal não é uma
|
|
1033
|
+
escalada automática para os filhos. No Essencial não há Astra automático,
|
|
1034
|
+
inclusive por herança ou fallback.
|
|
985
1035
|
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
pode selecionar modelo/esforço diferentes
|
|
1036
|
+
Use o menor conjunto de filhos que cubra execução, revisão aplicável e
|
|
1037
|
+
finalização; não faça paralelismo produtivo na avulsa. Antes de delegar,
|
|
1038
|
+
informe que a orquestração ZAIP pode selecionar modelo/esforço diferentes
|
|
1039
|
+
para os subagentes. Não prometa que
|
|
989
1040
|
filhos usam Astra só porque o usuário selecionou Astra no principal.
|
|
990
1041
|
A configuração efetivamente observada permanece separada da planejada.
|
|
991
1042
|
|
|
@@ -1020,8 +1071,10 @@ invocação. \`spawn_agent\` chamado diretamente pelo Codex fora desse caminho
|
|
|
1020
1071
|
não é interceptado por prompt, hook best-effort ou captura posterior.
|
|
1021
1072
|
Sem observar o caminho real, não alegue controle determinístico universal.
|
|
1022
1073
|
|
|
1023
|
-
|
|
1024
|
-
|
|
1074
|
+
O candidato local v4 usa Equilibrado e \`execution.runtime: codex_native\`:
|
|
1075
|
+
o Codex é responsável pelos Sub-Runs de PRDs, SPECs e avulsas. O npm
|
|
1076
|
+
publicado anteriormente conserva o contrato de sua versão até nova publicação.
|
|
1077
|
+
\`manual\` e
|
|
1025
1078
|
configuração legada ausente continuam sem provider. \`autonomous\` permite
|
|
1026
1079
|
também Task avulsa gerenciada por comando explícito. Salvar não executa.
|
|
1027
1080
|
|
|
@@ -1158,13 +1211,13 @@ Isso evita fabricar trabalho apenas para fechar o estado. Não permite sucesso:
|
|
|
1158
1211
|
explicitamente autorizada, mesmo que existam Evidences aprovadas.
|
|
1159
1212
|
|
|
1160
1213
|
O ratchet de cobertura nunca reduz o piso: 80% para lines, functions e statements e 75% para branches. Uma medição atual abaixo disso pode ser registrada como baseline observada para diagnóstico, mas o gate continua vermelho. Release crítica também exige unit, E2E, arquitetura, CQRS, módulos, profile, segurança, testes negativos, paridade da distribuição e cleanroom do candidato exato.
|
|
1161
|
-
`,C='# Como instalar e rodar o ZAIP-AIOS\n\nEste guia descreve o modelo de lifecycle V2 no layout V3. Durante a transição, layouts V1/V2 continuam disponíveis somente para leitura e migração; novos artefatos e seus manifests Git-native usam `.agents/records`.\n\n## Pré-requisitos\n\n- Node.js 22.16.0 ou superior, conforme o requisito do pacote, com `node:sqlite` disponível;\n- permissões de escrita no repositório consumidor.\n\nGit, identidade de autor, repositório, commit inicial e configuração do GitHub\npodem ser preparados depois da instalação. O runtime exige Git e histórico local\nantes de iniciar entregas; essa exigência não bloqueia `init`.\n\nO consumidor não precisa compilar o monorepo nem instalar pnpm para executar\no runtime distribuído. No checkout mantenedor, use o pnpm fixado em\n`packageManager` (11.12.0 neste snapshot), com `corepack pnpm` quando disponível.\n\n## Instalação pública no projeto consumidor\n\nNa raiz do projeto-alvo:\n\n```bash\nnpx --yes @zaip-ai/cli@latest init --project-only --dry-run\nnpx --yes @zaip-ai/cli@latest init --project-only\nnode .agents/runtime/bin/zaip.mjs doctor --json\n```\n\nRevise o dry-run antes da instalação. O primeiro sucesso verificável é a saída\nde `doctor --json` com `"valid": true`; ela confirma layout, checksums e adapters\ndo projeto que recebeu a instalação. `@latest` seleciona a versão publicada,\nnão alterações ainda locais neste repositório. O binário público `zaip` é o\ninstalador; nos exemplos de lifecycle deste guia, `zaip ...` é uma abreviação\nde `node .agents/runtime/bin/zaip.mjs ...` no projeto consumidor. Use o caminho\nexplícito para evitar colisão entre os dois CLIs.\n\n### Resumo e próximos passos\n\nA resposta final do assistente mantém a frase inicial com o comando, a linha\n“Resumo:”, bullets e exatamente uma pergunta no final. Siga o modelo obrigatório\nde `.agents/skills/zaip-skill-setup/SKILL.md`, inclusive quando a instalação começou\nantes de as skills estarem disponíveis. Não converta o resumo em parágrafos.\nA versão instalada usa o rótulo `vVERSÃO` com link para sua página no npm,\ncontagens reais de arquivos e resultados de SQLite e `doctor`. O link usa\n`https://www.npmjs.com/package/@zaip-ai/cli/v/<versão-instalada>`.\n\nQuando o GitHub ainda precisa de configuração, a última pergunta é:\n**Deseja ajuda para configurar seu repositório Git?**\nSe a configuração local já estiver identificada, a pergunta será:\n**Deseja ajuda para realizar a configuração inicial do ZAIP-AIOS?**\nConfiguração local não comprova autenticação remota.\n\nNo terminal, a pergunta é textual: o comando encerra normalmente. No chat,\nresponder “sim” encaminha à skill de GitHub ou de configuração do projeto.\nA skill apresenta o que pode configurar e coleta as escolhas antes de editar.\nConcluído o GitHub, oferece a configuração do projeto; concluído o projeto,\nencerra o onboarding. Uma recusa ou adiamento encerra a oferta sem insistência.\n\n### Manuais e seleção de modelos\n\nAntes de usar os comandos de desenvolvimento abaixo, consulte os manuais instalados\nem `.agents/README.md` e `.agents/README-ENG.md` e o [índice local](../INDEX.md).\nO instalador preserva os READMEs do projeto na raiz. Os perfis `full`, `dev-lite`\ne `lite` selecionam ferramentas de instalação; eles não classificam a dificuldade\nde uma tarefa nem ativam um modelo mais caro.\n\nNovos templates mantêm a seleção do principal em `manual` e configuram\n`execution.runtime: managed` para PRD/SPEC, com\n`autonomy: { version: 1, preset: balanced }`. São controles diferentes:\ninstalar/salvar o preset não inicia provider. O [guia 19](19-assurance-e-autonomia.md)\nexplica Essencial, Equilibrado e Persistente; o [guia 23](23-orquestracao-de-modelos.md)\ndetalha Astra/high nos replanejamentos e sua execução elegível no terceiro bloco.\nO Essencial nunca usa Astra automático. Principal avulso preserva a seleção\nmanual; filhos necessários seguem política divulgada. Projetos e estados legados\nnão recebem migração silenciosa de quotas.\n\n## Construir o CLI\n\nSomente no repositório-fonte, para manutenção do framework:\n\n```bash\ncorepack pnpm install --frozen-lockfile\ncorepack pnpm build\nnode packages/cli/dist/index.js version\n```\n\nNesse checkout compilado, use `node packages/cli/dist/index.js ...` para os\ncomandos de lifecycle. Em `--workspace`, informe o destino autorizado; não\nconfunda a raiz fonte com o projeto consumidor.\n\n## Setup pelo CLI de lifecycle\n\nFaça primeiro um dry-run e revise conflitos:\n\n```bash\nzaip setup --workspace /caminho/do/projeto --dry-run --json\nzaip setup --workspace /caminho/do/projeto\nzaip doctor --workspace /caminho/do/projeto\n```\n\nO setup V2 cria ou valida:\n\n```text\n.agents/config/{project.yaml,framework.lock.yaml}\n.agents/rules/{core,workflow,architecture,security,context}.md\n.agents/requirements/{work-lifecycle,execution-engine,cost-observability,kanban-dashboard,context-engine,software-architecture}.md\n.agents/skills/\n.agents/records/{prds,specs,changes,tasks,executions,runs}/\n.agents/records/lifecycle/\n.local/claims/ # claims idempotentes do lifecycle; não é histórico canônico\n```\n\nO runtime `.agents/runtime` usa a `.agents/` da raiz como fonte canônica das Rules, dos seis\nRequirements de área e das skills. Em uma instalação nova, o setup cria config e os seis diretórios\nvazios de data, projeta somente os arquivos portáveis do framework e registra a versão de origem em\n`source_release`. Histórico, Changes, Tasks, Runs e aliases específicos deste repositório nunca são\ncopiados para o projeto consumidor.\n\nO setup identifica a propriedade pelo `framework.lock.yaml`: Rules presentes no lock pertencem ao\nframework; as demais são locais ao projeto e são preservadas em instalações e upgrades. Conflitos\nde ID ou contradições bloqueiam a operação; não existe override silencioso.\n\nTambém gera adapters mínimos, como `AGENTS.md` e os wrappers de skills dos clientes, sem sobrescrever conteúdo do usuário silenciosamente.\n\n## Migrar estado V1\n\n```bash\nzaip migrate plan --workspace /caminho/do/projeto --json\nzaip migrate plan --workspace /caminho/do/projeto --verbose --json\nzaip migrate apply --workspace /caminho/do/projeto --plan-hash HASH\nzaip migrate status --workspace /caminho/do/projeto\n```\n\nPor padrão, `plan` retorna somente fingerprint, contagens, findings e hash. `--verbose` acrescenta metadados e paths das operações, nunca payload base64. `apply` exige o hash revisado; uma reaplicação/retomada pode selecionar explicitamente `--migration ID`.\n\nA migração deve ser idempotente. Até ser aplicada e verificada, raízes V1 permanecem legado somente leitura. Para desfazer uma migração suportada:\n\n```bash\nzaip migrate rollback --workspace /caminho/do/projeto --migration ID\n```\n\n## Escolher a entrada certa\n\nUse Task-first para uma alteração pontual e bem delimitada. Use SPEC quando o objetivo técnico exige várias Tasks, dependências ou execução autônoma longa. Use PRD quando é necessário traduzir objetivo de negócio, usuários, métricas e restrições em uma ou mais SPECs.\n\nPRD e SPEC são opcionais. O intake captura uma vez por turno observável;\ncontinuação reutiliza o foco válido e publicação puramente Git não cria\nlifecycle. Para pergunta, feedback ou análise read-only, `conversation start`\ne `conversation finish` registram uma interaction sem Task/Change artificial.\nCriar/refinar explicitamente PRD/SPEC `draft` pode persistir macro e PreparedPlan\nna própria interaction, sem delivery. Fora dessa exceção, alterações persistentes\nde código, documentação ou configuração exigem delivery, Task materializada e\nRun raiz ativa antes da escrita; caches/builds e projeções geradas seguem as\nisenções da Rule de workflow. Interaction read-only sem descendentes não exige\nexecutor nem finalizador.\n\nUma solicitação direta de ação entra em Execução; ela não passa artificialmente por Definição ou Planejamento. Uma Task independente que foi apenas preparada e ainda não começou fica em Pronto para executar. No quadro, Definição é exclusiva de PRDs em draft e Planejamento é exclusivo de SPECs em draft. O contrato completo está em [Lifecycle de trabalho](28-lifecycle-completo.md).\n\n## Task-first\n\nCrie o draft manual, prepare e execute explicitamente:\n\n```bash\nzaip task create --title "Ajuste pontual" --short-name ajuste-pontual --objective "Resultado esperado" --requirements REQ-ID --acceptance AC-ID --write-scopes src/**\nzaip task prepare TASK-ID\nzaip task execute TASK-ID\n```\n\nTask-first não cria PRD nem SPEC sintéticas. `create` persiste somente a Task `draft`; `prepare` persiste o plano na Task; `execute` materializa Change e Execution rastreáveis antes da mutação. O prepare automático acima só aceita Task sem `depends_on`.\n\nTask-first registra objetivo, Requirements e Acceptance Criteria sem ocupar artificialmente as\ncolunas Definição ou Planejamento. Uma Task materializada como `planned`, nunca iniciada ou tentada, aparece em Pronto\npara executar; `task create` isolado ainda produz `draft`. Em pedidos diretos de ação, Change, Execution, Task e Run raiz são materializados\nantes da primeira mutação. Verificação e evidências sempre refletem registros reais.\n\nPara uma Task manual com dependências, modele a DAG completa em um draft de plano e gere o contrato canônico antes do prepare:\n\n```bash\nzaip plan build --draft ./task-plan-draft.json --output ./task-plan.json\nzaip plan validate --plan ./task-plan.json\nzaip task prepare TASK-ID --plan ./task-plan.json\nzaip task execute TASK-ID\n```\n\nO draft fornecido a `plan build` contém origem, Changes, Tasks, Execution, Requirements/AC e locks,\nmas não precisa calcular hash ou ordem topológica. Toda Task referenciada por `depends_on` precisa\nestar no mesmo plano. `plan validate` verifica o PreparedPlan completo sem materializá-lo.\n\n## SPEC opcional\n\n```bash\nzaip spec create --title "Objetivo técnico" --short-name objetivo-tecnico --objective "Resultado esperado"\nzaip spec prepare SPEC-ID --plan ./spec-plan.json\nzaip spec show SPEC-ID\nzaip spec execute SPEC-ID\n```\n\n`prepare` persiste IDs e DAG validada, sem criar Tasks. `execute` materializa a DAG de modo idempotente. A visão macro da SPEC agrega Tasks, Executions, Runs, evidências, retrabalho, tokens e custo.\n\n## PRD opcional\n\n```bash\nzaip prd create --title "Resultado de negócio" --short-name resultado-negocio --problem "Problema a resolver"\nzaip spec create --prd PRD-ID --title "Entrega técnica" --short-name entrega-tecnica --objective "Resultado técnico"\nzaip prd prepare PRD-ID --plan ./prd-plan.json\nzaip prd show PRD-ID\nzaip prd execute PRD-ID\n```\n\nÉ válido manter vários PRDs em rascunho, refinar alguns e executar somente os selecionados. `prepare`, `execute` e `deliver` bloqueiam PRD sem ao menos uma SPEC filha e qualquer Change do plano sem `spec_id`; o plano global inclui todas as Tasks e dependências selecionadas. `deliver` avalia somente as SPECs selecionadas no PreparedPlan do PRD, portanto outras SPECs filhas ainda em draft não bloqueiam a entrega.\n\nNa criação assistida, “me ajude a pensar” permanece Conversation. “Crie um PRD” faz até cinco perguntas críticas por turno e no máximo três turnos, depois persiste PRD/SPECs/PreparedPlan `draft` e registra decisões delegáveis da IA. Use uma SPEC por padrão; novas SPECs só representam capacidades independentes e paralelizáveis, sem arestas cross-SPEC. Blueprints compactos ficam visíveis antes do `ready`, mas Tasks/Changes/Execution só são materializadas quando o usuário pede “deixe/coloque em Pronto para Executar”, “finalize/conclua esse PRD” em `draft`, ou `execute`. A Run e o `creation_run_id` ficam vinculados ao macro; duração, tokens e custo só são agregados quando observados ou reconciliados e nunca são inventados quando indisponíveis.\n\n`execute` respeita Task, SPEC ou PRD conforme o menor grão nomeado. `implemente` sem alvo abre apenas uma Conversation de planejamento, em `draft` finaliza o plano, em `ready` executa e em estados ativos/falhos continua, retoma ou cria rework. `desenvolva|melhore|aprimore` nunca executa automaticamente. PRD cancelado gera sucessor `draft` com tag `rework` e vínculo ao registro imutável.\n\n## Refinar sem executar\n\nNão existe comando `refine`. Enquanto PRD, SPEC ou Task estiver em `draft`, edite seu Markdown\ncanônico em `.agents/records`, incremente `revision` e atualize `updated_at`; em seguida use `show` e\nos validadores aplicáveis. Depois de `prepare`, não altere o plano silenciosamente: volte a um\ndraft por uma transição explicitamente suportada pela política da entidade ou cancele e crie um\nnovo draft. Isso preserva hash, auditoria e leitura humana.\n\nPara coleções grandes, use listagens compactas: `--status`, `--from`, `--to`, `--prd`, `--spec`, `--task`, `--limit` e `--after`. O padrão retorna no máximo 50 itens; `--all` é explícito.\n\n## Executar e acompanhar a DAG\n\nConsultas de acompanhamento:\n\n```bash\nzaip execution show EXEC-ID\nzaip task show TASK-ID\nzaip run show RUN-ID\nzaip run closure RUN-ID\n```\n\nA execução deve reutilizar a identidade real capturada do turno e seu alvo.\nNão crie um `run start --agent zaip-agent-finalizer` para simular a existência\nde Gui, nem interprete `run finish --status completed` como aprovação.\nO host captura spawn/terminal reais e persiste a decisão observada antes do\nStop canônico, conforme o [guia 16](16-lifecycle-e-reconciliacao.md).\n\nTasks `planned` cujas dependências estejam concluídas podem rodar em paralelo. Declare conflitos de arquivos, módulos, migrations, recursos ou ambientes como bloqueios da DAG; paralelismo não deve depender apenas de pertencerem a SPECs diferentes.\n\nCada Run raiz representa a orquestração de uma Execution. Seus filhos são Sub-Runs: ao menos um executor elegível vem do catálogo, e o último deve ser `zaip-agent-finalizer`; ele só inicia depois dos demais descendentes e impede novos filhos. A CLI aplica sua decisão como `completed`, `blocked`, `failed` ou `cancelled`; finalizador ausente ou falho produz `blocked`. `executing` e `verifying` nunca são estados válidos depois do término da Run raiz. Uma Task bloqueada continua pela mesma identidade com `task resume`. Uma Task falhada exige `task rework`, preserva a identidade e incrementa a tentativa. Tasks concluídas ou canceladas são imutáveis.\n\n### Assurance e autonomia\n\nAtive a garantia tipada sem ativar execução por provider:\n\n```yaml\nexecution:\n runtime: manual\nassurance:\n version: 1\n standard_depth: auto\n require_final_commit: true\n```\n\nTask standalone `lite` exige no mínimo uma validação e uma Evidence — normalmente uma de cada, sem rejeitar provas extras legítimas. `standard` exige duas ou três validações conforme o `verification_scope` persistido e pelo menos uma Evidence consolidada; registros históricos sem esse sinal usam o fallback conservador de write scopes. `critical` exige três ou mais, revisão independente e os controles acionados pelos sinais de risco persistidos. SPEC/PRD exigem ainda três validações e três Evidences parentais, matriz completa, integração e review independente. Para o runtime autônomo, configuração, controles e estratégia econômica, veja [Assurance adaptativa e autonomia opt-in](19-assurance-e-autonomia.md).\n\n## Changes, decisões e evidências\n\nCada alteração possui `.agents/records/changes/YYYY/MM/CHG-.../change.md`, criado antes da primeira mutação. Ele registra:\n\n- plano e Requirement deltas;\n- implementação;\n- decisões humanas e da IA;\n- evidências por Acceptance Criterion;\n- evals e testes;\n- resultado final.\n\nCada teste, revisão, eval ou check executado também deve gerar um artefato reproduzível em\n`artifacts/tests/`, `artifacts/evals/` ou `artifacts/checks/`. O registro inclui ao menos\n`executed_at` com timezone, comando, status, Task, Run e Acceptance Criteria cobertos. Quando uma\nverificação não se aplica, registre `status: not_applicable` e a justificativa; ausência de registro\npermanece pendência. O dashboard contabiliza testes e considera uma etapa rastreada somente quando\nexiste timestamp de origem, sem substituir ausência pelo horário da consulta.\n\nQuando houver prova observável por AC, siga o contrato\n[canônico](../../skills/zaip-skill-change/references/observable-evidence.md).\n`validation observe` registra uma declaração sanitizada inline; não abre arquivo\nde entrada, não executa o procedimento e não cria Validation aprovada. Somente\numa observação `confirmed` e vinculada pode complementar Evidence já compatível.\n\nDecisões curtas ficam inline. Se uma decisão exigir ADR, salve-o em `decisions/` dentro da própria Change ou Execution e mantenha o resumo no Markdown principal.\n\n## Runs e custos\n\nUma Execution é `interaction` para conversa sem Task artificial ou `delivery` para trabalho materializado; esta última coordena a DAG quando existir. Run é a chamada raiz do `zaip-agent-orchestrator` e possui `parent_run_id: null`; Sub-Run é cada chamada de subagente e possui `parent_run_id`. Ambas usam o ledger `RUN-*`, fixam modelo e effort e podem conter várias Calls, ferramentas e segmentos de uso. `run_purpose` distingue orquestração, execução, revisão, auditoria e finalização. Calls permanecem internas e suas quantidades, tokens e custos aparecem agregados na Run/Sub-Run.\n\nOperação oferece Trabalho (Kanban) e Trabalho (Lista), ambas com os filtros Todas as Tarefas, Visão Unificada Geral, PRDs, SPECs e Tarefas Avulsas. A lista mostra status, origem, Runs, Sub-Runs, duração, tokens, custo e cobertura. Operação e Monitor de Custos apresentam Runs e Sub-Runs separadamente. Cada Execution agrega contagens de Runs, Sub-Runs, finalizadores, Tasks finalizadas e Calls conhecidas sem dupla contagem; telemetria incompleta aparece como parcial. Cada segmento de uso é atribuído uma única vez; correções de duplicidade usam supersessão sem apagar o histórico.\n\nA captura do Codex persiste primeiro um envelope sanitizado em\n`.local/codex-telemetry-spool/v1/`, que permanece fora do Git. Depois do terminal da\ninvocação, a compactação produz um `InvocationSummary` e publica chunks e manifestos por\nano/mês/writer em `.agents/records/telemetry/`. Prompts, respostas, reasoning privado e segredos não\nentram nesses arquivos.\n\nQuando o Monitor de Custos recebe `from` e `to`, ele valida hashes e consulta os manifestos antes de\ncarregar somente os chunks compatíveis com o período e os filtros. Na ausência de summaries\naplicáveis, usa a projeção de Run existente sem promover a cobertura. O contrato completo, a\nsemântica de `complete|partial|unavailable` e o procedimento de recuperação estão em\n[Telemetria Git-native do Codex](27-telemetria-git-native.md).\n\nO status técnico do Run (`completed`, `failed` ou `cancelled`) é separado do resultado da Task (`completed`, `blocked`, `failed` ou `cancelled`). Assim, um Run pode concluir tecnicamente e bloquear a Task porque um gate não passou. `execution` começa quando uma tentativa explícita se inicia, mesmo sem diff; `changed_files` e `result` registram se houve mutação.\n\n```bash\nzaip run start --short-name exemplo --phase execution --run-purpose orchestration --entrypoint task --work-type new --client codex --agent zaip-agent-orchestrator --model MODEL --reasoning-effort EFFORT --conversation CONV-ID --execution EXEC-ID --task TASK-ID --change CHG-ID\nzaip run usage RUN-ID --input-tokens N --output-tokens N\nzaip run finish RUN-ID --status completed --task-outcome completed --summary "Resultado" --evidence EVD-ID --changed-files src/arquivo.ts\nzaip run closure RUN-ID\nzaip run show RUN-ID\nzaip run list --phase execution --task TASK-ID --limit 50\nzaip run aggregate --prd PRD-ID --from 2026-07-01 --to 2026-07-31\n```\n\n`run-v2` permanece alias compatível. `run list` retorna resumos compactos e paginados; combine\n`--phase`, `--entrypoint`, `--work-type`, `--conversation`, `--execution`, `--change`, `--task`,\n`--spec`, `--prd`, período e paginação. `run aggregate` usa os mesmos filtros para totalizar uso,\ncusto e cobertura sem dupla contagem. Valores ausentes permanecem nulos; dashboards mostram\ncobertura para impedir que custo desconhecido pareça custo zero.\n\nReconciliação global não roda ao abrir o dashboard, a cada turno ou em intervalo. Ela só é executada\nquando uma pessoa confirma o popup **Reconciliar** ou chama explicitamente\n`zaip run reconcile --open`. O reconciliador usa fatos locais: pode concluir uma Task com evento\nterminal exato; marca Run órfão depois da tolerância como falha técnica; transforma ausência de gates\nem bloqueio; e nunca infere cancelamento ou sucesso sem evidência.\n\n## Organizar frontend, backend e site\n\nCrie somente as superfícies usadas pelo projeto, mas preserve seus papéis:\n\n```text\napps/frontend/ # UI do produto\napps/backend/ # APIs e workers\napps/site/ # landing page e site público independente\nmodules/<area>/ # capacidades de negócio\npackages/<library>/ # bibliotecas técnicas\ntests/e2e/ # jornadas entre aplicações\n```\n\nA dependência aponta de `apps` para `modules` e destes para `packages`. O site público não importa\no dashboard, não lê `.agents` e não acessa implementação privada do backend.\n\nO dashboard ZAIP é outra fronteira, em `.agents/dashboard`. Ele possui somente\n`apps/frontend`; o servidor loopback fica em `packages/local-runtime`, acompanhado dos módulos\n`operations`, `cost-monitor` e `traceability`, demais packages próprios e `tests/e2e`. Ele lê\nos manifests canônicos em `.agents/records/lifecycle` e abre os demais records apenas por ID. A única\nreparação global iniciada pela UI ocorre após confirmação explícita no popup Reconciliar e usa o\ncomando canônico de reconciliação; não deve ser movido para o `apps/frontend` do produto\nnem publicado como `apps/site`.\n\nNo repositório-fonte do ZAIP, o gate de tamanho é executado isoladamente com:\n\n```bash\nnode scripts/validate-source-size.mjs\n```\n\nArquivos com 401–800 linhas geram warning; arquivos com 801 ou mais geram erro. Código gerado,\n`dist`, vendor, `node_modules`, `.agents/records` e lockfiles são ignorados. Exceções temporárias\nexistem apenas para legado não-dashboard, não podem crescer e precisam declarar responsável,\nmotivo e expiração.\n\n## Contrato CLI e taxonomia publicados\n\nO lifecycle observável avança em uma única direção: `conversation → planning → execution`. Task,\nSPEC e PRD são entrypoints distintos; Change narra a mutação, Execution coordena a DAG e Run mede\numa tentativa. O manifesto público do CLI cobre estas áreas e ações:\n\n```text\nzaip setup; zaip doctor\nzaip adapters build|check\nzaip context inventory|build|inspect\nzaip manifest rebuild|refresh|show|reconcile\nzaip verify --changed --risk lite|standard|critical\nzaip architecture validate; zaip cqrs validate; zaip modules validate; zaip profile validate\nzaip eval run\nzaip migrate plan|apply|status|rollback\nzaip plan build|validate|normalize\nzaip prd create|list|show|prepare|ready|execute|activate|deliver|block|fail|cancel\nzaip spec create|list|show|prepare|ready|execute|activate|deliver|block|fail|cancel\nzaip change list|show|start|resume|block|verify|complete|fail|cancel\nzaip task create|list|next|show|prepare|execute|start|resume|rework|block|verify|complete|fail|cancel\nzaip execution list|show|start|resume|pause|block|verify|complete|fail|cancel\nzaip conversation start|finish\nzaip subagent capture\nzaip run start|list|aggregate|usage|finish|closure|reconcile|show\nzaip decision list|show|record\nzaip generate; zaip guard diff; zaip ui; zaip version\n```\n\n`pnpm test:contract` impede drift entre este guia, o manifesto de comandos, versões de packages,\nruntime distribuído e o gate de tamanho. `pnpm test:e2e` executa primeiro esse contrato e depois o\nE2E do dashboard.\n\n## Validação\n\n```bash\nzaip adapters check\nzaip context inventory\nzaip architecture validate\nzaip modules validate\nzaip profile validate\nzaip cqrs validate\nzaip eval run\n```\n\n`modules validate` verifica fronteiras entre `apps`, `modules` e `packages`. `profile validate`\nverifica o contrato de stack declarado em `.agents/config/project.yaml`. CQRS é obrigatório apenas quando o escopo contém casos de uso, estado ou separação de\ncommands/queries.\n\nNo repositório-fonte, rode também `pnpm validate:skills` e `pnpm test:encoding` após alterar Rules, Requirements, skills ou documentação.\n',w=`# Contrato de telemetria do Monitor de Custos
|
|
1214
|
+
`,C='# Como instalar e rodar o ZAIP-AIOS\n\nEste guia descreve o modelo de lifecycle V2 no layout V3. Durante a transição, layouts V1/V2 continuam disponíveis somente para leitura e migração; novos artefatos e seus manifests Git-native usam `.agents/records`.\n\n## Pré-requisitos\n\n- Node.js 22.16.0 ou superior, conforme o requisito do pacote, com `node:sqlite` disponível;\n- permissões de escrita no repositório consumidor.\n\nGit, identidade de autor, repositório, commit inicial e configuração do GitHub\npodem ser preparados depois da instalação. O runtime exige Git e histórico local\nantes de iniciar entregas; essa exigência não bloqueia `init`.\n\nO consumidor não precisa compilar o monorepo nem instalar pnpm para executar\no runtime distribuído. No checkout mantenedor, use o pnpm fixado em\n`packageManager` (11.12.0 neste snapshot), com `corepack pnpm` quando disponível.\n\n## Instalação pública no projeto consumidor\n\nNa raiz do projeto-alvo:\n\n```bash\nnpx --yes @zaip-ai/cli@latest init --project-only --dry-run\nnpx --yes @zaip-ai/cli@latest init --project-only\nnode .agents/runtime/bin/zaip.mjs doctor --json\n```\n\nRevise o dry-run antes da instalação. O primeiro sucesso verificável é a saída\nde `doctor --json` com `"valid": true`; ela confirma layout, checksums e adapters\ndo projeto que recebeu a instalação. `@latest` seleciona a versão publicada,\nnão alterações ainda locais neste repositório. O binário público `zaip` é o\ninstalador; nos exemplos de lifecycle deste guia, `zaip ...` é uma abreviação\nde `node .agents/runtime/bin/zaip.mjs ...` no projeto consumidor. Use o caminho\nexplícito para evitar colisão entre os dois CLIs.\n\n### Resumo e próximos passos\n\nA resposta final do assistente mantém a frase inicial com o comando, a linha\n“Resumo:”, bullets e exatamente uma pergunta no final. Siga o modelo obrigatório\nde `.agents/skills/zaip-skill-setup/SKILL.md`, inclusive quando a instalação começou\nantes de as skills estarem disponíveis. Não converta o resumo em parágrafos.\nA versão instalada usa o rótulo `vVERSÃO` com link para sua página no npm,\ncontagens reais de arquivos e resultados de SQLite e `doctor`. O link usa\n`https://www.npmjs.com/package/@zaip-ai/cli/v/<versão-instalada>`.\n\nQuando o GitHub ainda precisa de configuração, a última pergunta é:\n**Deseja ajuda para configurar seu repositório Git?**\nSe a configuração local já estiver identificada, a pergunta será:\n**Deseja ajuda para realizar a configuração inicial do ZAIP-AIOS?**\nConfiguração local não comprova autenticação remota.\n\nNo terminal, a pergunta é textual: o comando encerra normalmente. No chat,\nresponder “sim” encaminha à skill de GitHub ou de configuração do projeto.\nA skill apresenta o que pode configurar e coleta as escolhas antes de editar.\nConcluído o GitHub, oferece a configuração do projeto; concluído o projeto,\nencerra o onboarding. Uma recusa ou adiamento encerra a oferta sem insistência.\n\n### Manuais e seleção de modelos\n\nAntes de usar os comandos de desenvolvimento abaixo, consulte os manuais instalados\nem `.agents/README.md` e `.agents/README-ENG.md` e o [índice local](../INDEX.md).\nO instalador preserva os READMEs do projeto na raiz. Os perfis `full`, `dev-lite`\ne `lite` selecionam ferramentas de instalação; eles não classificam a dificuldade\nde uma tarefa nem ativam um modelo mais caro.\n\nO candidato local v4 mantém a seleção do principal em `manual` e configura\n`execution.runtime: codex_native` para PRD/SPEC e Tasks avulsas, com\n`autonomy: { version: 1, preset: balanced }`. São controles diferentes:\ninstalar/salvar o preset não inicia provider. O [guia 19](19-assurance-e-autonomia.md)\nexplica Essencial, Equilibrado e Persistente; o [guia 23](23-orquestracao-de-modelos.md)\ndetalha o alvo v4 Sol/high → Sol/high → Astra/high e execução elegível no\nterceiro bloco. Schema e template v4 já adotam Codex-native como padrão;\nadapters, pacote real e host ainda devem ser qualificados. O Essencial nunca usa Astra\nautomático. Principal avulso preserva a seleção manual; filhos seguem a\npolítica ZAIP verificada no host. Projetos e estados legados\nnão recebem migração silenciosa de quotas.\n\n## Construir o CLI\n\nSomente no repositório-fonte, para manutenção do framework:\n\n```bash\ncorepack pnpm install --frozen-lockfile\ncorepack pnpm build\nnode packages/cli/dist/index.js version\n```\n\nNesse checkout compilado, use `node packages/cli/dist/index.js ...` para os\ncomandos de lifecycle. Em `--workspace`, informe o destino autorizado; não\nconfunda a raiz fonte com o projeto consumidor.\n\n## Setup pelo CLI de lifecycle\n\nFaça primeiro um dry-run e revise conflitos:\n\n```bash\nzaip setup --workspace /caminho/do/projeto --dry-run --json\nzaip setup --workspace /caminho/do/projeto\nzaip doctor --workspace /caminho/do/projeto\n```\n\nO setup V2 cria ou valida:\n\n```text\n.agents/config/{project.yaml,framework.lock.yaml}\n.agents/rules/{core,workflow,architecture,security,context}.md\n.agents/requirements/{work-lifecycle,execution-engine,cost-observability,kanban-dashboard,context-engine,software-architecture}.md\n.agents/skills/\n.agents/records/{prds,specs,changes,tasks,executions,runs}/\n.agents/records/lifecycle/\n.local/claims/ # claims idempotentes do lifecycle; não é histórico canônico\n```\n\nO runtime `.agents/runtime` usa a `.agents/` da raiz como fonte canônica das Rules, dos seis\nRequirements de área e das skills. Em uma instalação nova, o setup cria config e os seis diretórios\nvazios de data, projeta somente os arquivos portáveis do framework e registra a versão de origem em\n`source_release`. Histórico, Changes, Tasks, Runs e aliases específicos deste repositório nunca são\ncopiados para o projeto consumidor.\n\nO setup identifica a propriedade pelo `framework.lock.yaml`: Rules presentes no lock pertencem ao\nframework; as demais são locais ao projeto e são preservadas em instalações e upgrades. Conflitos\nde ID ou contradições bloqueiam a operação; não existe override silencioso.\n\nTambém gera adapters mínimos, como `AGENTS.md` e os wrappers de skills dos clientes, sem sobrescrever conteúdo do usuário silenciosamente.\n\n## Migrar estado V1\n\n```bash\nzaip migrate plan --workspace /caminho/do/projeto --json\nzaip migrate plan --workspace /caminho/do/projeto --verbose --json\nzaip migrate apply --workspace /caminho/do/projeto --plan-hash HASH\nzaip migrate status --workspace /caminho/do/projeto\n```\n\nPor padrão, `plan` retorna somente fingerprint, contagens, findings e hash. `--verbose` acrescenta metadados e paths das operações, nunca payload base64. `apply` exige o hash revisado; uma reaplicação/retomada pode selecionar explicitamente `--migration ID`.\n\nA migração deve ser idempotente. Até ser aplicada e verificada, raízes V1 permanecem legado somente leitura. Para desfazer uma migração suportada:\n\n```bash\nzaip migrate rollback --workspace /caminho/do/projeto --migration ID\n```\n\n## Escolher a entrada certa\n\nUse Task-first para uma alteração pontual e bem delimitada. Use SPEC quando o objetivo técnico exige várias Tasks, dependências ou execução autônoma longa. Use PRD quando é necessário traduzir objetivo de negócio, usuários, métricas e restrições em uma ou mais SPECs.\n\nPRD e SPEC são opcionais. O intake captura uma vez por turno observável;\ncontinuação reutiliza o foco válido e publicação puramente Git não cria\nlifecycle. Para pergunta, feedback ou análise read-only, `conversation start`\ne `conversation finish` registram uma interaction sem Task/Change artificial.\nCriar/refinar explicitamente PRD/SPEC `draft` pode persistir macro e PreparedPlan\nna própria interaction, sem delivery. Fora dessa exceção, alterações persistentes\nde código, documentação ou configuração exigem delivery, Task materializada e\nRun raiz ativa antes da escrita; caches/builds e projeções geradas seguem as\nisenções da Rule de workflow. Interaction read-only sem descendentes não exige\nexecutor nem finalizador.\n\nUma solicitação direta de ação entra em Execução; ela não passa artificialmente por Definição ou Planejamento. Uma Task independente que foi apenas preparada e ainda não começou fica em Pronto para executar. No quadro, Definição é exclusiva de PRDs em draft e Planejamento é exclusivo de SPECs em draft. O contrato completo está em [Lifecycle de trabalho](28-lifecycle-completo.md).\n\n## Task-first\n\nCrie o draft manual, prepare e execute explicitamente:\n\n```bash\nzaip task create --title "Ajuste pontual" --short-name ajuste-pontual --objective "Resultado esperado" --requirements REQ-ID --acceptance AC-ID --write-scopes src/**\nzaip task prepare TASK-ID\nzaip task execute TASK-ID\n```\n\nTask-first não cria PRD nem SPEC sintéticas. `create` persiste somente a Task `draft`; `prepare` persiste o plano na Task; `execute` materializa Change e Execution rastreáveis antes da mutação. O prepare automático acima só aceita Task sem `depends_on`.\n\nTask-first registra objetivo, Requirements e Acceptance Criteria sem ocupar artificialmente as\ncolunas Definição ou Planejamento. Uma Task materializada como `planned`, nunca iniciada ou tentada, aparece em Pronto\npara executar; `task create` isolado ainda produz `draft`. Em pedidos diretos de ação, Change, Execution, Task e Run raiz são materializados\nantes da primeira mutação. Verificação e evidências sempre refletem registros reais.\n\nPara uma Task manual com dependências, modele a DAG completa em um draft de plano e gere o contrato canônico antes do prepare:\n\n```bash\nzaip plan build --draft ./task-plan-draft.json --output ./task-plan.json\nzaip plan validate --plan ./task-plan.json\nzaip task prepare TASK-ID --plan ./task-plan.json\nzaip task execute TASK-ID\n```\n\nO draft fornecido a `plan build` contém origem, Changes, Tasks, Execution, Requirements/AC e locks,\nmas não precisa calcular hash ou ordem topológica. Toda Task referenciada por `depends_on` precisa\nestar no mesmo plano. `plan validate` verifica o PreparedPlan completo sem materializá-lo.\n\n## SPEC opcional\n\n```bash\nzaip spec create --title "Objetivo técnico" --short-name objetivo-tecnico --objective "Resultado esperado"\nzaip spec prepare SPEC-ID --plan ./spec-plan.json\nzaip spec show SPEC-ID\nzaip spec execute SPEC-ID\n```\n\n`prepare` persiste IDs e DAG validada, sem criar Tasks. `execute` materializa a DAG de modo idempotente. A visão macro da SPEC agrega Tasks, Executions, Runs, evidências, retrabalho, tokens e custo.\n\n## PRD opcional\n\n```bash\nzaip prd create --title "Resultado de negócio" --short-name resultado-negocio --problem "Problema a resolver"\nzaip spec create --prd PRD-ID --title "Entrega técnica" --short-name entrega-tecnica --objective "Resultado técnico"\nzaip prd prepare PRD-ID --plan ./prd-plan.json\nzaip prd show PRD-ID\nzaip prd execute PRD-ID\n```\n\nÉ válido manter vários PRDs em rascunho, refinar alguns e executar somente os selecionados. `prepare`, `execute` e `deliver` bloqueiam PRD sem ao menos uma SPEC filha e qualquer Change do plano sem `spec_id`; o plano global inclui todas as Tasks e dependências selecionadas. `deliver` avalia somente as SPECs selecionadas no PreparedPlan do PRD, portanto outras SPECs filhas ainda em draft não bloqueiam a entrega.\n\nNa criação assistida, “me ajude a pensar” permanece Conversation. “Crie um PRD” faz até cinco perguntas críticas por turno e no máximo três turnos, depois persiste PRD/SPECs/PreparedPlan `draft` e registra decisões delegáveis da IA. Use uma SPEC por padrão; novas SPECs só representam capacidades independentes e paralelizáveis, sem arestas cross-SPEC. Blueprints compactos ficam visíveis antes do `ready`, mas Tasks/Changes/Execution só são materializadas quando o usuário pede “deixe/coloque em Pronto para Executar”, “finalize/conclua esse PRD” em `draft`, ou `execute`. A Run e o `creation_run_id` ficam vinculados ao macro; duração, tokens e custo só são agregados quando observados ou reconciliados e nunca são inventados quando indisponíveis.\n\n`execute` respeita Task, SPEC ou PRD conforme o menor grão nomeado. No alvo v4, pedido de ação como “implemente” sem PRD/SPEC explícito vira Task avulsa; menção genérica ao macro não autoriza criá-lo. Em `draft`, PRD/SPEC só executa quando essa intenção for explícita; “crie e execute” usa a mesma sessão/turno Codex, mas Runs separadas de definição e delivery. Em `ready` executa; em estados ativos/falhos continua, retoma ou cria rework. “Desenvolva/melhore/aprimore” preserva a intenção: ação independente é Task, mero refinamento mantém draft. PRD cancelado gera sucessor `draft` com tag `rework` e vínculo ao registro imutável.\n\n## Refinar sem executar\n\nNão existe comando `refine`. Enquanto PRD, SPEC ou Task estiver em `draft`, edite seu Markdown\ncanônico em `.agents/records`, incremente `revision` e atualize `updated_at`; em seguida use `show` e\nos validadores aplicáveis. Depois de `prepare`, não altere o plano silenciosamente: volte a um\ndraft por uma transição explicitamente suportada pela política da entidade ou cancele e crie um\nnovo draft. Isso preserva hash, auditoria e leitura humana.\n\nPara coleções grandes, use listagens compactas: `--status`, `--from`, `--to`, `--prd`, `--spec`, `--task`, `--limit` e `--after`. O padrão retorna no máximo 50 itens; `--all` é explícito.\n\n## Executar e acompanhar a DAG\n\nConsultas de acompanhamento:\n\n```bash\nzaip execution show EXEC-ID\nzaip task show TASK-ID\nzaip run show RUN-ID\nzaip run closure RUN-ID\n```\n\nA execução deve reutilizar a identidade real capturada do turno e seu alvo.\nNão crie um `run start --agent zaip-agent-finalizer` para simular a existência\nde Gui, nem interprete `run finish --status completed` como aprovação.\nO host captura spawn/terminal reais e persiste a decisão observada antes do\nStop canônico, conforme o [guia 16](16-lifecycle-e-reconciliacao.md).\n\nTasks `planned` cujas dependências estejam concluídas podem rodar em paralelo **somente em PRD/SPEC com DAG planejada**. Task avulsa é sequencial. Declare conflitos de arquivos, módulos, migrations, recursos ou ambientes como bloqueios da DAG; paralelismo não deve depender apenas de pertencerem a SPECs diferentes.\n\nCada Run raiz representa a orquestração de uma Execution. Seus filhos são Sub-Runs: ao menos um executor elegível vem do catálogo, e o último deve ser `zaip-agent-finalizer`; ele só inicia depois dos demais descendentes e impede novos filhos. A CLI aplica sua decisão como `completed`, `blocked`, `failed` ou `cancelled`; finalizador ausente ou falho produz `blocked`. `executing` e `verifying` nunca são estados válidos depois do término da Run raiz. Uma Task bloqueada continua pela mesma identidade com `task resume`. Uma Task falhada exige `task rework`, preserva a identidade e incrementa a tentativa. Tasks concluídas ou canceladas são imutáveis.\n\n### Assurance e autonomia\n\nAtive a garantia tipada sem ativar execução por provider:\n\n```yaml\nexecution:\n runtime: manual\nassurance:\n version: 1\n standard_depth: auto\n require_final_commit: true\n```\n\nTask standalone `lite` exige no mínimo uma validação e uma Evidence — normalmente uma de cada, sem rejeitar provas extras legítimas. `standard` exige duas ou três validações conforme o `verification_scope` persistido e pelo menos uma Evidence consolidada; registros históricos sem esse sinal usam o fallback conservador de write scopes. `critical` exige três ou mais, revisão independente e os controles acionados pelos sinais de risco persistidos. SPEC/PRD exigem ainda três validações e três Evidences parentais, matriz completa, integração e review independente. Para o runtime autônomo, configuração, controles e estratégia econômica, veja [Assurance adaptativa e autonomia opt-in](19-assurance-e-autonomia.md).\n\n## Changes, decisões e evidências\n\nCada alteração possui `.agents/records/changes/YYYY/MM/CHG-.../change.md`, criado antes da primeira mutação. Ele registra:\n\n- plano e Requirement deltas;\n- implementação;\n- decisões humanas e da IA;\n- evidências por Acceptance Criterion;\n- evals e testes;\n- resultado final.\n\nCada teste, revisão, eval ou check executado também deve gerar um artefato reproduzível em\n`artifacts/tests/`, `artifacts/evals/` ou `artifacts/checks/`. O registro inclui ao menos\n`executed_at` com timezone, comando, status, Task, Run e Acceptance Criteria cobertos. Quando uma\nverificação não se aplica, registre `status: not_applicable` e a justificativa; ausência de registro\npermanece pendência. O dashboard contabiliza testes e considera uma etapa rastreada somente quando\nexiste timestamp de origem, sem substituir ausência pelo horário da consulta.\n\nQuando houver prova observável por AC, siga o contrato\n[canônico](../../skills/zaip-skill-change/references/observable-evidence.md).\n`validation observe` registra uma declaração sanitizada inline; não abre arquivo\nde entrada, não executa o procedimento e não cria Validation aprovada. Somente\numa observação `confirmed` e vinculada pode complementar Evidence já compatível.\n\nDecisões curtas ficam inline. Se uma decisão exigir ADR, salve-o em `decisions/` dentro da própria Change ou Execution e mantenha o resumo no Markdown principal.\n\n## Runs e custos\n\nUma Execution é `interaction` para conversa sem Task artificial ou `delivery` para trabalho materializado; esta última coordena a DAG quando existir. Run é a chamada raiz do `zaip-agent-orchestrator` e possui `parent_run_id: null`; Sub-Run é cada chamada de subagente e possui `parent_run_id`. Ambas usam o ledger `RUN-*`, fixam modelo e effort e podem conter várias Calls, ferramentas e segmentos de uso. `run_purpose` distingue orquestração, execução, revisão, auditoria e finalização. Calls permanecem internas e suas quantidades, tokens e custos aparecem agregados na Run/Sub-Run.\n\nOperação oferece Trabalho (Kanban) e Trabalho (Lista), ambas com os filtros Todas as Tarefas, Visão Unificada Geral, PRDs, SPECs e Tarefas Avulsas. A lista mostra status, origem, Runs, Sub-Runs, duração, tokens, custo e cobertura. Operação e Monitor de Custos apresentam Runs e Sub-Runs separadamente. Cada Execution agrega contagens de Runs, Sub-Runs, finalizadores, Tasks finalizadas e Calls conhecidas sem dupla contagem; telemetria incompleta aparece como parcial. Cada segmento de uso é atribuído uma única vez; correções de duplicidade usam supersessão sem apagar o histórico.\n\nA captura do Codex persiste primeiro um envelope sanitizado em\n`.local/codex-telemetry-spool/v1/`, que permanece fora do Git. Depois do terminal da\ninvocação, a compactação produz um `InvocationSummary` e publica chunks e manifestos por\nano/mês/writer em `.agents/records/telemetry/`. Prompts, respostas, reasoning privado e segredos não\nentram nesses arquivos.\n\nQuando o Monitor de Custos recebe `from` e `to`, ele valida hashes e consulta os manifestos antes de\ncarregar somente os chunks compatíveis com o período e os filtros. Na ausência de summaries\naplicáveis, usa a projeção de Run existente sem promover a cobertura. O contrato completo, a\nsemântica de `complete|partial|unavailable` e o procedimento de recuperação estão em\n[Telemetria Git-native do Codex](27-telemetria-git-native.md).\n\nO status técnico do Run (`completed`, `failed` ou `cancelled`) é separado do resultado da Task (`completed`, `blocked`, `failed` ou `cancelled`). Assim, um Run pode concluir tecnicamente e bloquear a Task porque um gate não passou. `execution` começa quando uma tentativa explícita se inicia, mesmo sem diff; `changed_files` e `result` registram se houve mutação.\n\n```bash\nzaip run start --short-name exemplo --phase execution --run-purpose orchestration --entrypoint task --work-type new --client codex --agent zaip-agent-orchestrator --model MODEL --reasoning-effort EFFORT --conversation CONV-ID --execution EXEC-ID --task TASK-ID --change CHG-ID\nzaip run usage RUN-ID --input-tokens N --output-tokens N\nzaip run finish RUN-ID --status completed --task-outcome completed --summary "Resultado" --evidence EVD-ID --changed-files src/arquivo.ts\nzaip run closure RUN-ID\nzaip run show RUN-ID\nzaip run list --phase execution --task TASK-ID --limit 50\nzaip run aggregate --prd PRD-ID --from 2026-07-01 --to 2026-07-31\n```\n\n`run-v2` permanece alias compatível. `run list` retorna resumos compactos e paginados; combine\n`--phase`, `--entrypoint`, `--work-type`, `--conversation`, `--execution`, `--change`, `--task`,\n`--spec`, `--prd`, período e paginação. `run aggregate` usa os mesmos filtros para totalizar uso,\ncusto e cobertura sem dupla contagem. Valores ausentes permanecem nulos; dashboards mostram\ncobertura para impedir que custo desconhecido pareça custo zero.\n\nReconciliação global não roda ao abrir o dashboard, a cada turno ou em intervalo. Ela só é executada\nquando uma pessoa confirma o popup **Reconciliar** ou chama explicitamente\n`zaip run reconcile --open`. O reconciliador usa fatos locais: pode concluir uma Task com evento\nterminal exato; marca Run órfão depois da tolerância como falha técnica; transforma ausência de gates\nem bloqueio; e nunca infere cancelamento ou sucesso sem evidência. A v4\nacrescenta recuperação idempotente apenas da tentativa atual no fechamento ou\nno próximo evento Codex observável; não mantém agente rodando após o host parar.\n\n## Organizar frontend, backend e site\n\nCrie somente as superfícies usadas pelo projeto, mas preserve seus papéis:\n\n```text\napps/frontend/ # UI do produto\napps/backend/ # APIs e workers\napps/site/ # landing page e site público independente\nmodules/<area>/ # capacidades de negócio\npackages/<library>/ # bibliotecas técnicas\ntests/e2e/ # jornadas entre aplicações\n```\n\nA dependência aponta de `apps` para `modules` e destes para `packages`. O site público não importa\no dashboard, não lê `.agents` e não acessa implementação privada do backend.\n\nO dashboard ZAIP é outra fronteira, em `.agents/dashboard`. Ele possui somente\n`apps/frontend`; o servidor loopback fica em `packages/local-runtime`, acompanhado dos módulos\n`operations`, `cost-monitor` e `traceability`, demais packages próprios e `tests/e2e`. Ele lê\nos manifests canônicos em `.agents/records/lifecycle` e abre os demais records apenas por ID. A única\nreparação global iniciada pela UI ocorre após confirmação explícita no popup Reconciliar e usa o\ncomando canônico de reconciliação; não deve ser movido para o `apps/frontend` do produto\nnem publicado como `apps/site`.\n\nNo repositório-fonte do ZAIP, o gate de tamanho é executado isoladamente com:\n\n```bash\nnode scripts/validate-source-size.mjs\n```\n\nArquivos com 401–800 linhas geram warning; arquivos com 801 ou mais geram erro. Código gerado,\n`dist`, vendor, `node_modules`, `.agents/records` e lockfiles são ignorados. Exceções temporárias\nexistem apenas para legado não-dashboard, não podem crescer e precisam declarar responsável,\nmotivo e expiração.\n\n## Contrato CLI e taxonomia publicados\n\nO lifecycle observável avança em uma única direção: `conversation → planning → execution`. Task,\nSPEC e PRD são entrypoints distintos; Change narra a mutação, Execution coordena a DAG e Run mede\numa tentativa. O manifesto público do CLI cobre estas áreas e ações:\n\n```text\nzaip setup; zaip doctor\nzaip adapters build|check\nzaip context inventory|build|inspect\nzaip manifest rebuild|refresh|show|reconcile\nzaip verify --changed --risk lite|standard|critical\nzaip architecture validate; zaip cqrs validate; zaip modules validate; zaip profile validate\nzaip eval run\nzaip migrate plan|apply|status|rollback\nzaip plan build|validate|normalize\nzaip prd create|list|show|prepare|ready|execute|activate|deliver|block|fail|cancel\nzaip spec create|list|show|prepare|ready|execute|activate|deliver|block|fail|cancel\nzaip change list|show|start|resume|block|verify|complete|fail|cancel\nzaip task create|list|next|show|prepare|execute|start|resume|rework|block|verify|complete|fail|cancel\nzaip execution list|show|start|resume|pause|block|verify|complete|fail|cancel\nzaip conversation start|finish\nzaip subagent capture\nzaip run start|list|aggregate|usage|finish|closure|reconcile|show\nzaip decision list|show|record\nzaip generate; zaip guard diff; zaip ui; zaip version\n```\n\n`pnpm test:contract` impede drift entre este guia, o manifesto de comandos, versões de packages,\nruntime distribuído e o gate de tamanho. `pnpm test:e2e` executa primeiro esse contrato e depois o\nE2E do dashboard.\n\n## Validação\n\n```bash\nzaip adapters check\nzaip context inventory\nzaip architecture validate\nzaip modules validate\nzaip profile validate\nzaip cqrs validate\nzaip eval run\n```\n\n`modules validate` verifica fronteiras entre `apps`, `modules` e `packages`. `profile validate`\nverifica o contrato de stack declarado em `.agents/config/project.yaml`. CQRS é obrigatório apenas quando o escopo contém casos de uso, estado ou separação de\ncommands/queries.\n\nNo repositório-fonte, rode também `pnpm validate:skills` e `pnpm test:encoding` após alterar Rules, Requirements, skills ou documentação.\n',w=`# Contrato de telemetria do Monitor de Custos
|
|
1162
1215
|
|
|
1163
1216
|
Este guia descreve o contrato e não declara cobertura, totais ou preços de um período como estado atual.
|
|
1164
1217
|
|
|
1165
1218
|
## Escopo
|
|
1166
1219
|
|
|
1167
|
-
O Monitor de Custos é uma visão financeira da população de Runs de Operação. Cada linha preserva a disponibilidade de suas métricas: tokens sem captura, custo sem componentes/tarifa/câmbio suficientes e duração sem fonte permanecem
|
|
1220
|
+
O Monitor de Custos é uma visão financeira da população de Runs de Operação. Cada linha preserva a disponibilidade **canônica** de suas métricas: tokens sem captura, custo sem componentes/tarifa/câmbio suficientes e duração sem fonte permanecem \`null\`; não são convertidos em \`0\` na API, exportação ou cálculo nem removidos para produzir cobertura artificial. Na UI v4, cards/células numéricas carregados exibem \`0\` com cobertura “sem medição”, jamais o texto “Indisponível”; loading usa skeleton. A elegibilidade de uma estimativa de custo exige tokens e identidade de preço verificáveis, mas uma Run de lifecycle não precisa ter chamada LLM para continuar visível com lacunas explícitas.
|
|
1168
1221
|
|
|
1169
1222
|
## Fonte e proveniência
|
|
1170
1223
|
|
|
@@ -1181,7 +1234,7 @@ Tokens, custo e duração devem exibir sua proveniência. Tokens e configuraçã
|
|
|
1181
1234
|
|
|
1182
1235
|
Cobertura é calculada por métrica e pelo conjunto filtrado. \`100%\` para tokens, custo ou duração só significa que aquela métrica está completa segundo sua definição e proveniência declarada; não demonstra automaticamente que as outras estão completas ou que a duração foi observada. Recalcule a cobertura após qualquer mudança de critério e não reutilize uma auditoria anterior como prova do conjunto novo.
|
|
1183
1236
|
|
|
1184
|
-
Os agregados de Conversas, Providers, Agentes, Modelos, Diário, Mensal e Anual usam o mesmo conjunto filtrado da tabela e preservam as lacunas de cada métrica. Um agente configurado sem invocações no período é um agregado vazio real e exibe zero. Duração ausente exibe \`
|
|
1237
|
+
Os agregados de Conversas, Providers, Agentes, Modelos, Diário, Mensal e Anual usam o mesmo conjunto filtrado da tabela e preservam as lacunas de cada métrica. Um agente configurado sem invocações no período é um agregado vazio real e exibe zero. Duração ausente exibe \`0\` na UI v4 com marca de ausência, mas permanece \`null\` na fonte; uma duração derivada deve mostrar sua proveniência e não ser lida como captura.
|
|
1185
1238
|
|
|
1186
1239
|
Não use contagens, totais ou percentuais de auditorias passadas como diagnóstico atual. Consulte o período e os filtros da execução auditada; uma lacuna de coleta continua sendo lacuna, mesmo quando há estimativa ou reconciliação exibida.
|
|
1187
1240
|
|
|
@@ -1189,7 +1242,8 @@ Na Visão geral de Tasks, cobertura incompleta produz **Subtotal estimado
|
|
|
1189
1242
|
conhecido**, com valor e contagem conhecida/total. Médias de custo por item/hora
|
|
1190
1243
|
ficam indisponíveis nessa condição para não misturar populações.
|
|
1191
1244
|
Cobertura completa permite o rótulo **Custo estimado**. Sem soma
|
|
1192
|
-
conhecida, o valor continua
|
|
1245
|
+
conhecida, o valor canônico continua \`null\`; a UI v4 mostra \`0\` e cobertura
|
|
1246
|
+
“sem medição”. Um zero conhecido não é ocultado e tem cobertura distinta.
|
|
1193
1247
|
Esses três estados não equivalem a saldo, fatura ou custo integral do provider.
|
|
1194
1248
|
|
|
1195
1249
|
## Filtros e totais
|
|
@@ -1249,19 +1303,21 @@ resultado pendente em verde e não dispensa review/finalizador. Consulte o
|
|
|
1249
1303
|
|
|
1250
1304
|
Com \`autonomy-v1\`, a recuperação segue o preset congelado por Task:
|
|
1251
1305
|
Essencial 4/1 sem Astra automático, Equilibrado 10/3 e Persistente ilimitado.
|
|
1252
|
-
|
|
1306
|
+
No contrato-alvo v4, replanejamentos usam Sol/high nos dois primeiros e
|
|
1307
|
+
Astra/high no terceiro e seguintes permitidos;
|
|
1253
1308
|
Astra/high pode executar a partir do terceiro bloco fora do Essencial.
|
|
1254
|
-
Principal avulso preserva a seleção manual
|
|
1255
|
-
|
|
1309
|
+
Principal avulso preserva a seleção manual, mas delega a execução a
|
|
1310
|
+
subagente nativo Codex escolhido pelo ZAIP; Conversation não delega.
|
|
1311
|
+
Task avulsa não paraleliza. Filhos podem usar outra configuração.
|
|
1256
1312
|
Criticidade amplia assurance; não define a quota.
|
|
1257
1313
|
Veja [autonomia](19-assurance-e-autonomia.md) e [modelos](23-orquestracao-de-modelos.md).
|
|
1258
1314
|
|
|
1259
1315
|
## Entradas e planejamento
|
|
1260
1316
|
|
|
1261
1317
|
\`\`\`text
|
|
1262
|
-
Pergunta simples → resposta direta Análise
|
|
1263
|
-
Mudança delimitada → Task-first
|
|
1264
|
-
|
|
1318
|
+
Pergunta simples → resposta direta Análise read-only → Interaction
|
|
1319
|
+
Mudança delimitada → Task-first PRD pedido explicitamente → PRD draft
|
|
1320
|
+
SPEC pedida explicitamente → SPEC draft Continuação → retomar foco
|
|
1265
1321
|
Falha ou achado → rework Auditoria → audit
|
|
1266
1322
|
Deploy ou push → Git-only
|
|
1267
1323
|
\`\`\`
|
|
@@ -1301,7 +1357,7 @@ O controle de quotas depende do despacho gerenciado, não do desenho do fluxo.
|
|
|
1301
1357
|
|
|
1302
1358
|
## Lifecycle e operação
|
|
1303
1359
|
|
|
1304
|
-
O caminho de sucesso é Definição → Planejamento → Pronto para Executar → Execução → Verificação → Concluído. Bloqueado, Falhado e Cancelado são saídas alternativas. Conversation usa uma Execution \`interaction\`; Task
|
|
1360
|
+
O caminho de sucesso é Definição → Planejamento → Pronto para Executar → Execução → Verificação → Concluído. Bloqueado, Falhado e Cancelado são saídas alternativas. Conversation usa uma Execution \`interaction\`; Task avulsa pedida para executar inicia com subagentes Codex no alvo v4; Task preparada espera \`execute\`; SPEC coordena Tasks; PRD coordena SPECs selecionadas. Criação explícita de macro permanece \`draft\`, salvo \`ready\`/\`execute\` também pedidos; criar e executar no mesmo turno usa Runs separadas.
|
|
1305
1361
|
|
|
1306
1362
|

|
|
1307
1363
|
|
|
@@ -1312,7 +1368,8 @@ Para os contratos completos e comandos de lifecycle, consulte [28-lifecycle-comp
|
|
|
1312
1368
|
|
|
1313
1369
|
A política busca resolver a entrega com prova suficiente e reduzir retrabalho,
|
|
1314
1370
|
sem economia acima da qualidade nem persistência ilimitada por padrão.
|
|
1315
|
-
Este guia
|
|
1371
|
+
Este guia distingue o comportamento distribuído da política aprovada para a
|
|
1372
|
+
v4. A revisão documental não é release nem prova do despacho Codex-native.
|
|
1316
1373
|
O [guia 19](19-assurance-e-autonomia.md) contém configuração, contagem e limites
|
|
1317
1374
|
de \`autonomy-v1\`. A configuração efetiva do projeto e a versão instalada
|
|
1318
1375
|
prevalecem sobre exemplos.
|
|
@@ -1323,13 +1380,16 @@ autonomia não é perfil de instalação nem permissão.
|
|
|
1323
1380
|
|
|
1324
1381
|
## Principal avulso e delegação
|
|
1325
1382
|
|
|
1326
|
-
Conversation
|
|
1327
|
-
|
|
1328
|
-
o
|
|
1383
|
+
Conversation sem ação preserva o modelo e esforço escolhidos manualmente no
|
|
1384
|
+
Codex e responde sem subagente. Para Task avulsa, a v4 exige subagentes
|
|
1385
|
+
nativos: o principal coordena, e o ZAIP escolhe modelo/effort de cada filho
|
|
1386
|
+
por papel, fase, criticidade e preset congelado. Não paralelize Tasks avulsas.
|
|
1387
|
+
O ZAIP não altera silenciosamente o seletor do principal do usuário.
|
|
1329
1388
|
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1389
|
+
Para cada Task avulsa no contrato-alvo v4, delegue pelo catálogo nativo com
|
|
1390
|
+
escopo e responsabilidade explícitos. Especialidade, isolamento e
|
|
1391
|
+
revisão/finalização exigida determinam quais papéis adicionais são necessários.
|
|
1392
|
+
Antes, informe:
|
|
1333
1393
|
|
|
1334
1394
|
> Orquestração ZAIP: subagentes podem usar modelo e esforço diferentes do agente
|
|
1335
1395
|
> principal, conforme o perfil de autonomia. A configuração efetivamente
|
|
@@ -1351,8 +1411,8 @@ desde o início; a preferência direta não dispensa Evidence, revisão ou Gui.
|
|
|
1351
1411
|
| Preset | Replanejamento 1 | Replanejamento 2 | Replanejamento 3 | Execução Astra |
|
|
1352
1412
|
| --- | --- | --- | --- | --- |
|
|
1353
1413
|
| \`essential\` | Sol/high | Não existe | Não existe | Nunca automática |
|
|
1354
|
-
| \`balanced\` | Sol/high |
|
|
1355
|
-
| \`persistent\` | Sol/high |
|
|
1414
|
+
| \`balanced\` (alvo v4) | Sol/high | Sol/high | Astra/high | Elegível no bloco do terceiro replanejamento |
|
|
1415
|
+
| \`persistent\` (alvo v4) | Sol/high | Sol/high | Astra/high, e seguintes sem teto | Elegível a partir do terceiro replanejamento |
|
|
1356
1416
|
|
|
1357
1417
|
O Essencial permite no máximo quatro execuções de produto e um
|
|
1358
1418
|
replanejamento. O Equilibrado permite dez execuções e três replanejamentos.
|
|
@@ -1365,14 +1425,14 @@ fallback e configuração. Um modelo Astra configurado num agente não libera
|
|
|
1365
1425
|
Astra automático no Essencial.
|
|
1366
1426
|
|
|
1367
1427
|
Nos demais presets, Astra automático usa somente \`high\`: não \`xhigh\`,
|
|
1368
|
-
\`max\` ou \`ultra\`.
|
|
1428
|
+
\`max\` ou \`ultra\`. Na v4 só pode replanejar a partir do terceiro plano e executar a
|
|
1369
1429
|
partir do terceiro, quando a rota válida o selecionar; não se torna reviewer
|
|
1370
1430
|
ou finalizer. A exceção de execução não acrescenta tentativas nem amplia
|
|
1371
1431
|
write scopes.
|
|
1372
1432
|
|
|
1373
|
-
|
|
1374
|
-
\`gpt-6-astra\`. Executor e replanejador são
|
|
1375
|
-
|
|
1433
|
+
Os dois primeiros replanejamentos usam \`gpt-6-sol\`; o terceiro e os
|
|
1434
|
+
seguintes permitidos usam \`gpt-6-astra\`. Executor e replanejador são
|
|
1435
|
+
invocações diferentes. Um plano Astra não obriga o executor a usar Astra.
|
|
1376
1436
|
|
|
1377
1437
|
## Replanejar não é repetir sem diagnóstico
|
|
1378
1438
|
|
|
@@ -1426,9 +1486,9 @@ execution:
|
|
|
1426
1486
|
runtime: manual
|
|
1427
1487
|
\`\`\`
|
|
1428
1488
|
|
|
1429
|
-
Esse exemplo configura o preset **sem iniciar provider**.
|
|
1430
|
-
|
|
1431
|
-
gerenciado usa \`execution.runtime: managed\` para PRD/SPEC
|
|
1489
|
+
Esse exemplo configura o preset **sem iniciar provider**. Templates legados
|
|
1490
|
+
podem manter seleção \`model_orchestration.mode: manual\`. O coordenador
|
|
1491
|
+
gerenciado usa \`execution.runtime: managed\` para PRD/SPEC legados, ou
|
|
1432
1492
|
\`autonomous\` também para Task gerenciada explícita, provider/configuração
|
|
1433
1493
|
válidos, execução autorizada e worktree elegível. Salvar o preset no Dashboard
|
|
1434
1494
|
não faz essa ativação automaticamente.
|
|
@@ -1451,14 +1511,26 @@ fronteira da contagem determinística e da seleção automática. Uma chamada
|
|
|
1451
1511
|
nativa \`spawn_agent\` externa, feita diretamente pelo Codex, não é interceptada
|
|
1452
1512
|
pelo diário: instrução e captura posterior não equivalem a controle preventivo.
|
|
1453
1513
|
|
|
1454
|
-
O
|
|
1455
|
-
controle externo numa sessão manual. \`task migrate-autonomy\` exige preview,
|
|
1514
|
+
O candidato local v4 usa \`codex_native\`; o \`managed\` permanece para projetos
|
|
1515
|
+
legados, sem prometer controle externo numa sessão manual. \`task migrate-autonomy\` exige preview,
|
|
1456
1516
|
contagem histórica revisada e confirmação; não reinicia quotas ou aprova legados.
|
|
1457
1517
|
|
|
1458
|
-
A
|
|
1459
|
-
efetivamente observada devem aparecer separados.
|
|
1460
|
-
|
|
1461
|
-
o
|
|
1518
|
+
A escolha do principal, o catálogo gerado do filho e a configuração
|
|
1519
|
+
efetivamente observada devem aparecer separados. Na v4, o preflight precisa
|
|
1520
|
+
conferir capacidade e perfil Codex antes de reservar/despachar cada filho;
|
|
1521
|
+
captura posterior comprova o que ocorreu, não corrige uma chamada já feita.
|
|
1522
|
+
Se o host não suporta ou não permite confirmar o modelo/effort exigido,
|
|
1523
|
+
bloqueie a tentativa com razão explícita. Não afirme que um prompt mudou o
|
|
1524
|
+
modelo e não fabrique telemetria.
|
|
1525
|
+
|
|
1526
|
+
No Codex, a configuração de um agente customizado em \`.codex/agents/*.toml\`
|
|
1527
|
+
(\`model\` e \`model_reasoning_effort\`) tem precedência sobre os defaults globais
|
|
1528
|
+
de \`[agents]\` e sobre a herança do principal. Por isso, conferir só o YAML do
|
|
1529
|
+
ZAIP não prova o modelo de um filho nativo: o preflight deve inspecionar o
|
|
1530
|
+
papel efetivamente disponível e sua configuração antes do despacho. Se o papel
|
|
1531
|
+
fixar um modelo aposentado ou incompatível com o plano, falhe explicitamente;
|
|
1532
|
+
não registre GPT-6 como executado com base apenas na intenção do plano.
|
|
1533
|
+
Veja a [documentação oficial de subagentes do Codex](https://learn.chatgpt.com/docs/agent-configuration/subagents).
|
|
1462
1534
|
|
|
1463
1535
|
## Compatibilidade: model_orchestration sem autonomy
|
|
1464
1536
|
|
|
@@ -1537,7 +1609,7 @@ O Fast do Codex é consumo de créditos da assinatura e não prova que uma requi
|
|
|
1537
1609
|
|
|
1538
1610
|
## Invariantes de telemetria
|
|
1539
1611
|
|
|
1540
|
-
O Monitor de Custos preserva a disponibilidade por métrica. Custo equivalente só é calculado quando os tokens, a identidade de preço e a tarifa necessária estão disponíveis. Lifecycle e telemetria parcial continuam visíveis com lacunas explícitas. \`null\` permanece \`
|
|
1612
|
+
O Monitor de Custos preserva a disponibilidade por métrica. Custo equivalente só é calculado quando os tokens, a identidade de preço e a tarifa necessária estão disponíveis. Lifecycle e telemetria parcial continuam visíveis com lacunas explícitas. \`null\` permanece \`null\` nos registros, API, exportação e cálculo; nunca vira custo observado zero. Na UI v4, cards e células numéricas carregados exibem \`0\` e cobertura “sem medição”, sem o literal “Indisponível”; loading usa skeleton. A projeção pode mostrar duração reconciliada, inferida ou estimada com proveniência, mas isso não é duração observada nem comprova uma medição da chamada.
|
|
1541
1613
|
|
|
1542
1614
|
\`\`\`text
|
|
1543
1615
|
cached_input <= input
|
|
@@ -1626,6 +1698,11 @@ Registro local de consulta em 15 de julho de 2026. Valores operacionais ficam no
|
|
|
1626
1698
|
|
|
1627
1699
|
O candidato de release precisa passar gates locais, clean-room e distribuição pública sem confundir validação técnica com aprovação de produção.
|
|
1628
1700
|
|
|
1701
|
+
As decisões de [lifecycle v4](28-lifecycle-completo.md#contrato-aprovado-para-a-v4-a-implementar-e-qualificar)
|
|
1702
|
+
estão documentadas antes da alteração estrutural. Documentação aprovada não
|
|
1703
|
+
equivale a implementação ou nota de produção; qualifique também a distribuição
|
|
1704
|
+
instalada, Codex real, modelo/effort observados, fila e UI.
|
|
1705
|
+
|
|
1629
1706
|
## Cobertura
|
|
1630
1707
|
|
|
1631
1708
|
\`pnpm test:coverage\` mede os módulos de domínio e aplica um ratchet versionado:
|
|
@@ -1663,8 +1740,10 @@ remota manual; não é fallback para assinatura ausente. Uma Release GitHub publ
|
|
|
1663
1740
|
não prova publicação npm: acompanhe o job até a confirmação do registry. Os comandos
|
|
1664
1741
|
abaixo são do mantenedor; não presuma que existam no projeto consumidor.
|
|
1665
1742
|
|
|
1666
|
-
Dados históricos incompletos
|
|
1667
|
-
|
|
1743
|
+
Dados históricos incompletos conservam \`null\`/cobertura na fonte, API e
|
|
1744
|
+
exportação. Na UI v4, cards/células numéricas carregados mostram \`0\` com
|
|
1745
|
+
“sem medição”, sem exibir “Indisponível”; loading não mostra zero. Não se
|
|
1746
|
+
exige reconstruir fatos que nunca foram capturados.
|
|
1668
1747
|
Isso não dispensa paridade entre records, API e UI para o mesmo conjunto conhecido,
|
|
1669
1748
|
testes dos dados novos, nem fechamento canônico de Tasks sem sucesso inventado.
|
|
1670
1749
|
|
|
@@ -1701,8 +1780,10 @@ contra o manifest do próprio pacote, incluindo a Rule Astra, e verifica que
|
|
|
1701
1780
|
os READMEs da raiz do consumidor sobrevivem à instalação e à reinstalação.
|
|
1702
1781
|
O relatório registra a quantidade de arquivos documentais conferidos.
|
|
1703
1782
|
|
|
1704
|
-
|
|
1705
|
-
para PRD/SPEC e
|
|
1783
|
+
O candidato v4 mantém seleção do principal em \`manual\`, runtime
|
|
1784
|
+
\`codex_native\` para PRD/SPEC e Tasks avulsas, e preset Equilibrado.
|
|
1785
|
+
O npm publicado anteriormente mantém o contrato da sua versão; o TGZ v4
|
|
1786
|
+
e a execução real no Codex exigem qualificação própria.
|
|
1706
1787
|
A documentação não deve confundir
|
|
1707
1788
|
perfil de instalação com modelo/effort nem apresentar estimativas de tokens
|
|
1708
1789
|
como economia financeira medida. O escopo automático e os limites Astra
|
|
@@ -1849,7 +1930,7 @@ anteriores, testes simulados de modelos e evidência local não certificam
|
|
|
1849
1930
|
o candidato final nem seu uso em produção.
|
|
1850
1931
|
|
|
1851
1932
|
O [guia 19](19-assurance-e-autonomia.md) registra as fronteiras atuais: controle
|
|
1852
|
-
preventivo de cotas/modelos somente no despacho gerenciado; avulsa direta exige
|
|
1933
|
+
preventivo de cotas/modelos somente no despacho gerenciado; avulsa direta legada exige
|
|
1853
1934
|
autorização explícita desde a captura e identidade observada, sem executor
|
|
1854
1935
|
cerimonial. Revisão aplicável, Evidence e Gui continuam obrigatórios.
|
|
1855
1936
|
|
|
@@ -2005,6 +2086,12 @@ indisponíveis. Por isso:
|
|
|
2005
2086
|
- \`null\` significa desconhecido e nunca é convertido em \`0\`;
|
|
2006
2087
|
- “sem custo observado” não significa “custo zero”.
|
|
2007
2088
|
|
|
2089
|
+
Essa regra governa fonte, API, agregação e exportação. A UI v4 apresenta
|
|
2090
|
+
\`0\` em cards e células numéricas **após** carregar, mesmo quando a fonte é
|
|
2091
|
+
\`null\`, sempre com cobertura/tooltip “sem medição”; não apresenta o texto
|
|
2092
|
+
“Indisponível” nesses componentes. Durante loading, use skeleton. O numeral
|
|
2093
|
+
visual não pode alimentar totais, médias, preços ou Evidence como zero real.
|
|
2094
|
+
|
|
2008
2095
|
## Operação e recuperação
|
|
2009
2096
|
|
|
2010
2097
|
1. Não edite nem remova manualmente o spool, chunks, manifestos ou writer ID.
|
|
@@ -2047,7 +2134,7 @@ legados, substituição, truncamento, exclusão e concorrência exigem verifica
|
|
|
2047
2134
|
de integridade e fallback completos. Redução mensurada, baseline equivalente,
|
|
2048
2135
|
cobertura e carga concorrente precisam constar do benchmark; não declarar a
|
|
2049
2136
|
matriz de performance aprovada apenas porque consultas focadas passaram.
|
|
2050
|
-
`,j='# Lifecycle de Conversations, Tasks, SPECs e PRDs\n\nEste documento é a referência pública do lifecycle implementado pelo ZAIP-AIOS. Status persistido, Run, coluna do Kanban e reconciliação possuem responsabilidades distintas e não devem ser inferidos uns dos outros.\n\n## Classificação de entrada\n\nAliases são resolvidos com alvo e status persistido, nunca por palavra isolada. `pronto`, `deixe/coloque em Pronto para Executar` e `ready-to-execute` resolvem para `ready`. `finalizar|concluir|finalize|conclude` em PRD/SPEC `draft|ready` lapidam e resolvem para `ready`; em trabalho ativo, “conclua a execução/finalize a implementação” continua Tasks e gates. Somente `entregar|deliver` após gates solicita entrega terminal.\n\n`implemente` sem alvo abre somente uma Conversation de planejamento; em `draft` finaliza o plano sem executar, em `ready` executa e em `active|blocked|failed` continua, retoma ou cria rework. `desenvolva|melhore|aprimore` sempre planeja/refina/rework. PRD cancelado é imutável e recebe sucessor `draft` com tag `rework` e `rework_of_prd_id`.\n\n## Criação completa de PRD e SPEC\n\n“Me ajude a pensar” é Conversation. “Crie um PRD” revisa o prompt, faz até cinco perguntas críticas por turno durante no máximo três turnos e então persiste PRD `draft`, SPECs técnicas `draft` e PreparedPlan com blueprints de Tasks. Decisões delegáveis restantes são registradas como IA; autoridade externa/destrutiva, credenciais e riscos não delegáveis continuam bloqueantes.\n\nUse uma SPEC por padrão. Outra só existe quando pode ser implementada e verificada em paralelo contra contrato estável, sem depender de outra SPEC ou disputar write scopes. Dependências e ordem ficam entre Tasks da mesma SPEC.\n\nAntes de `ready`, blueprints aparecem apenas como lista compacta no PRD/SPEC; `prd create --plan` e `spec create --plan` validam o pacote antes da escrita, usam criação exclusiva por arquivo e rollback compensatório se uma etapa falhar, mas não prometem uma transação atômica multiarquivo contra interrupção abrupta. Não existem registros Task, Change ou Execution `delivery` nessa etapa. `prd create|rework|prepare` exige uma Run delegada da Bia (`zaip-agent-analyst`) e `spec create|rework|prepare` exige uma Run delegada do Rafa (`zaip-agent-builder`), sempre ativas e vinculadas ao turno raiz atual, com propósito `execution`. Em criação composta, `prd create --plan --run <bia-run> --spec-run <rafa-run>` exige duas Runs distintas sob o mesmo orquestrador: o PRD recebe a autoria da Bia e as SPECs recebem a autoria do Rafa. Replays históricos e identidades trocadas falham antes de escrever artefatos. Duração, tokens e custo são agregados quando observados ou reconciliados e permanecem `null` quando indisponíveis. `ready` materializa Tasks/Changes/Execution como `planned` em operação idempotente; `execute` inicia o menor grão nomeado.\n\n| Entrada | Quando usar | Cria Task? | Estado inicial visível |\n| --- | --- | --- | --- |\n| Conversation | Pergunta, feedback, status ou análise pontual read-only; cria Execution `interaction` | Não | Sem card |\n| Task avulsa executável | Pedido direto de alteração ou resultado independente | Sim | Execução antes da primeira mutação |\n| Task avulsa preparada | Pedido explícito de planejamento sem autorização de executar | Sim | Pronto para Executar |\n| SPEC | Entrega técnica com múltiplos blueprints ou DAG | Tasks em `ready|execute` | Planejamento enquanto `draft` |\n| PRD | Definição de produto organizada em SPECs independentes | Tasks em `ready|execute` | Definição enquanto `draft` |\n\nConversa de análise nunca altera código, documentação ou configuração. A criação ou o refinamento explícito de PRD/SPEC `draft` é a única exceção de definição: a Execution `interaction` pode persistir o macro e seu PreparedPlan sem Task, Change ou Execution `delivery`. Fora dessa exceção, qualquer mutação persistente intencional exige Task materializada e Run raiz de orquestração ativa antes da escrita.\n\nSão isentos apenas deploy/publicação Git sem mudança de produto, manifests e telemetria ZAIP gerados pelo lifecycle, metadados `.git`, caches, builds, testes e arquivos temporários descartáveis. Editar fontes ou documentação do ZAIP não é isento.\n\n## Colunas do Kanban\n\n| Coluna | Regra |\n| --- | --- |\n| Definição | Exclusiva de PRD `draft` |\n| Planejamento | Exclusiva de SPEC `draft` |\n| Pronto para Executar | PRD/SPEC `ready` e toda Task `planned` nunca iniciada ou tentada, avulsa ou vinculada a SPEC |\n| Execução | Task `executing`; SPEC/PRD `active` |\n| Verificação | Task `verifying` ou macro executando gates parentais |\n| Concluído | Task `completed` ou macro `delivered` |\n| Bloqueado | Resultado retomável com condição objetiva |\n| Falhado | Erro técnico impeditivo; exige rework |\n| Cancelado | Cancelamento humano explícito e imutável |\n\nActivity local nunca prevalece sobre um status final persistido. Uma invocação obsoleta não pode reviver Task concluída, bloqueada, falhada ou cancelada.\n\n## Trabalho, Execution, Run, Sub-Run e Call\n\nAs cinco camadas possuem responsabilidades diferentes:\n\n| Camada | Responsabilidade |\n| --- | --- |\n| Trabalho | Task, SPEC ou PRD que descreve o resultado e seu lifecycle |\n| Execution | `interaction` registra uma conversa; `delivery` coordena Task, Change e DAG quando aplicável |\n| Run | Chamada raiz do `zaip-agent-orchestrator`; possui `parent_run_id: null` |\n| Sub-Run | Chamada de subagente feita dentro da Run; possui `parent_run_id` |\n| Call | Invocação interna de modelo LLM; herda a configuração da Run/Sub-Run |\n\nRun e Sub-Run compartilham o mesmo ledger canônico `RUN-*`; a distinção é derivada de `parent_run_id`, sem entidade duplicada. `run_role` usa somente `intake`, `orchestrator` ou `subagent`; valores históricos `owner` e `contributor` são aceitos apenas na leitura e normalizados imediatamente. `run_purpose` informa se a chamada executa `orchestration`, `execution`, `review`, `audit` ou `finalization`.\n\nCada Run/Sub-Run fixa agente, modelo e effort até terminar. Mudança deliberada de agente, modelo, effort ou fase material abre outra chamada de agente; retry técnico preserva a configuração corrente. Calls podem ser várias dentro da mesma chamada de agente e não possuem lifecycle nem tela própria.\n\nQuando o host expõe Calls, a Run/Sub-Run agrega quantidade conhecida, terminais, falhas, cancelamentos, configuração efetiva, tokens e custo. Ausência de telemetria permanece `null`; nunca se presume zero e nunca se cria `CallProjection`.\n\n### Barreira do finalizador\n\nCada tentativa de Task tem um orquestrador responsável. Uma raiz física Task-scoped é esse responsável; uma raiz macro delega um por Task, preservando ancestry real. Um executor é escolhido pelas capacidades e pela elegibilidade declarada no catálogo: `zaip-agent-builder` e `zaip-agent-task-executor` podem executar delivery, e `zaip-agent-analyst` pode executar interaction. Revisão, auditoria e integração podem participar. Depois que todos os demais descendentes terminarem, o orquestrador deve chamar `zaip-agent-finalizer` como último Sub-Run, com propósito `finalization`, como filho direto do responsável da Task, não do executor.\n\nO finalizador é read-only: avalia resultados, gates e Evidence e retorna somente o status terminal proposto, motivo e referências. A CLI aplica deterministicamente a transição. O início do finalizador cria uma barreira: ele não pode começar com descendentes ativos e nenhum filho novo pode iniciar depois dele. Finalizador ausente, incompleto ou falho resulta em `blocked`, nunca em Task presa em `executing` ou `verifying`.\n\nNo modo nativo do Codex, a orquestração materializa essa etapa como um envelope de delegação com `purpose: finalization`, `agent_id: agent-finalizer`, escopo de escrita vazio e chave de idempotência própria. Uma Execution em `verifying` só recebe esse envelope; o host deve iniciar a Sub-Run real correspondente e registrar a telemetria dela. O framework não cria Run, Call, custo ou resultado sintético quando o host não a executa.\n\nO status técnico da Run/Sub-Run (`completed`, `failed`, `cancelled`) é diferente do resultado da Task (`completed`, `blocked`, `failed`, `cancelled`). Uma Run tecnicamente concluída pode bloquear a Task porque um gate ou Evidence não passou.\n\nUma observação por AC não altera esse lifecycle nem substitui os gates. Ela é\numa declaração versionada cujo vínculo só pode complementar Evidence quando\n`confirmed` e coerente; os demais estados preservam pendência ou falha. Veja o\n[contrato de prova observável](../../skills/zaip-skill-change/references/observable-evidence.md).\n\nExemplo:\n\n```bash\nzaip run finish RUN-ID \\\n --status completed \\\n --task-outcome blocked \\\n --summary "Gate de integração pendente"\nzaip run closure RUN-ID\n```\n\n## Fechamento e retomada de Tasks\n\nAntes de uma Run raiz terminar, sua Task deve estar em um destes estados:\n\n- `completed`: resultado e gates aprovados;\n- `blocked`: inconclusão retomável, dependência externa ou gate insuficiente;\n- `failed`: erro técnico/integridade que impediu a execução válida;\n- `cancelled`: pedido humano explícito.\n\n`executing` e `verifying` nunca são estados válidos no fim da tentativa. Use `task resume` para `blocked` e `task rework` para `failed`; ambas preservam a Task, e cada nova entrada em execução incrementa a tentativa. `completed` e `cancelled` não reabrem.\n\nInterromper a geração é uma interrupção retomável e resulta em `blocked`. “Cancelar a Task” é uma decisão explícita e resulta em `cancelled`.\n\n## Agregação de SPEC e PRD\n\nQuando a primeira Task filha inicia, SPEC e PRD relacionados passam para `active` e permanecem em Execução enquanto restar trabalho macro, inclusive entre Runs. O resultado isolado de uma Task não terminaliza o pai.\n\n- Task bloqueada/falhada mantém o macro em Execução para que outras Tasks e decisões parentais continuem.\n- SPEC/PRD aguardam todas as Tasks e Runs filhas.\n- Depois que todas as Tasks concluem, o macro entra em Verificação.\n- Delivery exige gates, integração, Acceptance Criteria, outcomes e Evidence próprios do pai.\n\n## Reconciliação manual\n\nO dashboard executa `zaip run reconcile --open --json` somente depois que o usuário confirma o popup Reconciliar. Não há reconciliação global ao abrir o dashboard, em cada turno ou em intervalo automático.\n\nO algoritmo é idempotente e conservador:\n\n- `task_complete` local exato permite finalizar tecnicamente a Run e tentar os gates;\n- gate insuficiente produz `blocked`, nunca sucesso inventado;\n- Run sem invocação ativa por dez minutos é órfã e termina como `failed`;\n- `cancelled` nunca é inferido;\n- Tasks apenas prontas, sem Run terminal atribuída, não são reavaliadas como travadas.\n\nO hook pre-write é diferente da reconciliação: ele verifica localmente se o turno atual possui Run raiz e Task em execução antes de permitir mutação. Essa checagem não chama modelo, não consome tokens e não percorre o backlog.\n\n## Projeção no dashboard\n\nEm Operação e Monitor de Custos, “Chamadas do agente orquestrador” e “Chamadas de subagentes” possuem filtros separados. A tabela de Executions agrega, sem dupla contagem, Runs de orquestrador, Sub-Runs, Sub-Runs finalizadores, Tasks finalizadas e Calls de LLM conhecidas. Quando nem todas as Calls são observáveis, a contagem é marcada como parcial em vez de assumir zero.\n\nTrabalho possui duas leituras da mesma projeção: Trabalho (Kanban), por estágio, e Trabalho (Lista), tabular. As duas mantêm os filtros Todas as Tarefas, Visão Unificada Geral, PRDs, SPECs e Tarefas Avulsas. A lista expõe indicadores operacionais por item, incluindo status, origem, Runs, Sub-Runs, duração, tokens, custo e cobertura.\n\nCada segmento de telemetria possui uma chave de origem e só pode ser atribuído uma vez. Correções de duplicidade preservam o evento histórico e registram uma supersessão; projeções nunca devem somar os dois eventos.\n\n## Persistência compacta da telemetria\n\nMicroeventos observáveis do Codex são sanitizados e gravados primeiro no spool local ignorado pelo\nGit. Depois de um terminal ou erro, eles são compactados em um `InvocationSummaryV1` por invocação\nde agente. Os summaries são organizados em chunks imutáveis e manifestos mensais por writer em\n`.agents/records/telemetry/<ano>/<mês>/writers/<writer-id>/`.\n\nEssa compactação não substitui o ledger `RUN-*`: a Run continua sendo a fonte de lifecycle,\natribuição e evidência. O summary é a fonte compacta de métricas observadas. O Dashboard combina as\nduas leituras sem dupla contagem; tokens e custos do summary são autoritativos quando válidos, mas\numa duração delimitada do lifecycle é preservada se a fonte compacta não conhece a duração.\n\nCobertura é independente por métrica. Tokens, Calls, custo, duração e latência podem ter estados\ndiferentes na mesma invocação. `known_sum`, `unknown_count` e `coverage_ratio` precisam viajar\njuntos; `null` nunca é normalizado para zero. Detalhes de armazenamento, integridade, fallback e\nrecuperação estão em [Telemetria Git-native do Codex](27-telemetria-git-native.md).\n\n## Recuperação e autonomia v1\n\nO [guia 16](16-lifecycle-e-reconciliacao.md) detalha a decisão imutável do Gui\ne o relay antes do Stop: não exija que um finalizador read-only permaneça\nativo esperando recibos. Ele é último filho direto do responsável da Task,\nnão de cada executor. Um orquestrador delegado conserva a ancestry real.\n\nOs [presets](19-assurance-e-autonomia.md) pertencem à Task estável:\nEssencial 4/1, Equilibrado 10/3, Persistente ilimitado. Reinício e `resume`\nnão renovam quota; `attempt_count` do lifecycle não substitui o diário\nde reservas do runtime. Ausência de Evidence é bloqueio, erro técnico\ncomprovado é falha e tempo não determina abandono.\n\nFechamento técnico, estado canônico da Task, projeções e entrega parental\nprecisam ser confirmados separadamente. A preferência avulsa direta não remove\no gate de executor capturado ainda exigido pelo contrato atual.\n',M=e(t(),1),N=`# ZAIP-AIOS (6 Squads + 23 Agents)
|
|
2137
|
+
`,j='# Lifecycle de Conversations, Tasks, SPECs e PRDs\n\nEste documento separa o lifecycle existente do contrato aprovado para a v4.\nStatus persistido, Run, coluna do Kanban e reconciliação possuem\nresponsabilidades distintas e não devem ser inferidos uns dos outros.\n\n## Contrato aprovado para a v4 (a implementar e qualificar)\n\nAs regras a seguir são decisões de produto, **não** prova de que o runtime,\nhooks, Dashboard ou pacote npm atuais já as impõem. A qualificação deve\ncomparar código-fonte, artefato empacotado e uso real no Codex.\n\n1. Pergunta/análise read-only é Conversation, sem Task ou subagente. Pedido de\n ação independente vira Task avulsa e usa subagentes nativos Codex, mesmo\n quando o texto não menciona Task. Mencionar PRD/SPEC não os cria; crie macro\n apenas por pedido explícito e mantenha `draft` até `ready` ou `execute`\n explícito. Trabalho avulso crítico pode recomendar um macro, sem converter\n automaticamente nem paralisar a ação já autorizada.\n2. “Crie e execute PRD/SPEC” pode acontecer no mesmo **turno do Codex**. A\n definição usa sua Run `interaction`; a implementação usa outra Run\n `delivery`, vinculada ao mesmo alvo e turno. Nunca reutilize ou reescreva a\n Run de definição como se tivesse executado o produto. “Crie” isolado\n termina em `draft`; `ready` não executa; `execute` não precisa passar\n temporariamente pelo card Pronto para Executar.\n3. A Task avulsa é sequencial. Paralelismo produtivo só ocorre para Tasks de\n PRD/SPEC em DAG planejada, com independência, escopos e recursos\n compatíveis. Cada tentativa de Task termina `completed`, `blocked`,\n `failed` ou `cancelled` antes de a Run responsável encerrar. Na falta de\n prova/decisão, o fallback é `blocked`, com causa e condição de retomada;\n nunca invente sucesso ou cancelamento. SPEC/PRD aguardam **todas** as\n Tasks da DAG em estados terminais. Dependentes inviabilizadas por uma\n Task bloqueada/falhada recebem terminal objetivo; somente depois disso e\n dos gates parentais o macro pode ser entregue ou terminalizado com causa.\n4. Cada rodada horária, se o usuário tiver instalado a automação Codex,\n reivindica somente **um** item superior `ready`: PRD, depois SPEC\n independente, depois Task avulsa. Dentro da classe respeita a prioridade\n manual do Kanban. Descendentes, ativos e terminais não são candidatos.\n Lease e releitura do estado impedem seleção duplicada. Arquivos Git não\n acordam o Codex; não prometa trabalho após o host parar.\n5. O preset `balanced` admite três replanejamentos reais por Task, com\n diagnóstico Sol/high → Sol/high → Astra/high. Reserva antes do despacho,\n evento observado, hipótese nova, teste discriminante e ledger imutável\n evitam recontagem ou alegação de tentativa não executada. O controle\n gerenciado existente não intercepta qualquer `spawn_agent` nativo; a v4\n precisa implementar um preflight compatível com o host e bloquear quando\n modelo, effort ou ferramenta requeridos não puderem ser assegurados.\n6. A reconciliação global do backlog continua manual. A tentativa **atual**\n pode ser conciliada de modo idempotente ao fechamento ou no próximo evento\n observável da mesma Task/turno; não há garantia de código rodando após o\n Codex encerrar. Dashboard e scheduler apenas mostram/retomam fatos\n canônicos, sem inferir aprovação.\n7. Depois do carregamento, cards e células **numéricas** do Dashboard exibem\n `0` para ausência de medição; não exibem a palavra “Indisponível”. Mostram\n também cobertura/tooltip “sem medição”, pois zero observado é diferente.\n Durante carregamento exibem skeleton, não zero. Records, APIs, exports e\n cálculos preservam `null`/cobertura parcial; zero visual nunca altera a\n fonte canônica nem entra em somas como observação.\n\nO candidato local v4 usa `codex_native` no schema e no template npm. O modo\nnão inicia um processo autônomo separado; a efetividade da rota nativa ainda\ndepende da capacidade real da sessão Codex. Compatibilidade legada permanece\nseparada do caminho padrão novo. Isso não comprova publicação no npm.\n\n## Fronteiras nativas e prova de compatibilidade\n\nEsta é a matriz de aceite para o contrato acima. Um texto em `AGENTS.md`, Rule\nou skill instrui o agente, mas não altera sozinho o seletor de modelo do host,\nnão intercepta toda chamada e não cria um relógio. O caminho v4 usa as\nferramentas reais do Codex e valida capacidades disponíveis na sessão antes\nde prometer uma garantia.\n\n| Fronteira | Comportamento exigido para a v4 | Prova antes de anunciar suporte |\n| --- | --- | --- |\n| Intake | Separar Conversation de ação e correlacionar turno, intenção e alvo sem Task artificial. | Fixtures para pergunta, ação avulsa, criação `draft`, `ready`, execução e “crie e execute”; ausência de artefatos indevidos. |\n| Subagente nativo | Em toda Task avulsa, despachar um filho real e aguardar seu resultado; execução produtiva sequencial. Só uma DAG de PRD/SPEC autoriza filhos produtivos paralelos. | Captura de `spawn_agent`, identidade, modelo/effort solicitados e efetivamente observáveis, resultado terminal e nenhuma Task concorrente fora da DAG. |\n| Modelo e esforço | Consultar agente/perfil que o host disponibiliza. Validar a rota antes do spawn; preservar seleção manual do principal e distinguir intenção de configuração efetiva. | Teste com agente GPT-6 válido, modelo não disponível e fallback inesperado. Sem comprovação da configuração efetiva, manter telemetria `null` e bloquear a garantia automática. |\n| Replan | Reservar e registrar até três diagnósticos reais no Equilibrado, Sol/high, Sol/high, Astra/high; plano exige hipótese nova e teste que distingue a causa. | Ledger idempotente, casos de erro, interrupção, retry e capacidade ausente; não contar prompt, timeout ou reserva sem execução como diagnóstico concluído. |\n| Fechamento | Aguardar filhos e provas, executar Gui como último filho e aplicar sua decisão. Se Gui não iniciar, falhar ou a Run parar, o caminho confiável de fechamento registra `blocked` com motivo e retomada, sem inventar decisão de Gui. | Testes de Stop, interrupção e replay; nenhuma tentativa **formalmente encerrada** fica `executing`/`verifying`; recibo recuperável quando a escrita falha. |\n| Agenda | Instalar somente a pedido uma tarefa agendada nativa do desktop para um item superior `ready` por rodada, com lease e prioridade do Kanban. | Inspeção da automação realmente criada, duas rodadas sem duplicação e teste de worktree/local; sem app/máquina ativa, informar ausência de execução. |\n| Dados e UI | Reconciliar fontes canônicas e worktrees; mostrar skeleton durante carga e `0` visual nos campos numéricos sem medição, com cobertura explícita. | Comparar records → SQLite → API → cards/tabelas; `null` continua em API/export/cálculo, inclusive nos períodos Hoje/Ontem/Esta Semana. |\n| Distribuição | Builder e projeto novo/atualizado pelo npm instalam os mesmos adapters, Rules, skills e configuração suportada. | Testar TGZ exato em fixture limpa e atualização Windows/PowerShell, `doctor`, adaptadores, ciclo Codex e idempotência. |\n\nOs [subagentes do Codex](https://learn.chatgpt.com/docs/agent-configuration/subagents)\npermitem perfis próprios e herança de modelo/effort; a disponibilidade\nconcreta e o agente escolhido dependem da sessão. Os\n[hooks do Codex](https://learn.chatgpt.com/docs/hooks) cobrem muitas\nferramentas locais, mas admitem caminhos especializados fora dessa cobertura.\n`PreToolUse` pode impedir chamadas cobertas; `Stop` pode solicitar uma nova\ncontinuação, não provar que o trabalho terminou, nem impedir uma interrupção\nhumana. Por isso o hook é checkpoint e reparo observável, nunca substituto\nuniversal de estado canônico, Gui ou ferramenta de despacho. As\n[tarefas agendadas](https://learn.chatgpt.com/docs/automations) têm execução\nprópria do app; em projeto local dependem de computador ligado e app ativo.\nO agendamento não é instalado só porque os arquivos existem no Git.\n\nSe o processo for encerrado antes do Stop ou da escrita, nenhum componente\nlocal consegue garantir a transição **naquele instante**. A garantia honesta é\num evento durável recuperável e a conciliação na próxima execução observável;\naté lá, o estado pode continuar aberto e o Dashboard deve indicá-lo, não\ninventar um terminal. Esse limite do host não autoriza encerrar a Run com\n`executing` como se fosse sucesso.\n\nLacunas verificadas neste candidato: a CLI recusa `task block` direto sem decisão\nde Gui, mas `run finish` aplica `blocked` como fallback quando é realmente\nchamado sem essa decisão. Uma interrupção antes desse comando ainda pode deixar\na Task em `executing` até a retomada/reconciliação. A fila agendada agora\nreivindica no máximo um item por lease; a rota Sol/Sol/Astra não está provada\npara toda chamada nativa. São itens de implementação, não decisões humanas\npendentes. A documentação é aprovada quando descreve essas lacunas; o produto\nsó está pronto quando a matriz passa no Codex e no pacote instalado.\n\n## Classificação de entrada\n\nAliases são resolvidos com alvo e status persistido, nunca por palavra isolada. `pronto`, `deixe/coloque em Pronto para Executar` e `ready-to-execute` resolvem para `ready`. `finalizar|concluir|finalize|conclude` em PRD/SPEC `draft|ready` lapidam e resolvem para `ready`; em trabalho ativo, “conclua a execução/finalize a implementação” continua Tasks e gates. Somente `entregar|deliver` após gates solicita entrega terminal.\n\nNo contrato atual, `implemente` sem alvo abre Conversation de planejamento; na v4, quando houver objetivo independente de ação, entra como Task avulsa. Em PRD/SPEC `draft`, só executa com intenção explícita de executar o macro; criar/refinar isoladamente mantém `draft`. Em `ready`, executar inicia; em `active|blocked|failed`, continua/retoma/rework conforme estado. `desenvolva|melhore|aprimore` com intenção explícita de ação independente também não é reduzido a planejamento só pelo verbo. PRD cancelado é imutável e recebe sucessor `draft` com tag `rework` e `rework_of_prd_id`.\n\n## Criação completa de PRD e SPEC\n\n“Me ajude a pensar” é Conversation. “Crie um PRD” revisa o prompt, faz até cinco perguntas críticas por turno durante no máximo três turnos e então persiste PRD `draft`, SPECs técnicas `draft` e PreparedPlan com blueprints de Tasks. Decisões delegáveis restantes são registradas como IA; autoridade externa/destrutiva, credenciais e riscos não delegáveis continuam bloqueantes.\n\nUse uma SPEC por padrão. Outra só existe quando pode ser implementada e verificada em paralelo contra contrato estável, sem depender de outra SPEC ou disputar write scopes. Dependências e ordem ficam entre Tasks da mesma SPEC.\n\nAntes de `ready`, blueprints aparecem apenas como lista compacta no PRD/SPEC; `prd create --plan` e `spec create --plan` validam o pacote antes da escrita, usam criação exclusiva por arquivo e rollback compensatório se uma etapa falhar, mas não prometem uma transação atômica multiarquivo contra interrupção abrupta. Não existem registros Task, Change ou Execution `delivery` nessa etapa. `prd create|rework|prepare` exige uma Run delegada da Bia (`zaip-agent-analyst`) e `spec create|rework|prepare` exige uma Run delegada do Rafa (`zaip-agent-builder`), sempre ativas e vinculadas ao turno raiz atual, com propósito `execution`. Em criação composta, `prd create --plan --run <bia-run> --spec-run <rafa-run>` exige duas Runs distintas sob o mesmo orquestrador: o PRD recebe a autoria da Bia e as SPECs recebem a autoria do Rafa. Replays históricos e identidades trocadas falham antes de escrever artefatos. Duração, tokens e custo são agregados quando observados ou reconciliados e permanecem `null` quando indisponíveis. `ready` materializa Tasks/Changes/Execution como `planned` em operação idempotente; `execute` inicia o menor grão nomeado.\n\n| Entrada | Quando usar | Cria Task? | Estado inicial visível |\n| --- | --- | --- | --- |\n| Conversation | Pergunta, feedback, status ou análise pontual read-only; cria Execution `interaction` | Não | Sem card |\n| Task avulsa executável | Pedido direto de alteração ou resultado independente | Sim | Execução antes da primeira mutação |\n| Task avulsa preparada | Pedido explícito de planejamento sem autorização de executar | Sim | Pronto para Executar |\n| SPEC | Entrega técnica com múltiplos blueprints ou DAG | Tasks em `ready|execute` | Planejamento enquanto `draft` |\n| PRD | Definição de produto organizada em SPECs independentes | Tasks em `ready|execute` | Definição enquanto `draft` |\n\nConversa de análise nunca altera código, documentação ou configuração. A criação ou o refinamento explícito de PRD/SPEC `draft` é a única exceção de definição: a Execution `interaction` pode persistir o macro e seu PreparedPlan sem Task, Change ou Execution `delivery`. Fora dessa exceção, qualquer mutação persistente intencional exige Task materializada e Run raiz de orquestração ativa antes da escrita.\n\nSão isentos apenas deploy/publicação Git sem mudança de produto, manifests e telemetria ZAIP gerados pelo lifecycle, metadados `.git`, caches, builds, testes e arquivos temporários descartáveis. Editar fontes ou documentação do ZAIP não é isento.\n\n## Colunas do Kanban\n\n| Coluna | Regra |\n| --- | --- |\n| Definição | Exclusiva de PRD `draft` |\n| Planejamento | Exclusiva de SPEC `draft` |\n| Pronto para Executar | PRD/SPEC `ready` e toda Task `planned` nunca iniciada ou tentada, avulsa ou vinculada a SPEC |\n| Execução | Task `executing`; SPEC/PRD `active` |\n| Verificação | Task `verifying` ou macro executando gates parentais |\n| Concluído | Task `completed` ou macro `delivered` |\n| Bloqueado | Resultado retomável com condição objetiva |\n| Falhado | Erro técnico impeditivo; exige rework |\n| Cancelado | Cancelamento humano explícito e imutável |\n\nActivity local nunca prevalece sobre um status final persistido. Uma invocação obsoleta não pode reviver Task concluída, bloqueada, falhada ou cancelada.\n\n## Trabalho, Execution, Run, Sub-Run e Call\n\nAs cinco camadas possuem responsabilidades diferentes:\n\n| Camada | Responsabilidade |\n| --- | --- |\n| Trabalho | Task, SPEC ou PRD que descreve o resultado e seu lifecycle |\n| Execution | `interaction` registra uma conversa; `delivery` coordena Task, Change e DAG quando aplicável |\n| Run | Chamada raiz do `zaip-agent-orchestrator`; possui `parent_run_id: null` |\n| Sub-Run | Chamada de subagente feita dentro da Run; possui `parent_run_id` |\n| Call | Invocação interna de modelo LLM; herda a configuração da Run/Sub-Run |\n\nRun e Sub-Run compartilham o mesmo ledger canônico `RUN-*`; a distinção é derivada de `parent_run_id`, sem entidade duplicada. `run_role` usa somente `intake`, `orchestrator` ou `subagent`; valores históricos `owner` e `contributor` são aceitos apenas na leitura e normalizados imediatamente. `run_purpose` informa se a chamada executa `orchestration`, `execution`, `review`, `audit` ou `finalization`.\n\nCada Run/Sub-Run fixa agente, modelo e effort até terminar. Mudança deliberada de agente, modelo, effort ou fase material abre outra chamada de agente; retry técnico preserva a configuração corrente. Calls podem ser várias dentro da mesma chamada de agente e não possuem lifecycle nem tela própria.\n\nQuando o host expõe Calls, a Run/Sub-Run agrega quantidade conhecida, terminais, falhas, cancelamentos, configuração efetiva, tokens e custo. Ausência de telemetria permanece `null`; nunca se presume zero e nunca se cria `CallProjection`.\n\n### Barreira do finalizador\n\nCada tentativa de Task tem um orquestrador responsável. Uma raiz física Task-scoped é esse responsável; uma raiz macro delega um por Task, preservando ancestry real. Um executor é escolhido pelas capacidades e pela elegibilidade declarada no catálogo: `zaip-agent-builder` e `zaip-agent-task-executor` podem executar delivery, e `zaip-agent-analyst` pode executar interaction. Revisão, auditoria e integração podem participar. Depois que todos os demais descendentes terminarem, o orquestrador deve chamar `zaip-agent-finalizer` como último Sub-Run, com propósito `finalization`, como filho direto do responsável da Task, não do executor.\n\nO finalizador é read-only: avalia resultados, gates e Evidence e retorna somente o status terminal proposto, motivo e referências. A CLI aplica deterministicamente a transição após a decisão real. O início do finalizador cria uma barreira: ele não pode começar com descendentes ativos e nenhum filho novo pode iniciar depois dele. **Contrato-alvo v4:** finalizador ausente, incompleto ou falho produz `blocked` por um caminho confiável separado, nunca uma aprovação sintética. No candidato atual, a CLI ainda pode deixar a Task em `executing` porque rejeita bloqueio direto sem Gui; essa lacuna precisa de correção e teste.\n\nNo modo nativo do Codex, a orquestração materializa essa etapa como um envelope de delegação com `purpose: finalization`, `agent_id: agent-finalizer`, escopo de escrita vazio e chave de idempotência própria. Uma Execution em `verifying` só recebe esse envelope; o host deve iniciar a Sub-Run real correspondente e registrar a telemetria dela. O framework não cria Run, Call, custo ou resultado sintético quando o host não a executa.\n\nO status técnico da Run/Sub-Run (`completed`, `failed`, `cancelled`) é diferente do resultado da Task (`completed`, `blocked`, `failed`, `cancelled`). Uma Run tecnicamente concluída pode bloquear a Task porque um gate ou Evidence não passou.\n\nUma observação por AC não altera esse lifecycle nem substitui os gates. Ela é\numa declaração versionada cujo vínculo só pode complementar Evidence quando\n`confirmed` e coerente; os demais estados preservam pendência ou falha. Veja o\n[contrato de prova observável](../../skills/zaip-skill-change/references/observable-evidence.md).\n\nDepois de capturar a decisão real do finalizador, o orquestrador pode aplicar\no fechamento pela CLI. O trecho abaixo **não** funciona como atalho para\n`task block` ou `run finish` sem essa decisão já persistida:\n\n```bash\nzaip run finish RUN-ID \\\n --status completed \\\n --task-outcome blocked \\\n --summary "Gate de integração pendente"\nzaip run closure RUN-ID\n```\n\n## Fechamento e retomada de Tasks\n\nAntes de uma Run raiz terminar, sua Task deve estar em um destes estados:\n\n- `completed`: resultado e gates aprovados;\n- `blocked`: inconclusão retomável, dependência externa ou gate insuficiente;\n- `failed`: erro técnico/integridade que impediu a execução válida;\n- `cancelled`: pedido humano explícito.\n\n`executing` e `verifying` nunca são estados válidos no fim **formalmente persistido** da tentativa. Use `task resume` para `blocked` e `task rework` para `failed`; ambas preservam a Task, e cada nova entrada em execução incrementa a tentativa. `completed` e `cancelled` não reabrem.\n\nInterromper a geração exige recuperação retomável; quando o evento de\ninterrupção for observado e a escrita funcionar, o alvo é `blocked`. Morte\nabrupta do processo pode deixar o estado pendente até o próximo evento\nobservável, como descrito acima. “Cancelar a Task” é decisão explícita e\nresulta em `cancelled` somente quando persistida.\n\n## Agregação de SPEC e PRD\n\nQuando a primeira Task filha inicia, SPEC e PRD relacionados passam para `active` e permanecem em Execução enquanto restar trabalho macro, inclusive entre Runs. O resultado isolado de uma Task não terminaliza o pai.\n\n- Task bloqueada/falhada mantém o macro em Execução para que outras Tasks e decisões parentais continuem.\n- SPEC/PRD aguardam todas as Tasks e Runs filhas.\n- Depois que todas as Tasks da DAG ficam terminais, o macro pode entrar em\n Verificação quando todas concluíram; bloqueios/falhas e dependentes inviáveis\n são fechados com causa antes de decidir o resultado parental.\n- Delivery exige gates, integração, Acceptance Criteria, outcomes e Evidence\n próprios do pai. Um pai não é `delivered` se uma filha bloqueou/falhou.\n\n## Reconciliação manual\n\nO dashboard executa `zaip run reconcile --open --json` somente depois que o usuário confirma o popup Reconciliar. Não há reconciliação **global** ao abrir o dashboard, em cada turno ou em intervalo automático. O contrato-alvo v4 acrescenta conciliação **direcionada à tentativa atual** no fechamento/Stop observado ou no próximo evento Codex da mesma Task, nunca uma varredura global silenciosa.\n\nO algoritmo é idempotente e conservador:\n\n- `task_complete` local exato permite finalizar tecnicamente a Run e tentar os gates;\n- gate insuficiente produz `blocked`, nunca sucesso inventado;\n- Run sem invocação ativa por dez minutos é órfã e termina como `failed`;\n- `cancelled` nunca é inferido;\n- Tasks apenas prontas, sem Run terminal atribuída, não são reavaliadas como travadas.\n\nO hook pre-write é diferente da reconciliação: ele verifica localmente se o turno atual possui Run raiz e Task em execução antes de permitir mutação. Essa checagem não chama modelo, não consome tokens e não percorre o backlog.\n\n## Projeção no dashboard\n\nEm Operação e Monitor de Custos, “Chamadas do agente orquestrador” e “Chamadas de subagentes” possuem filtros separados. A tabela de Executions agrega, sem dupla contagem, Runs de orquestrador, Sub-Runs, Sub-Runs finalizadores, Tasks finalizadas e Calls de LLM conhecidas. Quando nem todas as Calls são observáveis, a contagem é marcada como parcial em vez de assumir zero.\n\nTrabalho possui duas leituras da mesma projeção: Trabalho (Kanban), por estágio, e Trabalho (Lista), tabular. As duas mantêm os filtros Todas as Tarefas, Visão Unificada Geral, PRDs, SPECs e Tarefas Avulsas. A lista expõe indicadores operacionais por item, incluindo status, origem, Runs, Sub-Runs, duração, tokens, custo e cobertura.\n\nCada segmento de telemetria possui uma chave de origem e só pode ser atribuído uma vez. Correções de duplicidade preservam o evento histórico e registram uma supersessão; projeções nunca devem somar os dois eventos.\n\n## Persistência compacta da telemetria\n\nMicroeventos observáveis do Codex são sanitizados e gravados primeiro no spool local ignorado pelo\nGit. Depois de um terminal ou erro, eles são compactados em um `InvocationSummaryV1` por invocação\nde agente. Os summaries são organizados em chunks imutáveis e manifestos mensais por writer em\n`.agents/records/telemetry/<ano>/<mês>/writers/<writer-id>/`.\n\nEssa compactação não substitui o ledger `RUN-*`: a Run continua sendo a fonte de lifecycle,\natribuição e evidência. O summary é a fonte compacta de métricas observadas. O Dashboard combina as\nduas leituras sem dupla contagem; tokens e custos do summary são autoritativos quando válidos, mas\numa duração delimitada do lifecycle é preservada se a fonte compacta não conhece a duração.\n\nCobertura é independente por métrica. Tokens, Calls, custo, duração e latência podem ter estados\ndiferentes na mesma invocação. `known_sum`, `unknown_count` e `coverage_ratio` precisam viajar\njuntos; `null` nunca é normalizado para zero. Detalhes de armazenamento, integridade, fallback e\nrecuperação estão em [Telemetria Git-native do Codex](27-telemetria-git-native.md).\n\n## Recuperação e autonomia v1\n\nO [guia 16](16-lifecycle-e-reconciliacao.md) detalha a decisão imutável do Gui\ne o relay antes do Stop: não exija que um finalizador read-only permaneça\nativo esperando recibos. Ele é último filho direto do responsável da Task,\nnão de cada executor. Um orquestrador delegado conserva a ancestry real.\n\nOs [presets](19-assurance-e-autonomia.md) pertencem à Task estável:\nEssencial 4/1, Equilibrado 10/3, Persistente ilimitado. Reinício e `resume`\nnão renovam quota; `attempt_count` do lifecycle não substitui o diário\nde reservas do runtime. Ausência de Evidence é bloqueio, erro técnico\ncomprovado é falha e tempo não determina abandono.\n\nFechamento técnico, estado canônico da Task, projeções e entrega parental\nprecisam ser confirmados separadamente. A exceção de raiz avulsa direta\nautorizada pertence à compatibilidade do contrato atual; no padrão Codex-native\nda v4, a Task avulsa terá executor subagente nativo observado. Nenhum dos dois\ncaminhos dispensa Evidence, gates e decisão real de Gui.\n',M=e(t(),1),N=`# ZAIP-AIOS (6 Squads + 23 Agents)
|
|
2051
2138
|
|
|
2052
2139
|
[English](README-ENG.md) | Português
|
|
2053
2140
|
|
|
@@ -2055,6 +2142,18 @@ matriz de performance aprovada apenas porque consultas focadas passaram.
|
|
|
2055
2142
|
|
|
2056
2143
|
## Visão rápida
|
|
2057
2144
|
|
|
2145
|
+
> **Contrato-alvo da v4.0:** as decisões de fluxo Codex-native, subagentes, fila,
|
|
2146
|
+
> replanejamento e apresentação de métricas descritas abaixo estão aprovadas para
|
|
2147
|
+
> implementação. Esta revisão documental não comprova que o runtime, os hooks,
|
|
2148
|
+
> o Dashboard ou o pacote publicado já as executem; cada garantia exige teste
|
|
2149
|
+
> no candidato exato e no consumidor instalado. O contrato completo está no
|
|
2150
|
+
> [guia de lifecycle v4](.agents/zaip-aios/guides/28-lifecycle-completo.md#contrato-aprovado-para-a-v4-a-implementar-e-qualificar).
|
|
2151
|
+
|
|
2152
|
+
O [contrato de compatibilidade Codex-native](.agents/zaip-aios/guides/28-lifecycle-completo.md#fronteiras-nativas-e-prova-de-compatibilidade)
|
|
2153
|
+
explicita o que depende de subagentes, hooks, automação agendada e do
|
|
2154
|
+
instalador. Interrupção abrupta pode deixar uma tentativa pendente até o
|
|
2155
|
+
próximo evento do host; um Stop hook não garante execução após o app parar.
|
|
2156
|
+
|
|
2058
2157
|
O ZAIP-AIOS é um sistema operacional para execução autônoma de trabalho com agentes de IA, que coordena 23 agentes especializados, organizados em 6 squads, dentro do Codex.
|
|
2059
2158
|
|
|
2060
2159
|
Os agentes planejam, executam, revisam, testam e validam o trabalho sob coordenação do orquestrador. A execução autorizada avança até atender aos critérios ou registrar bloqueio/falha conforme evidências e orçamento. O perfil Persistente permite execução indefinida por escolha explícita; os demais têm cotas por Task. Nenhum perfil garante acerto nem amplia autoridade para ações externas.
|
|
@@ -2264,13 +2363,13 @@ As visões Trabalho (Kanban) e Trabalho (Lista) permitem alternar entre leitura
|
|
|
2264
2363
|
|
|
2265
2364
|
### Monitor de Custos
|
|
2266
2365
|
|
|
2267
|
-
Consolida tokens, duração, custo equivalente estimado e cobertura por período e por unidade de trabalho, sem transformar telemetria ausente em zero.
|
|
2366
|
+
Consolida tokens, duração, custo equivalente estimado e cobertura por período e por unidade de trabalho, sem transformar telemetria ausente em zero **canônico**. No contrato visual v4, cards e tabelas numéricas já carregados mostram \`0\` em vez de “Indisponível”, acompanhados de cobertura “sem medição”; durante loading mostram skeleton. API e arquivos continuam \`null\` quando não há medição.
|
|
2268
2367
|
|
|
2269
2368
|
<img src=".agents/config/src/dashboard_pt_3_monitor_custos.png" alt="Dashboard ZAIP-AIOS, Monitor de Custos" width="100%">
|
|
2270
2369
|
|
|
2271
2370
|
O Monitor consolida tokens, tempo, custo e cobertura por Run, Task, SPEC e PRD. Isso permite comparar conversa, planejamento, execução, trabalho novo e rework, além de identificar médias e concentrações de consumo por dia, mês ou ano.
|
|
2272
2371
|
|
|
2273
|
-
Quando o Codex utiliza os tokens ou a franquia da conta em vez de cobrar uma API, o módulo calcula, sempre que há medição e pricing compatível, o **custo equivalente estimado de API** em USD e BRL. A estimativa apoia gestão e comparação, mas nunca é apresentada como cobrança real. Valores não observados continuam \`unknown
|
|
2372
|
+
Quando o Codex utiliza os tokens ou a franquia da conta em vez de cobrar uma API, o módulo calcula, sempre que há medição e pricing compatível, o **custo equivalente estimado de API** em USD e BRL. A estimativa apoia gestão e comparação, mas nunca é apresentada como cobrança real. Valores não observados continuam \`unknown\` na fonte; o \`0\` visual da v4 não entra nos cálculos.
|
|
2274
2373
|
|
|
2275
2374
|
**Contrato técnico da telemetria**
|
|
2276
2375
|
|
|
@@ -2299,16 +2398,17 @@ A configuração da plataforma apresenta o estado de ativação do ZAIP-AIOS e u
|
|
|
2299
2398
|
|
|
2300
2399
|
<img src=".agents/config/src/dashboard_pt_configuracao_plataforma.png" alt="Dashboard ZAIP-AIOS, configuração da plataforma" width="100%">
|
|
2301
2400
|
|
|
2302
|
-
### Perfis de autonomia da
|
|
2401
|
+
### Perfis de autonomia: contrato-alvo da v4
|
|
2303
2402
|
|
|
2304
|
-
|
|
2305
|
-
|
|
2403
|
+
O preset por Task é separado de instalação e assurance. A rota abaixo é a
|
|
2404
|
+
decisão aprovada para a v4; o runtime atual ainda precisa ser alterado e
|
|
2405
|
+
qualificado antes que esta tabela descreva seu comportamento efetivo:
|
|
2306
2406
|
|
|
2307
2407
|
| Perfil | Execuções de produto por Task | Replanejamentos | Modelos dos replanejamentos |
|
|
2308
2408
|
| --- | --- | --- | --- |
|
|
2309
2409
|
| Essencial (\`essential\`) | 4: 1 inicial + 3 reparações | 1 | Sol/high; nunca Astra automático |
|
|
2310
|
-
| Equilibrado (\`balanced\`, padrão
|
|
2311
|
-
| Persistente (\`persistent\`, opt-in) | Sem teto | Sem teto | Sol/high
|
|
2410
|
+
| Equilibrado (\`balanced\`, padrão) | 10: 1 inicial + 9 reparações | 3 | Sol/high → Sol/high → Astra/high |
|
|
2411
|
+
| Persistente (\`persistent\`, opt-in) | Sem teto | Sem teto | Sol/high nos dois primeiros; Astra/high no terceiro e seguintes |
|
|
2312
2412
|
|
|
2313
2413
|
Mescle no arquivo \`.agents/config/project.yaml\` ou selecione **Perfil de
|
|
2314
2414
|
autonomia** em **Configurações do projeto** no Dashboard e salve:
|
|
@@ -2330,10 +2430,16 @@ A falta de verificação/conclusão segura termina \`blocked\`; impedimento téc
|
|
|
2330
2430
|
comprovado termina \`failed\`. Ramos independentes continuam elegíveis.
|
|
2331
2431
|
|
|
2332
2432
|
**Limite atual:** os contadores são impostos no runtime gerenciado, não em
|
|
2333
|
-
\`spawn_agent\` externo feito diretamente pelo Codex.
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2433
|
+
\`spawn_agent\` externo feito diretamente pelo Codex. O contrato-alvo torna a
|
|
2434
|
+
colaboração nativa do Codex o caminho operacional padrão também para Tasks
|
|
2435
|
+
avulsas: cada tentativa reserva seu orçamento antes do despacho, usa
|
|
2436
|
+
subagente nativo e registra eventos observados. Se o host não oferecer o
|
|
2437
|
+
modelo, effort ou ferramenta exigidos, a tentativa bloqueia com causa
|
|
2438
|
+
explícita; instrução ou captura posterior não são controle preventivo.
|
|
2439
|
+
O candidato local v4 usa \`execution.runtime: codex_native\` no builder e no
|
|
2440
|
+
template do instalador; o npm publicado ainda precisa ser qualificado separadamente.
|
|
2441
|
+
Salvar o preset não inicia provider. Legados não têm
|
|
2442
|
+
quota zerada. Veja [autonomia e suas garantias](.agents/zaip-aios/guides/19-assurance-e-autonomia.md).
|
|
2337
2443
|
|
|
2338
2444
|
### Stack de desenvolvimento
|
|
2339
2445
|
|
|
@@ -2396,12 +2502,17 @@ Quando existe dependência entre capacidades, o trabalho deve permanecer na mesm
|
|
|
2396
2502
|
|
|
2397
2503
|
O comando \`implemente\` considera o estado atual do trabalho:
|
|
2398
2504
|
|
|
2399
|
-
*
|
|
2400
|
-
|
|
2505
|
+
* com pedido de ação independente, mas sem PRD/SPEC explícito, cria e executa
|
|
2506
|
+
uma Task avulsa; referência a um macro existente exige alvo inequívoco
|
|
2507
|
+
* em PRD/SPEC \`draft\`, só executa se a intenção de execução do macro for
|
|
2508
|
+
explícita; caso contrário, conclui o plano sem promover
|
|
2401
2509
|
* em \`ready\`, inicia a execução
|
|
2402
2510
|
* em estados ativos ou com falha, continua, retoma ou inicia o rework
|
|
2403
2511
|
|
|
2404
|
-
Os comandos \`desenvolva\`, \`melhore\` e \`aprimore\`
|
|
2512
|
+
Os comandos \`desenvolva\`, \`melhore\` e \`aprimore\` preservam a intenção: com
|
|
2513
|
+
objetivo independente de ação, entram como Task avulsa; para lapidar um
|
|
2514
|
+
PRD/SPEC existente sem pedido de execução, permanecem no planejamento ou
|
|
2515
|
+
rework em \`draft\`.
|
|
2405
2516
|
|
|
2406
2517
|
Um PRD cancelado não pode ser alterado. Quando necessário, um novo PRD de rework é criado, preservando o vínculo e o histórico de auditoria.
|
|
2407
2518
|
|
|
@@ -2416,10 +2527,13 @@ mantém o cartão compacto **Custo Estimado**, sem ícone. A descrição acessí
|
|
|
2416
2527
|
tooltip informam a cobertura. O subtítulo divide o subtotal conhecido pelo número
|
|
2417
2528
|
de tarefas e pelas horas registradas no mesmo recorte: são taxas estimadas de
|
|
2418
2529
|
alocação, não médias de custos completos por tarefa. Com cobertura parcial, não
|
|
2419
|
-
estima os valores ausentes.
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2530
|
+
estima os valores ausentes. No contrato visual da v4, cards e células numéricas
|
|
2531
|
+
já carregados exibem \`0\` quando a base não foi medida, com cobertura/tooltip
|
|
2532
|
+
“sem medição”; durante loading mostram esqueleto, não zero. Uma taxa válida não
|
|
2533
|
+
é escondida porque outra não foi medida. O subtotal não é custo integral nem
|
|
2534
|
+
fatura da conta. Zero observado e ausência de medição têm o mesmo numeral na
|
|
2535
|
+
interface, mas continuam distintos por cobertura e no dado canônico (\`0\` versus
|
|
2536
|
+
\`null\`). Rascunhos de Task ficam na lista de
|
|
2423
2537
|
trabalho, fora do Kanban executável e dos indicadores operacionais sem rascunhos.
|
|
2424
2538
|
|
|
2425
2539
|
|
|
@@ -2574,33 +2688,33 @@ Essa progressão permite começar de forma simples e acrescentar planejamento ap
|
|
|
2574
2688
|
|
|
2575
2689
|
**Políticas técnicas de execução e assurance**
|
|
2576
2690
|
|
|
2577
|
-
Conversation
|
|
2691
|
+
Conversation sem trabalho executável preserva a seleção manual do host e não usa subagentes. No contrato-alvo da v4, toda Task avulsa usa subagentes nativos Codex; o ZAIP seleciona modelo e effort de cada filho conforme papel, risco e fase, sem herdar necessariamente a seleção do principal. A Task avulsa é sequencial; paralelismo produtivo só ocorre em DAGs planejadas de PRD/SPEC com independência e escopos compatíveis. Modelo e effort ficam fixos por Run, com observação efetiva separada da seleção planejada. Se a configuração requerida não puder ser despachada/confirmada no host, bloqueie em vez de afirmar que o prompt trocou o modelo. Consulte a [política de modelos](.agents/zaip-aios/guides/23-orquestracao-de-modelos.md).
|
|
2578
2692
|
|
|
2579
2693
|
### Política Astra
|
|
2580
2694
|
|
|
2581
|
-
No Essencial, Astra nunca é selecionado automaticamente, inclusive em filhos ou fallback.
|
|
2695
|
+
No Essencial, Astra nunca é selecionado automaticamente, inclusive em filhos ou fallback. No Equilibrado, os três replanejamentos usam Sol/high, Sol/high e Astra/high; no terceiro bloco Astra/high também pode executar a reparação, se a rota elegível o selecionar, sem ampliar a quota. Persistente mantém essa progressão sem teto total. Essa é uma política-alvo: a configuração real do agente Codex e o ledger devem ser verificados, não inferidos do texto.
|
|
2582
2696
|
|
|
2583
|
-
O replanejador é isolado e não edita produto; executor, revisor e Gui são papéis distintos. Astra automático usa somente \`high
|
|
2697
|
+
O replanejador é isolado e não edita produto; executor, revisor e Gui são papéis distintos. Astra automático usa somente \`high\` e não substitui revisão/finalização. Hoje seu controle preventivo depende do despacho gerenciado; no contrato-alvo Codex-native, exige preflight efetivo antes de cada filho nativo. A regra antiga de até três diagnósticos Astra somente leitura permanece apenas no contrato legado sem \`autonomy\`; não limita Persistente. Contexto e assurance seguem o domínio: conteúdo exige fontes/briefing, engenharia exige comportamento verificável. Economia real precisa ser medida, não inferida do preset.
|
|
2584
2698
|
|
|
2585
|
-
O intake correlaciona o turno observável à Execution. \`prepare\` valida o plano, sem autorizar implementação; \`ready\` materializa trabalho preparado e \`execute\` inicia a entrega autorizada. Toda delivery e interaction delegada exige executor elegível
|
|
2699
|
+
O intake correlaciona o turno observável à Execution. \`prepare\` valida o plano, sem autorizar implementação; \`ready\` materializa trabalho preparado e \`execute\` inicia a entrega autorizada. “Crie e execute PRD/SPEC” cabe no mesmo turno do Codex, mas usa uma Run canônica de definição e outra de delivery, vinculadas: nunca se converte a primeira em Run de implementação. Toda delivery e interaction delegada exige executor elegível e \`zaip-agent-finalizer\` por último. Interaction read-only sem descendentes termina após a resposta, sem esse circuito. Publicação puramente Git é uma exceção: não materializa lifecycle. SPEC/PRD permanecem ativos entre Runs filhas e só são entregues por gates parentais.
|
|
2586
2700
|
|
|
2587
2701
|
Cada tentativa de Task tem exatamente um orquestrador responsável. Gui é seu
|
|
2588
2702
|
último filho direto, irmão dos executores, não finalizador de cada trabalhador.
|
|
2589
2703
|
O host persiste a decisão real antes do Stop canônico; pode retransmitir Gui
|
|
2590
2704
|
já terminal enquanto o responsável estiver aberto, sem obrigá-lo a esperar
|
|
2591
|
-
recibos. Ausência de decisão não é aprovação. A
|
|
2592
|
-
avulsa direta usa uma raiz observada com \`--direct-authorization REFERÊNCIA\`
|
|
2593
|
-
explícita; não cria executor fictício nem dispensa Evidence e Gui. Veja
|
|
2705
|
+
recibos. Ausência de decisão não é aprovação. A compatibilidade com execução
|
|
2706
|
+
avulsa direta antiga usa uma raiz observada com \`--direct-authorization REFERÊNCIA\`
|
|
2707
|
+
explícita; não é o caminho padrão novo, não cria executor fictício nem dispensa Evidence e Gui. Veja
|
|
2594
2708
|
[fechamento e recuperação](.agents/zaip-aios/guides/16-lifecycle-e-reconciliacao.md).
|
|
2595
2709
|
|
|
2596
|
-
A profundidade de prova é adaptativa: Task standalone \`lite\` exige no mínimo uma validação tipada e uma Evidence, normalmente uma de cada, mas aceita provas adicionais legítimas. \`standard\` exige duas ou três validações conforme \`verification_scope\` e pelo menos uma Evidence consolidada; \`critical\` exige três ou mais, revisão independente e os sinais de risco persistidos que determinam controles adicionais. Entregas de SPEC e PRD acrescentam matriz parental, pelo menos três validações e três Evidences, integração real e revisão independente.
|
|
2710
|
+
A profundidade de prova é adaptativa: Task standalone \`lite\` exige no mínimo uma validação tipada e uma Evidence, normalmente uma de cada, mas aceita provas adicionais legítimas. \`standard\` exige duas ou três validações conforme \`verification_scope\` e pelo menos uma Evidence consolidada; \`critical\` exige três ou mais, revisão independente e os sinais de risco persistidos que determinam controles adicionais. Entregas de SPEC e PRD acrescentam matriz parental, pelo menos três validações e três Evidences, integração real e revisão independente. O candidato local v4 usa Codex-native como modo padrão; o npm publicado anteriormente mantém o contrato da sua versão e exige validação separada. Worktrees, write scopes, commits, budgets e gates tipados continuam exigidos onde aplicáveis. Compatibilidade de outros hosts não equivale à garantia Codex-native. Consulte [Assurance adaptativa e autonomia opt-in](.agents/zaip-aios/guides/19-assurance-e-autonomia.md).
|
|
2597
2711
|
|
|
2598
2712
|
|
|
2599
2713
|
## Princípios de engenharia autônoma
|
|
2600
2714
|
|
|
2601
2715
|
O ZAIP-AIOS combina velocidade com limites explícitos. Seus princípios mantêm o código sustentável, distribuem apenas o contexto necessário e exigem comprovação proporcional ao risco.
|
|
2602
2716
|
|
|
2603
|
-
O padrão do schema é \`execution.runtime: manual\` quando a opção está ausente; este checkout usa \`
|
|
2717
|
+
O padrão do schema é \`execution.runtime: manual\` quando a opção está ausente; este checkout usa \`codex_native\` em \`project.yaml\`. A configuração não dispensa pedido de execução nem autoriza publicar. Consulte sempre o arquivo efetivo do projeto, não apenas o default descrito no guia.
|
|
2604
2718
|
|
|
2605
2719
|
- **Clean Architecture:** domínio, aplicação, adapters e infraestrutura permanecem separados; regras de negócio não dependem de frameworks ou detalhes externos, as dependências apontam para as camadas internas e composition roots conectam implementações concretas nas bordas.
|
|
2606
2720
|
- **CQRS:** commands e queries seguem fluxos explícitos e independentes; comandos alteram estado por casos de uso e ports apropriados, enquanto consultas não produzem efeitos colaterais e retornam read models adequados à leitura.
|
|
@@ -2621,7 +2735,7 @@ O **Graph Engineering** transforma uma entrega complexa em uma sequência coorde
|
|
|
2621
2735
|
|
|
2622
2736
|
Essa autonomia permanece governada: Dave coordena, cada executor recebe apenas o escopo necessário, Nanda realiza a revisão independente, especialistas adicionais entram quando existem sinais objetivos e Gui encerra o fluxo por último. O resultado é uma equipe ajustada à demanda, sem multiplicar agentes e custo sem necessidade.
|
|
2623
2737
|
|
|
2624
|
-
O **Loop Engineering** usa o perfil congelado da Task para reservar execução e replanejamento antes do
|
|
2738
|
+
O **Loop Engineering** usa o perfil congelado da Task para reservar execução e replanejamento antes do despacho, registrar o resultado e escolher uma rota corrigida. No contrato-alvo Equilibrado são 1 + 9 execuções e três planos Sol/high → Sol/high → Astra/high; Essencial não escala para Astra, Persistente não tem teto. O modelo não muda silenciosamente dentro da mesma Run. O modelo dos filhos é escolhido pelo ZAIP e precisa ser compatível com o host.
|
|
2625
2739
|
|
|
2626
2740
|
### Fluxo resumido
|
|
2627
2741
|
|
|
@@ -2633,7 +2747,7 @@ Os cenários completos ficam no [guia de fluxos e roteamento](.agents/zaip-aios/
|
|
|
2633
2747
|
|
|
2634
2748
|
O lifecycle segue **Definição → Planejamento → Pronto para Executar → Execução → Verificação → Concluído**. Bloqueado, Falhado e Cancelado são saídas alternativas.
|
|
2635
2749
|
|
|
2636
|
-
Task, SPEC e PRD mantêm fluxos independentes; Conversation usa uma Execution interaction e não cria Task artificial.
|
|
2750
|
+
Task, SPEC e PRD mantêm fluxos independentes; Conversation usa uma Execution interaction e não cria Task artificial. Pedido avulso de ação inicia Task com subagentes no contrato-alvo; Task apenas preparada aguarda execute. Cada tentativa física de Task fecha como concluída, bloqueada, falhada ou cancelada antes do encerramento da Run raiz. SPEC/PRD só recebem estado terminal depois de todas as Tasks da DAG terem estado terminal e dos gates parentais aplicáveis.
|
|
2637
2751
|
|
|
2638
2752
|

|
|
2639
2753
|
|
|
@@ -2908,7 +3022,7 @@ rollout, rollback e comandos de verificação estão documentados no
|
|
|
2908
3022
|
|
|
2909
3023
|
No Codex Desktop, o agendamento horário da fila pronta é configurado pela skill \`$zaip-skill-instalar-agendamento\` em uma única conversa no checkout local. A skill usa a automação nativa de tarefas agendadas para criar ou atualizar uma tarefa standalone com nome estável; ela não duplica registros e falha fechada se a capacidade \`automation_update\` não estiver disponível. A tarefa agendada chama explicitamente \`$zaip-skill-executar-fila-pronta\` em cada rodada horária.
|
|
2910
3024
|
|
|
2911
|
-
|
|
3025
|
+
No contrato-alvo da v4, cada rodada horária reivindica **um único item de nível superior** elegível: primeiro PRDs em \`ready\`, depois SPECs \`ready\` independentes e, por último, Tasks avulsas em **Pronto para Executar**. A rota visual é Dashboard > Trabalho (Kanban) > Pronto para Executar. Nunca seleciona descendentes separadamente. Dentro de cada classe, segue as setas de prioridade do Dashboard, persistidas em \`.agents/dashboard/work-priority.json\`; itens sem número usam fallback determinístico. Itens ativos, bloqueados, falhos, cancelados ou concluídos ficam fora. O lock/lease impede sobreposição. A skill instala/atualiza a automação nativa somente a pedido do usuário; cada rodada exige um evento real do Codex e não executa sozinha depois que o host parar. O executor atual ainda percorre o snapshot inteiro e precisa mudar antes de se alegar esse comportamento.
|
|
2912
3026
|
|
|
2913
3027
|
O repositório versiona esse contrato, mas não instala um relógio em cada clone. A tarefa agendada pertence à máquina/usuário que a criou e depende da máquina ligada, do Codex Desktop em execução e da automação nativa disponível; sem eles, a skill falha fechada e não promete execução futura.
|
|
2914
3028
|
|