@zaip-ai/cli 1.0.8 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/services/adapters.d.ts +1 -1
- package/dist/services/adapters.js +1 -1
- package/dist/services/agent-adapters.js +2 -2
- package/dist/services/agent-adapters.js.map +1 -1
- package/dist/services/agent-adapters.test.js +5 -0
- package/dist/services/agent-adapters.test.js.map +1 -1
- package/dist/services/logger.test.js +2 -2
- package/dist/services/runtime-template.test.js +6 -6
- package/dist/services/template-manifest.d.ts.map +1 -1
- package/dist/services/template-manifest.js +5 -0
- package/dist/services/template-manifest.js.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/architecture/software-architecture.md +131 -0
- package/templates/.agents/branding/brandbook.docx +0 -0
- package/templates/.agents/branding/brandbook.md +60 -0
- package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +1 -1
- package/templates/.agents/dashboard/.tmp-run-list.json +254 -0
- package/templates/.agents/dashboard/.zaip-managed.json +252 -136
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-Z60df2r-.js → CostCalculationGuidePage-DxR_pgSV.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-4jZLTWE_.js +2156 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-Coc6pA-1.js → PricingSettingsDialog-CKcsqb-r.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-BomxqCBU.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-DmmJD2Th.js +3 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-BwtitWa_.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-N5Csr0RP.js +68 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-DFBuc_qp.js → icons-vendor-C0fj2uU9.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-C4aIB1PV.js +2 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-CCQOHdVI.js → react-vendor-BEsJ-FYH.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-pC2_0J8x.js → traceability-B6y6Gw12.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +5 -5
- package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/App.tsx +204 -32
- package/templates/.agents/dashboard/apps/frontend/src/DashboardAlternateContent.tsx +11 -11
- package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +14 -7
- package/templates/.agents/dashboard/apps/frontend/src/ProjectStackEditor.tsx +4 -2
- package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.test.ts +3 -1
- package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.tsx +14 -11
- package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +19 -4
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +24 -2
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.ts +22 -1
- package/templates/.agents/dashboard/apps/frontend/src/overview-status-page.test.ts +3 -1
- package/templates/.agents/dashboard/apps/frontend/src/project-settings-page.css +36 -26
- package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +2 -2
- package/templates/.agents/dashboard/apps/frontend/src/snapshot-banner-semantics.test.ts +40 -6
- package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +39 -1
- package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.test.ts +89 -23
- package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.ts +219 -29
- package/templates/.agents/dashboard/apps/frontend/src/use-app-effects.ts +61 -7
- package/templates/.agents/dashboard/apps/frontend/src/use-app-operations-pages.ts +3 -6
- package/templates/.agents/dashboard/apps/frontend/src/work-list-pagination.test.ts +2 -2
- package/templates/.agents/dashboard/apps/frontend/src/work-list-pagination.ts +3 -4
- package/templates/.agents/dashboard/apps/frontend/vite.config.ts +4 -1
- package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.test.ts +89 -19
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.tsx +31 -16
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.test.ts +43 -14
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.tsx +5 -5
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostModelsAuditTable.tsx +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorContent.tsx +67 -42
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.test.ts +115 -39
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +188 -38
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +75 -17
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.tsx +147 -58
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor.css +5 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/index.ts +2 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/period-cost-groups.ts +2 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-compact-cost-page.ts +18 -7
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-group-page.ts +95 -9
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-run-page.ts +29 -17
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.test.ts +0 -24
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.test.ts +225 -424
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +24 -15
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-terminal-day.test.ts +6 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/source-size-cost-server/build-cost-monitor-projection-agents.test.ts +31 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/source-size-cost-server/build-cost-summary-projection-duration.test.ts +414 -0
- package/templates/.agents/dashboard/modules/operations/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/src/contracts.ts +26 -23
- package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +31 -11
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +3 -1
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +51 -21
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +47 -5
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageNavigation.tsx +1 -4
- package/templates/.agents/dashboard/modules/operations/src/react/PeriodSummaryTable.tsx +32 -10
- package/templates/.agents/dashboard/modules/operations/src/react/TaskDetailsDialog.tsx +9 -3
- package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.tsx +13 -5
- package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.test.ts +12 -4
- package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.tsx +1 -4
- package/templates/.agents/dashboard/modules/operations/src/react/conversation-rows.ts +1 -2
- package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.test.ts +385 -4
- package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.tsx +481 -61
- package/templates/.agents/dashboard/modules/operations/src/react/export/export-layout.test.ts +14 -1
- package/templates/.agents/dashboard/modules/operations/src/react/export/xlsx-runtime-e2e.test.ts +248 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.test.ts +4 -4
- package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.ts +6 -4
- package/templates/.agents/dashboard/modules/operations/src/react/operations-global-filters.test.ts +4 -1
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +1 -1
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview.status-cards.test.ts +1 -1
- package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +46 -6
- package/templates/.agents/dashboard/modules/operations/src/react/operations-view-order.test.ts +1 -4
- package/templates/.agents/dashboard/modules/operations/src/react/period-summary.test.ts +82 -6
- package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.test.ts +2 -1
- package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.ts +1 -1
- package/templates/.agents/dashboard/modules/operations/src/server/execution-relationship-counts.test.ts +19 -7
- package/templates/.agents/dashboard/modules/operations/src/server/execution-relationship-counts.ts +4 -1
- package/templates/.agents/dashboard/modules/operations/src/server/quick-daily-operations-projection.ts +11 -5
- 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/branding/src/index.ts +1 -1
- package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
- package/templates/.agents/dashboard/packages/contracts/src/index.ts +1 -0
- package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +152 -149
- package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs.metafile.json +7333 -0
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +149 -146
- package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-dashboard.mjs +15 -7
- package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-runtime.mjs +44 -13
- package/templates/.agents/dashboard/packages/local-runtime/scripts/rebuild-sqlite-read-model.mjs +5 -2
- package/templates/.agents/dashboard/packages/local-runtime/scripts/source-size-runtime-scripts/sqlite-read-model-fixture.mjs +397 -0
- package/templates/.agents/dashboard/packages/local-runtime/scripts/test-sqlite-read-model.mjs +472 -145
- package/templates/.agents/dashboard/packages/local-runtime/scripts/test-unix-launchers.mjs +15 -3
- package/templates/.agents/dashboard/packages/local-runtime/scripts/validate-sqlite-read-model.mjs +129 -31
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +153 -150
- package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +6 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +3 -3
- package/templates/.agents/dashboard/packages/local-runtime/src/server-board.test.ts +55 -16
- package/templates/.agents/dashboard/packages/local-runtime/src/server-board.ts +23 -13
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +19 -4
- package/templates/.agents/dashboard/packages/local-runtime/src/server-workspace.ts +7 -3
- package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +132 -9
- package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +126 -60
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-metric-contract.ts +16 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +1861 -350
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.ts +1218 -352
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.mjs +119 -42
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +45 -20
- package/templates/.agents/dashboard/packages/ui/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +7 -5
- package/templates/.agents/design/.zaip-managed.json +3 -3
- package/templates/.agents/design/apps/catalog/package.json +1 -1
- package/templates/.agents/design/packages/local-runtime/package.json +1 -1
- package/templates/.agents/growth/estrategia-bootstrap-90-dias.md +169 -0
- package/templates/.agents/growth/strategy.md +27 -0
- package/templates/.agents/marketing/estrategia-marketing-zaip-90-dias.md +197 -0
- package/templates/.agents/marketing/strategy.md +29 -0
- package/templates/.agents/requirements/autonomous-assurance.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/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +30 -29
- package/templates/.agents/runtime/checksums.sha256 +6 -6
- package/templates/.agents/runtime/manifest.json +1 -1
- package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
- package/templates/.agents/runtime/provenance.json +5 -5
- package/templates/.agents/runtime/sbom.cdx.json +3 -3
- package/templates/.agents/sales/playbook.md +32 -0
- package/templates/.agents/sales/roteiro-comercial-zaip.md +252 -0
- package/templates/.agents/skills/zaip-aios/SKILL.md +1 -1
- package/templates/.agents/skills/zaip-skill-brand-governance/SKILL.md +9 -2
- package/templates/.agents/skills/zaip-skill-brand-governance/references/brandbook-framework.md +39 -0
- package/templates/.agents/skills/zaip-skill-brand-governance/references/brandbook-standards.md +1 -1
- package/templates/.agents/skills/zaip-skill-enforce-architecture/SKILL.md +2 -0
- package/templates/.agents/skills/zaip-skill-growth-strategy-revops/SKILL.md +6 -0
- package/templates/.agents/skills/zaip-skill-marketing/SKILL.md +6 -0
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +39 -82
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +13 -8
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +44 -14
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.mjs +19 -9
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.test.mjs +29 -5
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/source-size-telemetry/model-identity-reconciliation.mjs +77 -0
- package/templates/.agents/skills/zaip-skill-sales-methodology/SKILL.md +6 -0
- package/templates/.agents/skills/zaip-skill-sqlite-read-model/scripts/ensure-node.mjs +28 -5
- package/templates/.agents/zaip-aios/INDEX.md +10 -0
- package/templates/.agents/zaip-aios/README.md +2 -1
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/.agents/zaip-aios/guides/18-catalogo-de-agentes.md +76 -0
- package/templates/.agents/zaip-aios/guides/19-assurance-e-autonomia.md +72 -0
- package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +330 -0
- package/templates/.agents/zaip-aios/guides/21-telemetria-monitor-custos.md +52 -0
- package/templates/.agents/zaip-aios/guides/22-fluxos-e-roteamento.md +69 -0
- package/templates/.agents/zaip-aios/guides/23-orquestracao-de-modelos.md +483 -0
- package/templates/.agents/zaip-aios/guides/24-calculo-de-custos-openai.md +85 -0
- package/templates/.agents/zaip-aios/guides/25-fontes-de-precos-openai.md +18 -0
- package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +44 -0
- package/templates/.agents/zaip-aios/guides/27-telemetria-git-native.md +167 -0
- package/templates/.agents/zaip-aios/guides/28-lifecycle-completo.md +144 -0
- package/templates/.agents/zaip-aios/guides/assets/diagrams/lifecycles-task-spec-prd.png +0 -0
- package/templates/.agents/zaip-aios/guides/assets/diagrams/prd-lifecycle.png +0 -0
- package/templates/.agents/zaip-aios/guides/assets/diagrams/spec-lifecycle.png +0 -0
- package/templates/.agents/zaip-aios/guides/assets/diagrams/task-lifecycle.png +0 -0
- package/templates/template-manifest.json +313 -177
- package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-Cs6dzDmW.js +0 -1505
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-QE1k9yZB.css +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-_Pf5DA_A.js +0 -3
- package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-BVlz3DLZ.js +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-Cf9ctPVt.js +0 -68
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-8A4DcNXM.js +0 -2
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Catálogo de agentes
|
|
2
|
+
|
|
3
|
+
`.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`.
|
|
4
|
+
|
|
5
|
+
## Identidade técnica e persona
|
|
6
|
+
|
|
7
|
+
Cada 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:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
codex_task_name = "{nome}_{cargo}_zaip_agent"
|
|
11
|
+
nickname_candidates = ["{nome}_{cargo}_zaip_agent"]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
O 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.
|
|
15
|
+
|
|
16
|
+
## Agentes canônicos
|
|
17
|
+
|
|
18
|
+
| 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 |
|
|
19
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
20
|
+
| 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` |
|
|
21
|
+
| 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` |
|
|
22
|
+
| 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` |
|
|
23
|
+
| 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` |
|
|
24
|
+
| Gui | Quality Assurance Lead | `zaip-agent-finalizer` | `gui_quality_assurance_lead_zaip_agent` | Avalia a barreira final e emite somente o resultado terminal permitido. | Obrigatoriamente como último Sub-Run de interação ou delivery. | Antes de executor/revisor terminar ou para corrigir código. | `finalization`, `terminal`, `barrier`, `task-finalizer` |
|
|
25
|
+
| 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` |
|
|
26
|
+
| 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` |
|
|
27
|
+
| 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` |
|
|
28
|
+
| 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` |
|
|
29
|
+
| 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` |
|
|
30
|
+
| 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` |
|
|
31
|
+
| 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` |
|
|
32
|
+
| 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` |
|
|
33
|
+
| 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` |
|
|
34
|
+
| 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` |
|
|
35
|
+
|
|
36
|
+
| 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` |
|
|
37
|
+
| 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` |
|
|
38
|
+
| 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` |
|
|
39
|
+
| 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` |
|
|
40
|
+
| 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` |
|
|
41
|
+
| 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` |
|
|
42
|
+
| 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` |
|
|
43
|
+
| 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` |
|
|
44
|
+
|
|
45
|
+
## Squads organizacionais
|
|
46
|
+
|
|
47
|
+
O 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.
|
|
48
|
+
|
|
49
|
+
Os 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.
|
|
50
|
+
|
|
51
|
+
## Roteamento determinístico
|
|
52
|
+
|
|
53
|
+
`selectAgentForWork` deriva uma capacidade mandatória a partir de escopos explícitos antes de aplicar a seleção ordenada por prioridade e ID.
|
|
54
|
+
|
|
55
|
+
- `.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/**`.
|
|
56
|
+
- `apps/site/**` ou capability explícita `website-delivery`, SEO, GEO, Markdown for Agents ou Agent Readiness seleciona Jonny.
|
|
57
|
+
- `apps/frontend/**` seleciona Doug quando a capability é frontend; `apps/backend/**` e `modules/**` selecionam Will quando a capability é backend.
|
|
58
|
+
- 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.
|
|
59
|
+
- 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.
|
|
60
|
+
- 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.
|
|
61
|
+
- 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.
|
|
62
|
+
- 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.
|
|
63
|
+
- 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.
|
|
64
|
+
- `.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.
|
|
65
|
+
|
|
66
|
+
O 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.
|
|
67
|
+
|
|
68
|
+
O 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.
|
|
69
|
+
|
|
70
|
+
O `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.
|
|
71
|
+
|
|
72
|
+
Nanda (`agent-reviewer`) usa `gpt-5.6-terra` com esforço `medium` e `soft_cycles: 12`, proporcional à revisão standard. Ana (`agent-auditor`) permanece `gpt-5.6-sol`/`high` para auditoria crítica ou explicitamente auditável; Luiz (`agent-security-auditor`) permanece `gpt-5.6-sol`/`high` para auditoria de segurança explícita.
|
|
73
|
+
|
|
74
|
+
## Dashboard e segurança operacional
|
|
75
|
+
|
|
76
|
+
A 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.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Assurance adaptativa e autonomia opt-in
|
|
2
|
+
|
|
3
|
+
O ZAIP-AIOS separa duas decisões que não devem ser confundidas: quanto de prova uma entrega exige e quem executa a DAG. A primeira é governada por `assurance`; a segunda por `execution`. O modo manual continua sendo o padrão seguro e econômico.
|
|
4
|
+
|
|
5
|
+
## Matriz de validação
|
|
6
|
+
|
|
7
|
+
| Origem e risco | Validações aprovadas | Evidences aprovadas | Controles adicionais |
|
|
8
|
+
| --- | ---: | ---: | --- |
|
|
9
|
+
| Task standalone `lite` | 1 ou mais; normalmente 1 | 1 ou mais; normalmente 1 | cobertura completa dos ACs; provas extras legítimas são aceitas |
|
|
10
|
+
| Task standalone `standard`, base | 2 ou mais | 1 ou mais, com pelo menos 1 Evidence consolidada | modalidades distintas; inclui teste |
|
|
11
|
+
| Task standalone `standard`, elevado | 3 ou mais | 1 ou mais, com pelo menos 1 Evidence consolidada | modalidades distintas; inclui teste |
|
|
12
|
+
| Task standalone `critical` | 3 ou mais | 1 dedicada por AC quando o sinal persistido exigir | teste, quality review independente e controles dirigidos pelos sinais |
|
|
13
|
+
| Entrega de SPEC | 3 ou mais parentais | 3 ou mais parentais | matriz de AC, integração, spec review, quality review e commit final |
|
|
14
|
+
| Entrega de PRD | 3 ou mais parentais | 3 ou mais parentais | matriz de AC/outcome, cross-SPEC E2E, spec review, quality review e commit final |
|
|
15
|
+
|
|
16
|
+
Uma única Evidence pode cobrir vários ACs nos perfis `lite` e `standard`, e nos perfis parentais que não exigem Evidence dedicada por AC. Em todos os casos, a cobertura precisa ser completa e a Evidence deve referenciar uma validação tipada aprovada da mesma Task, Change e Execution. Texto declarando que algo passou não é prova.
|
|
17
|
+
|
|
18
|
+
`standard_depth: auto` escolhe o perfil base quando `verification_scope: scoped` está persistido e o elevado para escopo mais amplo. Para registros históricos sem esse sinal, o fallback conservador usa mais de um write scope; ele não substitui a classificação nova. O perfil `lite` não é permitido como atalho para segurança, migração, irreversibilidade ou mudança multi-domínio crítica.
|
|
19
|
+
|
|
20
|
+
Em `critical`, a revisão de qualidade independente é sempre exigida. Mutação é exigida apenas para segurança ou dados críticos; rollback para migração, irreversibilidade ou rollback não trivial; e Evidence por AC para segurança ou migração. Evidência de commit final é exigida para impacto em produção, ação externa ou migração. Esses controles são decididos pelos sinais de risco persistidos, não por quotas máximas de artefatos.
|
|
21
|
+
|
|
22
|
+
## Ativação segura
|
|
23
|
+
|
|
24
|
+
Configuração recomendada para uso normal:
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
execution:
|
|
28
|
+
runtime: manual
|
|
29
|
+
assurance:
|
|
30
|
+
version: 1
|
|
31
|
+
standard_depth: auto
|
|
32
|
+
require_final_commit: true
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
`require_final_commit: true` impede que validações antigas ou feitas antes da integração comprovem o candidato atual. Durante uma migração controlada do próprio framework, ele pode ser temporariamente `false`, mas a exceção precisa ser explícita e não qualifica cleanroom ou release.
|
|
36
|
+
|
|
37
|
+
## Runtime autônomo
|
|
38
|
+
|
|
39
|
+
Autonomia exige configuração explícita:
|
|
40
|
+
|
|
41
|
+
```yaml
|
|
42
|
+
execution:
|
|
43
|
+
runtime: autonomous
|
|
44
|
+
autonomous:
|
|
45
|
+
provider: codex
|
|
46
|
+
model: MODELO-PERMITIDO
|
|
47
|
+
max_parallelism: 3
|
|
48
|
+
lease_ms: 900000
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
O projeto ZAIP-AIOS limita a concorrência produtiva a `max_parallelism: 3`, mas inicia em 1. A elevação só ocorre quando existem ramos sem dependência e sem sobreposição de write scope; o coordenador reivindica cada lote novamente com os locks do scheduler. O paralelismo efetivo é sempre o menor limite entre projeto, plano independente, provider e squad. `budget.soft_cycles` é aplicado ao agente escolhido em cada Task; tokens permanecem telemetria e custo, não checkpoint. `zaip run aggregate --agent agent-ID` filtra a identidade e retorna duração, ciclos observados, tokens, custo, cobertura e rework. Telemetria não capturada permanece indisponível, nunca zero.
|
|
52
|
+
|
|
53
|
+
O runtime cria Executions-filhas determinísticas somente para SPECs com dependências internas e write scopes globalmente disjuntos. Cada filha possui coordinator, estado, quota de orçamento e handoff próprios, mas todas compartilham a fila limitada pelo paralelismo efetivo e o ledger de invocações do PRD. A filha termina antes do fan-in e o pai não reexecuta suas Tasks. A Execution do PRD integra os commits das filhas, executa as modalidades parentais sobre o commit combinado e bloqueia o finalizer enquanto houver filha ativa. SPECs inelegíveis continuam na DAG global, preservando locks, orçamento e segurança do coordenador.
|
|
54
|
+
|
|
55
|
+
O driver autônomo:
|
|
56
|
+
|
|
57
|
+
- usa protocolo nativo JSONL de Codex ou Claude, sem shell;
|
|
58
|
+
- cria worktree Git por Task a partir de uma raiz limpa;
|
|
59
|
+
- limita alterações aos write scopes;
|
|
60
|
+
- exige commit final e valida os artefatos tipados dentro da worktree;
|
|
61
|
+
- aborta merge conflitante e não deixa merge parcial;
|
|
62
|
+
- persiste estado com compare-and-swap;
|
|
63
|
+
- serializa somente transições do estado durável e rebaseia cada Task, permitindo que invocações de ramos independentes executem em paralelo com segurança;
|
|
64
|
+
- mantém checkpoints opacos somente em `.local`;
|
|
65
|
+
- limita `lite` a uma tentativa e `standard`/`critical` a no máximo três tentativas de desenvolvimento ou reparo;
|
|
66
|
+
- usa verificador independente para critical, SPEC e PRD.
|
|
67
|
+
|
|
68
|
+
Ativar `autonomous` não afirma que o runtime está validado em produção. A maturidade só avança quando o mesmo hash do candidato passa validação local, cleanroom, ambiente representativo e observação de produção, nessa ordem.
|
|
69
|
+
|
|
70
|
+
## Cobertura e release
|
|
71
|
+
|
|
72
|
+
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.
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
# Como instalar e rodar o ZAIP-AIOS
|
|
2
|
+
|
|
3
|
+
Este 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`.
|
|
4
|
+
|
|
5
|
+
## Pré-requisitos
|
|
6
|
+
|
|
7
|
+
- Node.js 22 ou superior;
|
|
8
|
+
- pnpm 11;
|
|
9
|
+
- Git;
|
|
10
|
+
- permissões de escrita no repositório consumidor.
|
|
11
|
+
|
|
12
|
+
## Construir o CLI
|
|
13
|
+
|
|
14
|
+
No repositório-fonte:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
pnpm install
|
|
18
|
+
pnpm build
|
|
19
|
+
node packages/cli/dist/index.js version
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Nos exemplos abaixo, substitua `zaip` por `node /caminho/zaip-aios/packages/cli/dist/index.js` se o binário ainda não estiver no `PATH`.
|
|
23
|
+
|
|
24
|
+
## Instalar ou atualizar
|
|
25
|
+
|
|
26
|
+
Faça primeiro um dry-run e revise conflitos:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
zaip setup --workspace /caminho/do/projeto --dry-run --json
|
|
30
|
+
zaip setup --workspace /caminho/do/projeto
|
|
31
|
+
zaip doctor --workspace /caminho/do/projeto
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
O setup V2 cria ou valida:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
.agents/config/{project.yaml,framework.lock.yaml}
|
|
38
|
+
.agents/rules/{core,workflow,architecture,security,context}.md
|
|
39
|
+
.agents/requirements/{work-lifecycle,execution-engine,cost-observability,kanban-dashboard,context-engine,software-architecture}.md
|
|
40
|
+
.agents/skills/
|
|
41
|
+
.agents/records/{prds,specs,changes,tasks,executions,runs}/
|
|
42
|
+
.agents/records/lifecycle/
|
|
43
|
+
.local/claims/ # claims idempotentes do lifecycle; não é histórico canônico
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
O runtime `.agents/runtime` usa a `.agents/` da raiz como fonte canônica das Rules, dos seis
|
|
47
|
+
Requirements de área e das skills. Em uma instalação nova, o setup cria config e os seis diretórios
|
|
48
|
+
vazios de data, projeta somente os arquivos portáveis do framework e registra a versão de origem em
|
|
49
|
+
`source_release`. Histórico, Changes, Tasks, Runs e aliases específicos deste repositório nunca são
|
|
50
|
+
copiados para o projeto consumidor.
|
|
51
|
+
|
|
52
|
+
O setup identifica a propriedade pelo `framework.lock.yaml`: Rules presentes no lock pertencem ao
|
|
53
|
+
framework; as demais são locais ao projeto e são preservadas em instalações e upgrades. Conflitos
|
|
54
|
+
de ID ou contradições bloqueiam a operação; não existe override silencioso.
|
|
55
|
+
|
|
56
|
+
Também gera adapters mínimos, como `AGENTS.md` e `CLAUDE.md`, sem sobrescrever conteúdo do usuário silenciosamente.
|
|
57
|
+
|
|
58
|
+
## Migrar estado V1
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
zaip migrate plan --workspace /caminho/do/projeto --json
|
|
62
|
+
zaip migrate plan --workspace /caminho/do/projeto --verbose --json
|
|
63
|
+
zaip migrate apply --workspace /caminho/do/projeto --plan-hash HASH
|
|
64
|
+
zaip migrate status --workspace /caminho/do/projeto
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Por 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`.
|
|
68
|
+
|
|
69
|
+
A migração deve ser idempotente. Até ser aplicada e verificada, raízes V1 permanecem legado somente leitura. Para desfazer uma migração suportada:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
zaip migrate rollback --workspace /caminho/do/projeto --migration ID
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Escolher a entrada certa
|
|
76
|
+
|
|
77
|
+
Use 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.
|
|
78
|
+
|
|
79
|
+
PRD e SPEC são opcionais. Toda mensagem é capturada por uma Execution e uma Run. Para pergunta, feedback ou análise pontual somente leitura, use `zaip conversation start` e `zaip conversation finish`: é criada uma Execution `interaction`, sem Task ou Change artificial. A criação ou o refinamento explícito de PRD/SPEC `draft` é a exceção de definição e pode persistir o macro e seu PreparedPlan na própria `interaction`, sem Task, Change ou Execution `delivery`. Fora dessa exceção, qualquer alteração intencional e persistente em código, documentação, configuração ou outro arquivo do repositório ou do computador exige uma Execution `delivery`, Task materializada e Run raiz de orquestração ativa antes da primeira escrita.
|
|
80
|
+
|
|
81
|
+
Uma 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).
|
|
82
|
+
|
|
83
|
+
## Task-first
|
|
84
|
+
|
|
85
|
+
Crie o draft manual, prepare e execute explicitamente:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
zaip task create --title "Ajuste pontual" --short-name ajuste-pontual --objective "Resultado esperado" --requirements REQ-ID --acceptance AC-ID --write-scopes src/**
|
|
89
|
+
zaip task prepare TASK-ID
|
|
90
|
+
zaip task execute TASK-ID
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Task-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`.
|
|
94
|
+
|
|
95
|
+
Task-first registra objetivo, Requirements e Acceptance Criteria sem ocupar artificialmente as
|
|
96
|
+
colunas Definição ou Planejamento. Uma Task criada ou preparada, mas não iniciada, aparece em Pronto
|
|
97
|
+
para executar. Em pedidos diretos de ação, Change, Execution, Task e Run raiz são materializados
|
|
98
|
+
antes da primeira mutação. Verificação e evidências sempre refletem registros reais.
|
|
99
|
+
|
|
100
|
+
Para uma Task manual com dependências, modele a DAG completa em um draft de plano e gere o contrato canônico antes do prepare:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
zaip plan build --draft ./task-plan-draft.json --output ./task-plan.json
|
|
104
|
+
zaip plan validate --plan ./task-plan.json
|
|
105
|
+
zaip task prepare TASK-ID --plan ./task-plan.json
|
|
106
|
+
zaip task execute TASK-ID
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
O draft fornecido a `plan build` contém origem, Changes, Tasks, Execution, Requirements/AC e locks,
|
|
110
|
+
mas não precisa calcular hash ou ordem topológica. Toda Task referenciada por `depends_on` precisa
|
|
111
|
+
estar no mesmo plano. `plan validate` verifica o PreparedPlan completo sem materializá-lo.
|
|
112
|
+
|
|
113
|
+
## SPEC opcional
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
zaip spec create --title "Objetivo técnico" --short-name objetivo-tecnico --objective "Resultado esperado"
|
|
117
|
+
zaip spec prepare SPEC-ID --plan ./spec-plan.json
|
|
118
|
+
zaip spec show SPEC-ID
|
|
119
|
+
zaip spec execute SPEC-ID
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
`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.
|
|
123
|
+
|
|
124
|
+
## PRD opcional
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
zaip prd create --title "Resultado de negócio" --short-name resultado-negocio --problem "Problema a resolver"
|
|
128
|
+
zaip spec create --prd PRD-ID --title "Entrega técnica" --short-name entrega-tecnica --objective "Resultado técnico"
|
|
129
|
+
zaip prd prepare PRD-ID --plan ./prd-plan.json
|
|
130
|
+
zaip prd show PRD-ID
|
|
131
|
+
zaip prd execute PRD-ID
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
É 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.
|
|
135
|
+
|
|
136
|
+
Na 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.
|
|
137
|
+
|
|
138
|
+
`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.
|
|
139
|
+
|
|
140
|
+
## Refinar sem executar
|
|
141
|
+
|
|
142
|
+
Não existe comando `refine`. Enquanto PRD, SPEC ou Task estiver em `draft`, edite seu Markdown
|
|
143
|
+
canônico em `.agents/records`, incremente `revision` e atualize `updated_at`; em seguida use `show` e
|
|
144
|
+
os validadores aplicáveis. Depois de `prepare`, não altere o plano silenciosamente: volte a um
|
|
145
|
+
draft por uma transição explicitamente suportada pela política da entidade ou cancele e crie um
|
|
146
|
+
novo draft. Isso preserva hash, auditoria e leitura humana.
|
|
147
|
+
|
|
148
|
+
Para 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.
|
|
149
|
+
|
|
150
|
+
## Executar e acompanhar a DAG
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
zaip execution list
|
|
154
|
+
zaip execution show EXEC-ID
|
|
155
|
+
zaip execution start EXEC-ID
|
|
156
|
+
zaip task next
|
|
157
|
+
zaip task start TASK-ID
|
|
158
|
+
zaip run start --short-name orquestrar-task --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
|
|
159
|
+
# execute e verifique o trabalho
|
|
160
|
+
zaip run start --short-name finalizar-execution --phase execution --run-purpose finalization --entrypoint task --work-type new --client codex-subagent --agent zaip-agent-finalizer --model MODEL --reasoning-effort EFFORT --conversation CONV-ID --parent RUN-RAIZ-ID --execution EXEC-ID --task TASK-ID --change CHG-ID
|
|
161
|
+
zaip run finish RUN-FINALIZADOR-ID --status completed
|
|
162
|
+
zaip run finish RUN-ID --status completed --task-outcome completed --summary "Resultado" --evidence EVD-ID --changed-files src/arquivo.ts
|
|
163
|
+
zaip run closure RUN-ID
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Tasks `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.
|
|
167
|
+
|
|
168
|
+
Cada 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.
|
|
169
|
+
|
|
170
|
+
### Assurance e autonomia
|
|
171
|
+
|
|
172
|
+
Ative a garantia tipada sem ativar execução por provider:
|
|
173
|
+
|
|
174
|
+
```yaml
|
|
175
|
+
execution:
|
|
176
|
+
runtime: manual
|
|
177
|
+
assurance:
|
|
178
|
+
version: 1
|
|
179
|
+
standard_depth: auto
|
|
180
|
+
require_final_commit: true
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Task 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).
|
|
184
|
+
|
|
185
|
+
## Changes, decisões e evidências
|
|
186
|
+
|
|
187
|
+
Cada alteração possui `.agents/records/changes/YYYY/MM/CHG-.../change.md`, criado antes da primeira mutação. Ele registra:
|
|
188
|
+
|
|
189
|
+
- plano e Requirement deltas;
|
|
190
|
+
- implementação;
|
|
191
|
+
- decisões humanas e da IA;
|
|
192
|
+
- evidências por Acceptance Criterion;
|
|
193
|
+
- evals e testes;
|
|
194
|
+
- resultado final.
|
|
195
|
+
|
|
196
|
+
Cada teste, revisão, eval ou check executado também deve gerar um artefato reproduzível em
|
|
197
|
+
`artifacts/tests/`, `artifacts/evals/` ou `artifacts/checks/`. O registro inclui ao menos
|
|
198
|
+
`executed_at` com timezone, comando, status, Task, Run e Acceptance Criteria cobertos. Quando uma
|
|
199
|
+
verificação não se aplica, registre `status: not_applicable` e a justificativa; ausência de registro
|
|
200
|
+
permanece pendência. O dashboard contabiliza testes e considera uma etapa rastreada somente quando
|
|
201
|
+
existe timestamp de origem, sem substituir ausência pelo horário da consulta.
|
|
202
|
+
|
|
203
|
+
Decisõ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.
|
|
204
|
+
|
|
205
|
+
## Runs e custos
|
|
206
|
+
|
|
207
|
+
Uma 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.
|
|
208
|
+
|
|
209
|
+
Operaçã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.
|
|
210
|
+
|
|
211
|
+
A captura do Codex persiste primeiro um envelope sanitizado em
|
|
212
|
+
`.local/codex-telemetry-spool/v1/`, que permanece fora do Git. Depois do terminal da
|
|
213
|
+
invocação, a compactação produz um `InvocationSummary` e publica chunks e manifestos por
|
|
214
|
+
ano/mês/writer em `.agents/records/telemetry/`. Prompts, respostas, reasoning privado e segredos não
|
|
215
|
+
entram nesses arquivos.
|
|
216
|
+
|
|
217
|
+
Quando o Monitor de Custos recebe `from` e `to`, ele valida hashes e consulta os manifestos antes de
|
|
218
|
+
carregar somente os chunks compatíveis com o período e os filtros. Na ausência de summaries
|
|
219
|
+
aplicáveis, usa a projeção de Run existente sem promover a cobertura. O contrato completo, a
|
|
220
|
+
semântica de `complete|partial|unavailable` e o procedimento de recuperação estão em
|
|
221
|
+
[Telemetria Git-native do Codex](27-telemetria-git-native.md).
|
|
222
|
+
|
|
223
|
+
O 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.
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
zaip 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
|
|
227
|
+
zaip run usage RUN-ID --input-tokens N --output-tokens N
|
|
228
|
+
zaip run finish RUN-ID --status completed --task-outcome completed --summary "Resultado" --evidence EVD-ID --changed-files src/arquivo.ts
|
|
229
|
+
zaip run closure RUN-ID
|
|
230
|
+
zaip run show RUN-ID
|
|
231
|
+
zaip run list --phase execution --task TASK-ID --limit 50
|
|
232
|
+
zaip run aggregate --prd PRD-ID --from 2026-07-01 --to 2026-07-31
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
`run-v2` permanece alias compatível. `run list` retorna resumos compactos e paginados; combine
|
|
236
|
+
`--phase`, `--entrypoint`, `--work-type`, `--conversation`, `--execution`, `--change`, `--task`,
|
|
237
|
+
`--spec`, `--prd`, período e paginação. `run aggregate` usa os mesmos filtros para totalizar uso,
|
|
238
|
+
custo e cobertura sem dupla contagem. Valores ausentes permanecem nulos; dashboards mostram
|
|
239
|
+
cobertura para impedir que custo desconhecido pareça custo zero.
|
|
240
|
+
|
|
241
|
+
Reconciliação global não roda ao abrir o dashboard, a cada turno ou em intervalo. Ela só é executada
|
|
242
|
+
quando uma pessoa confirma o popup **Reconciliar** ou chama explicitamente
|
|
243
|
+
`zaip run reconcile --open`. O reconciliador usa fatos locais: pode concluir uma Task com evento
|
|
244
|
+
terminal exato; marca Run órfão depois da tolerância como falha técnica; transforma ausência de gates
|
|
245
|
+
em bloqueio; e nunca infere cancelamento ou sucesso sem evidência.
|
|
246
|
+
|
|
247
|
+
## Organizar frontend, backend e site
|
|
248
|
+
|
|
249
|
+
Crie somente as superfícies usadas pelo projeto, mas preserve seus papéis:
|
|
250
|
+
|
|
251
|
+
```text
|
|
252
|
+
apps/frontend/ # UI do produto
|
|
253
|
+
apps/backend/ # APIs e workers
|
|
254
|
+
apps/site/ # landing page e site público independente
|
|
255
|
+
modules/<area>/ # capacidades de negócio
|
|
256
|
+
packages/<library>/ # bibliotecas técnicas
|
|
257
|
+
tests/e2e/ # jornadas entre aplicações
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
A dependência aponta de `apps` para `modules` e destes para `packages`. O site público não importa
|
|
261
|
+
o dashboard, não lê `.agents` e não acessa implementação privada do backend.
|
|
262
|
+
|
|
263
|
+
O dashboard ZAIP é outra fronteira, em `.agents/dashboard`. Ele possui somente
|
|
264
|
+
`apps/frontend`; o servidor loopback fica em `packages/local-runtime`, acompanhado dos módulos
|
|
265
|
+
`operations`, `cost-monitor` e `traceability`, demais packages próprios e `tests/e2e`. Ele lê
|
|
266
|
+
os manifests canônicos em `.agents/records/lifecycle` e abre os demais records apenas por ID. A única
|
|
267
|
+
reparação global iniciada pela UI ocorre após confirmação explícita no popup Reconciliar e usa o
|
|
268
|
+
comando canônico de reconciliação; não deve ser movido para o `apps/frontend` do produto
|
|
269
|
+
nem publicado como `apps/site`.
|
|
270
|
+
|
|
271
|
+
No repositório-fonte do ZAIP, o gate de tamanho é executado isoladamente com:
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
node scripts/validate-source-size.mjs
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Arquivos com 401–800 linhas geram warning; arquivos com 801 ou mais geram erro. Código gerado,
|
|
278
|
+
`dist`, vendor, `node_modules`, `.agents/records` e lockfiles são ignorados. Exceções temporárias
|
|
279
|
+
existem apenas para legado não-dashboard, não podem crescer e precisam declarar responsável,
|
|
280
|
+
motivo e expiração.
|
|
281
|
+
|
|
282
|
+
## Contrato CLI e taxonomia publicados
|
|
283
|
+
|
|
284
|
+
O lifecycle observável avança em uma única direção: `conversation → planning → execution`. Task,
|
|
285
|
+
SPEC e PRD são entrypoints distintos; Change narra a mutação, Execution coordena a DAG e Run mede
|
|
286
|
+
uma tentativa. O manifesto público do CLI cobre estas áreas e ações:
|
|
287
|
+
|
|
288
|
+
```text
|
|
289
|
+
zaip setup; zaip doctor
|
|
290
|
+
zaip adapters build|check
|
|
291
|
+
zaip context inventory|build|inspect
|
|
292
|
+
zaip manifest rebuild|refresh|show|reconcile
|
|
293
|
+
zaip verify --changed --risk lite|standard|critical
|
|
294
|
+
zaip architecture validate; zaip cqrs validate; zaip modules validate; zaip profile validate
|
|
295
|
+
zaip eval run
|
|
296
|
+
zaip migrate plan|apply|status|rollback
|
|
297
|
+
zaip plan build|validate|normalize
|
|
298
|
+
zaip prd create|list|show|prepare|ready|execute|activate|deliver|block|fail|cancel
|
|
299
|
+
zaip spec create|list|show|prepare|ready|execute|activate|deliver|block|fail|cancel
|
|
300
|
+
zaip change list|show|start|resume|block|verify|complete|fail|cancel
|
|
301
|
+
zaip task create|list|next|show|prepare|execute|start|resume|rework|block|verify|complete|fail|cancel
|
|
302
|
+
zaip execution list|show|start|resume|pause|block|verify|complete|fail|cancel
|
|
303
|
+
zaip conversation start|finish
|
|
304
|
+
zaip subagent capture
|
|
305
|
+
zaip run start|list|aggregate|usage|finish|closure|reconcile|show
|
|
306
|
+
zaip decision list|show|record
|
|
307
|
+
zaip generate; zaip guard diff; zaip ui; zaip version
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
`pnpm test:contract` impede drift entre este guia, o manifesto de comandos, versões de packages,
|
|
311
|
+
runtime distribuído e o gate de tamanho. `pnpm test:e2e` executa primeiro esse contrato e depois o
|
|
312
|
+
E2E do dashboard.
|
|
313
|
+
|
|
314
|
+
## Validação
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
zaip adapters check
|
|
318
|
+
zaip context inventory
|
|
319
|
+
zaip architecture validate
|
|
320
|
+
zaip modules validate
|
|
321
|
+
zaip profile validate
|
|
322
|
+
zaip cqrs validate
|
|
323
|
+
zaip eval run
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
`modules validate` verifica fronteiras entre `apps`, `modules` e `packages`. `profile validate`
|
|
327
|
+
verifica 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
|
|
328
|
+
commands/queries.
|
|
329
|
+
|
|
330
|
+
No repositório-fonte, rode também `pnpm validate:skills` e `pnpm test:encoding` após alterar Rules, Requirements, skills ou documentação.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Contrato de telemetria do Monitor de Custos
|
|
2
|
+
|
|
3
|
+
Atualizado em 26 de julho de 2026.
|
|
4
|
+
|
|
5
|
+
## Escopo
|
|
6
|
+
|
|
7
|
+
O Monitor de Custos é uma visão financeira de invocações LLM. Cada linha exibida deve possuir:
|
|
8
|
+
|
|
9
|
+
- tokens coletados;
|
|
10
|
+
- custo BRL calculável a partir dos tokens e do catálogo histórico;
|
|
11
|
+
- duração de origem observada.
|
|
12
|
+
|
|
13
|
+
Runs de lifecycle não são automaticamente linhas financeiras. Uma Run sem chamada LLM, ou com chamada sem correspondência local verificável, permanece no histórico de Operação e não entra no Monitor. Isso impede que `0` seja usado para esconder falta de coleta.
|
|
14
|
+
|
|
15
|
+
## Fonte e proveniência
|
|
16
|
+
|
|
17
|
+
A projeção é **manifest-first**: usa os manifests e registros Git como fonte canônica e a telemetria local apenas para uma reconciliação com correspondência exata. O Dashboard não usa SQLite como fonte de dados do Monitor de Custos.
|
|
18
|
+
|
|
19
|
+
Tokens, custo e duração exibidos no Monitor mantêm proveniência observada. Uma duração limitada de lifecycle com proveniência `legacy_inferred` pode permanecer em Operação e Rastreabilidade, mas não completa uma linha financeira nem entra em seus agregados.
|
|
20
|
+
|
|
21
|
+
## Cobertura e valores exibidos
|
|
22
|
+
|
|
23
|
+
`Cobertura de 100%` neste monitor significa que todas as linhas financeiras exibidas têm tokens, custo e duração observada. A contagem e a cobertura precisam ser recalculadas após qualquer mudança no critério de elegibilidade; não reutilize uma auditoria anterior como prova do conjunto novo.
|
|
24
|
+
|
|
25
|
+
Os agregados de Conversas, Providers, Agentes, Modelos, Diário, Mensal e Anual usam as mesmas invocações financeiras da tabela. Um agente configurado sem invocações no período é um agregado vazio real e exibe zero. Duração ausente exibe `Indisponível`; o valor bruto e sua proveniência continuam disponíveis para auditoria.
|
|
26
|
+
|
|
27
|
+
Não se deve converter em zero um registro que esteja fora do conjunto financeiro por ausência de coleta. Na auditoria, 126 Runs de Operação estavam nessa condição: 111 sem chamada LLM e 15 sem correspondência local única. Elas não alteram a cobertura das linhas financeiras.
|
|
28
|
+
|
|
29
|
+
## Filtros e totais
|
|
30
|
+
|
|
31
|
+
Filtros preenchidos somente com data são inclusivos: a data inicial começa em `00:00:00.000Z` e a final termina em `23:59:59.999Z`. O card de custo da Visão geral recebe o mesmo conjunto ativo do Monitor de Custos; por isso card, tabela e total devem coincidir para o mesmo período e moeda.
|
|
32
|
+
|
|
33
|
+
## Verificação operacional
|
|
34
|
+
|
|
35
|
+
1. Backfill dos manifests lifecycle após alterar records ou reconciliação:
|
|
36
|
+
|
|
37
|
+
```powershell
|
|
38
|
+
node packages/cli/dist/index.js manifest rebuild --confirm-full-scan --json
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
2. Execute as validações do módulo e dos artefatos publicados:
|
|
42
|
+
|
|
43
|
+
```powershell
|
|
44
|
+
corepack pnpm --filter @zaip-ai/dashboard-cost-monitor typecheck
|
|
45
|
+
corepack pnpm --filter @zaip-ai/dashboard-cost-monitor test -- agent-groups.test.ts CostMonitorPage.test.tsx CostTables.test.ts build-cost-monitor-projection.test.ts
|
|
46
|
+
corepack pnpm release:artifacts
|
|
47
|
+
node scripts/validate-release-parity.mjs --release
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
3. Consulte `/api/v2/cost-monitor` no período auditado e confirme, para cada grupo, que `missing_tokens`, `missing_cost_brl` e `missing_duration` são zero. Em seguida, compare o total de custo retornado com o card da Visão geral usando exatamente os mesmos filtros.
|
|
51
|
+
|
|
52
|
+
Se houver uma lacuna, preserve-a como ausência até existir uma correspondência exata e única. Ação de reconciliação não autoriza estimar token, custo ou duração.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Fluxos e roteamento ZAIP-AIOS
|
|
2
|
+
|
|
3
|
+
Este guia preserva a explicação operacional detalhada sem tornar a página inicial pesada ou dependente do renderizador Mermaid do GitHub. Os fluxos são texto versionado e pesquisável; os ciclos de lifecycle que precisam de leitura visual usam PNG estático.
|
|
4
|
+
|
|
5
|
+
## Roteamento normal
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
Entrada → classificar demanda → Dave (orquestrador)
|
|
9
|
+
→ executor por capacidade → Nanda (review independente)
|
|
10
|
+
→ Gui (finalizador, último agente) → resultado terminal
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
O executor é Leo para Task genérica, Rafa para trabalho técnico amplo ou o especialista cujo catálogo cobre a capacidade solicitada. Todos reportam a Dave; a sequência não significa que um trabalhador chama o próximo.
|
|
14
|
+
|
|
15
|
+
## Loop de custo e qualidade
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
Tentativa → gates e review
|
|
19
|
+
aprovado → finalizar
|
|
20
|
+
correção necessária → classificar rework → recalibrar agente, modelo e esforço → nova tentativa
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Em PRD/SPEC com `model_orchestration.mode:auto`, trabalho simples e delimitado pode usar Luna/low, execução padrão Terra/medium e ambiguidade, transversalidade ou rework estrutural Sol/high ou xhigh. Conversation e Task-first preservam a seleção manual do host/Codex. Criticidade amplia assurance; não eleva modelo mecanicamente.
|
|
24
|
+
|
|
25
|
+
## Entradas e planejamento
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
Pergunta simples → resposta direta Análise especializada → Interaction
|
|
29
|
+
Mudança delimitada → Task-first Problema de produto → PRD
|
|
30
|
+
Definição técnica → SPEC Continuação → retomar foco
|
|
31
|
+
Falha ou achado → rework Auditoria → audit
|
|
32
|
+
Deploy ou push → Git-only
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Para produto e planejamento técnico: ideia ou problema → Dave → Bia (PRD e critérios) → Rafa (SPEC e DAG) → validação de prontidão → materializar Tasks → executar DAG → Nanda → Gui. Refinamento de produto retorna a Bia e refinamento técnico retorna a Rafa.
|
|
36
|
+
|
|
37
|
+
## Demanda crítica e os 23 agentes
|
|
38
|
+
|
|
39
|
+
Uma demanda crítica pode envolver Bia ou Rafa no planejamento, e especialistas como Will (backend), Doug (frontend), Manu (design) e Dan (cloud) na execução. Dani integra branches quando necessário; Nanda revisa sempre. Luiz entra com segurança ou dados críticos e Ana com alto risco, release ou auditoria ampla. Gui permanece o último agente.
|
|
40
|
+
|
|
41
|
+
O grafo unificado foi removido da página inicial: ele não representa uma chamada aos 23 agentes. Dave seleciona somente a menor combinação que cobre a capacidade requerida. A referência atual de responsabilidades está no [catálogo de agentes](18-catalogo-de-agentes.md).
|
|
42
|
+
|
|
43
|
+
## Seleção de modelo e esforço
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
Agente selecionado → papel e fase → sinais persistidos → criticidade
|
|
47
|
+
override válido de Execution/Task → validar capacidade do host → Agent Run imutável
|
|
48
|
+
sem override → política automática → validar capacidade do host → Agent Run imutável
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Modelo considera papel, fase, complexidade, ambiguidade e transversalidade. Esforço considera criticidade, dificuldade de raciocínio e custo do erro. Assurance considera criticidade, impacto e rollback.
|
|
52
|
+
|
|
53
|
+
## Orquestração de uma Task
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
Task em execução → Orchestrator → Executor → Evidence e Decisions
|
|
57
|
+
→ Reviewer → Tests, Checks e Evals
|
|
58
|
+
→ Auditor (quando necessário) → Finalizer → resultado
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
O resultado pode ser concluído, bloqueado, falhado, cancelado ou exigir rework. Bloqueio e rework iniciam um novo ciclo controlado; cancelamento é uma decisão humana explícita. O finalizador fecha a Run somente depois da revisão e de qualquer auditoria exigida.
|
|
62
|
+
|
|
63
|
+
## Lifecycle e operação
|
|
64
|
+
|
|
65
|
+
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 direta inicia imediatamente; Task preparada espera `execute`; SPEC coordena Tasks; PRD coordena SPECs selecionadas.
|
|
66
|
+
|
|
67
|
+

|
|
68
|
+
|
|
69
|
+
Para os contratos completos e comandos de lifecycle, consulte [28-lifecycle-completo.md](28-lifecycle-completo.md).
|