@zaip-ai/cli 3.7.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/README.md +5 -5
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +6 -0
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/services/adapters.d.ts +1 -1
  6. package/dist/services/adapters.d.ts.map +1 -1
  7. package/dist/services/adapters.js +22 -4
  8. package/dist/services/adapters.js.map +1 -1
  9. package/dist/services/adapters.test.js +24 -0
  10. package/dist/services/adapters.test.js.map +1 -1
  11. package/dist/services/agent-adapters.js +1 -1
  12. package/dist/services/agent-adapters.js.map +1 -1
  13. package/dist/services/backup-gitignore.d.ts +9 -0
  14. package/dist/services/backup-gitignore.d.ts.map +1 -0
  15. package/dist/services/backup-gitignore.js +66 -0
  16. package/dist/services/backup-gitignore.js.map +1 -0
  17. package/dist/services/backup-gitignore.test.d.ts +2 -0
  18. package/dist/services/backup-gitignore.test.d.ts.map +1 -0
  19. package/dist/services/backup-gitignore.test.js +27 -0
  20. package/dist/services/backup-gitignore.test.js.map +1 -0
  21. package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
  22. package/dist/services/codex-conversation-lifecycle-hook.js +15 -7
  23. package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
  24. package/dist/services/install-agents-template.d.ts.map +1 -1
  25. package/dist/services/install-agents-template.js +43 -127
  26. package/dist/services/install-agents-template.js.map +1 -1
  27. package/dist/services/install-template-policy.d.ts.map +1 -1
  28. package/dist/services/install-template-policy.js +2 -0
  29. package/dist/services/install-template-policy.js.map +1 -1
  30. package/dist/services/legacy-records-migration.d.ts +15 -0
  31. package/dist/services/legacy-records-migration.d.ts.map +1 -0
  32. package/dist/services/legacy-records-migration.js +109 -0
  33. package/dist/services/legacy-records-migration.js.map +1 -0
  34. package/dist/services/local-state-migration.d.ts +8 -1
  35. package/dist/services/local-state-migration.d.ts.map +1 -1
  36. package/dist/services/local-state-migration.js +67 -32
  37. package/dist/services/local-state-migration.js.map +1 -1
  38. package/dist/services/logger.d.ts.map +1 -1
  39. package/dist/services/logger.js +2 -0
  40. package/dist/services/logger.js.map +1 -1
  41. package/dist/services/project-model-migration.d.ts +3 -0
  42. package/dist/services/project-model-migration.d.ts.map +1 -0
  43. package/dist/services/project-model-migration.js +163 -0
  44. package/dist/services/project-model-migration.js.map +1 -0
  45. package/dist/services/project-model-migration.test.d.ts +2 -0
  46. package/dist/services/project-model-migration.test.d.ts.map +1 -0
  47. package/dist/services/project-model-migration.test.js +62 -0
  48. package/dist/services/project-model-migration.test.js.map +1 -0
  49. package/dist/services/sqlite-bootstrap.d.ts.map +1 -1
  50. package/dist/services/sqlite-bootstrap.js +9 -1
  51. package/dist/services/sqlite-bootstrap.js.map +1 -1
  52. package/dist/services/template-manifest.d.ts.map +1 -1
  53. package/dist/services/template-manifest.js +2 -0
  54. package/dist/services/template-manifest.js.map +1 -1
  55. package/dist/services/transactional-files.d.ts +1 -0
  56. package/dist/services/transactional-files.d.ts.map +1 -1
  57. package/dist/services/transactional-files.js +3 -0
  58. package/dist/services/transactional-files.js.map +1 -1
  59. package/dist/types.d.ts +1 -0
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +1 -1
  62. package/templates/.agents/README-ENG.md +90 -34
  63. package/templates/.agents/README.md +59 -32
  64. package/templates/.agents/config/agents/catalog.yaml +23 -23
  65. package/templates/.agents/config/agents/discovery.json +2 -2
  66. package/templates/.agents/config/clients/codex/agents/zaip-agent-analyst.toml +2 -2
  67. package/templates/.agents/config/clients/codex/agents/zaip-agent-auditor.toml +2 -2
  68. package/templates/.agents/config/clients/codex/agents/zaip-agent-backend.toml +2 -2
  69. package/templates/.agents/config/clients/codex/agents/zaip-agent-brand-strategist.toml +2 -2
  70. package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +2 -2
  71. package/templates/.agents/config/clients/codex/agents/zaip-agent-cloud-engineer.toml +2 -2
  72. package/templates/.agents/config/clients/codex/agents/zaip-agent-data-analyst.toml +2 -2
  73. package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +2 -2
  74. package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +2 -2
  75. package/templates/.agents/config/clients/codex/agents/zaip-agent-frontend.toml +2 -2
  76. package/templates/.agents/config/clients/codex/agents/zaip-agent-general-operations.toml +2 -2
  77. package/templates/.agents/config/clients/codex/agents/zaip-agent-governance-compliance.toml +2 -2
  78. package/templates/.agents/config/clients/codex/agents/zaip-agent-growth-strategist.toml +2 -2
  79. package/templates/.agents/config/clients/codex/agents/zaip-agent-integrator.toml +2 -2
  80. package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +2 -2
  81. package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +3 -3
  82. package/templates/.agents/config/clients/codex/agents/zaip-agent-refactoring-specialist.toml +2 -2
  83. package/templates/.agents/config/clients/codex/agents/zaip-agent-reviewer.toml +2 -2
  84. package/templates/.agents/config/clients/codex/agents/zaip-agent-sales-specialist.toml +2 -2
  85. package/templates/.agents/config/clients/codex/agents/zaip-agent-security-auditor.toml +2 -2
  86. package/templates/.agents/config/clients/codex/agents/zaip-agent-task-executor.toml +2 -2
  87. package/templates/.agents/config/clients/codex/agents/zaip-agent-website-developer.toml +2 -2
  88. package/templates/.agents/config/clients/codex/agents/zaip-agent-writer.toml +2 -2
  89. package/templates/.agents/config/clients.yaml +1 -1
  90. package/templates/.agents/config/pricing/models.json +57 -1
  91. package/templates/.agents/config/project.yaml +21 -7
  92. package/templates/.agents/dashboard/.zaip-managed.json +195 -115
  93. package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-C5NgEcVh.js → CostCalculationGuidePage-f4ZGJRg3.js} +1 -1
  94. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-BDQR0U4a.js → DashboardHelpDialog-DlN5EMmD.js} +249 -136
  95. package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-CGYcJ5EB.js → PricingSettingsDialog-v9zGRTlk.js} +1 -1
  96. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-BRdoeTWk.js +3 -0
  97. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-Ckxk_izu.js → TraceabilityWorkspace-B_5u4Xnp.js} +1 -1
  98. package/templates/.agents/dashboard/apps/frontend/dist/assets/{cost-monitor-BsMfGfQi.css → cost-monitor-C2AFYBu_.css} +1 -1
  99. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-D7PrDZy9.js +68 -0
  100. package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-jvdDfNKs.js → dashboard-localization-CF7B1Hjn.js} +90 -34
  101. package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-x8xxL9yW.js → icons-vendor-Cv3WBFIF.js} +1 -1
  102. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-C4rLXrz_.js +2 -0
  103. package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-CNOXIJHN.js → react-vendor-mHgsmxb6.js} +1 -1
  104. package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-CcpbpT1s.js → traceability-B0CPyEVq.js} +1 -1
  105. package/templates/.agents/dashboard/apps/frontend/dist/index.html +6 -6
  106. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  107. package/templates/.agents/dashboard/apps/frontend/src/AppDashboardContent.tsx +11 -1
  108. package/templates/.agents/dashboard/apps/frontend/src/AppLoadingBoundary.tsx +3 -2
  109. package/templates/.agents/dashboard/apps/frontend/src/AppLoadingPanels.tsx +1 -1
  110. package/templates/.agents/dashboard/apps/frontend/src/AppOverlays.tsx +1 -1
  111. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +9 -13
  112. package/templates/.agents/dashboard/apps/frontend/src/cost-monitor-population.test.tsx +4 -2
  113. package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +9 -5
  114. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api-settings.ts +3 -2
  115. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +2 -2
  116. package/templates/.agents/dashboard/apps/frontend/src/dashboard-identity.test.ts +3 -3
  117. package/templates/.agents/dashboard/apps/frontend/src/dashboard-identity.ts +1 -1
  118. package/templates/.agents/dashboard/apps/frontend/src/dashboard-localization.test.ts +2 -1
  119. package/templates/.agents/dashboard/apps/frontend/src/operations-period-render.test.ts +40 -3
  120. package/templates/.agents/dashboard/apps/frontend/src/project-settings-model.ts +12 -1
  121. package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +19 -0
  122. package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +1 -1
  123. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.test.ts +3 -1
  124. package/templates/.agents/dashboard/apps/frontend/src/use-dashboard-app-model.tsx +14 -23
  125. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  126. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.test.ts +3 -3
  127. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.tsx +2 -3
  128. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostDeveloperAttributionTable.tsx +2 -6
  129. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.period-values.test.tsx +66 -0
  130. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.tsx +29 -34
  131. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorContent.tsx +2 -2
  132. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.embedded.test.ts +11 -0
  133. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +1 -13
  134. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostPeriodAverageCards.test.tsx +23 -0
  135. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostPeriodAverageCards.tsx +2 -1
  136. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTableDisplay.ts +6 -11
  137. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +6 -6
  138. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +10 -12
  139. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-group-page-totals.ts +23 -0
  140. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-group-period-values.tsx +34 -0
  141. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-embedded.css +0 -7
  142. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-formatters.ts +4 -9
  143. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-presentation.ts +2 -3
  144. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  145. package/templates/.agents/dashboard/modules/operations/src/react/DeveloperAttributionPanel.tsx +2 -12
  146. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.helpers.tsx +2 -2
  147. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +1 -6
  148. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +34 -36
  149. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewCharts.tsx +12 -3
  150. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewTopPanel.tsx +12 -14
  151. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +4 -4
  152. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageOverview.tsx +23 -4
  153. package/templates/.agents/dashboard/modules/operations/src/react/OverviewCostKpi.tsx +30 -2
  154. package/templates/.agents/dashboard/modules/operations/src/react/TaskDetailsDialog.tsx +2 -13
  155. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.priority.test.ts +8 -1
  156. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.tsx +8 -16
  157. package/templates/.agents/dashboard/modules/operations/src/react/WorkColumnState.tsx +34 -0
  158. package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.test.ts +1 -1
  159. package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.ts +1 -1
  160. package/templates/.agents/dashboard/modules/operations/src/react/operations-average-unmeasured.test.ts +10 -0
  161. package/templates/.agents/dashboard/modules/operations/src/react/operations-content-visibility.ts +3 -0
  162. package/templates/.agents/dashboard/modules/operations/src/react/operations-coverage-toast.test.ts +4 -3
  163. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +12 -1
  164. package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +1 -0
  165. package/templates/.agents/dashboard/modules/operations/src/react/operations-skeleton.css +80 -0
  166. package/templates/.agents/dashboard/modules/operations/src/react/operations.css +2 -11
  167. package/templates/.agents/dashboard/modules/operations/src/react/overview-cost-card.test.tsx +36 -0
  168. package/templates/.agents/dashboard/modules/operations/src/react/overview-metric-format.test.ts +11 -0
  169. package/templates/.agents/dashboard/modules/operations/src/react/overview-metric-format.ts +28 -3
  170. package/templates/.agents/dashboard/modules/operations/src/react/overview-metric-stats.ts +44 -0
  171. package/templates/.agents/dashboard/modules/operations/src/react/work-card-label.ts +5 -0
  172. package/templates/.agents/dashboard/modules/operations/src/react/work-column-state.ts +11 -0
  173. package/templates/.agents/dashboard/modules/operations/src/react/work-item-filter.ts +13 -0
  174. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  175. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  176. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  177. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  178. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +173 -173
  179. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +120 -120
  180. package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
  181. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +173 -173
  182. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.test.ts +31 -0
  183. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +74 -1
  184. package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.test.ts +15 -15
  185. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +2 -2
  186. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +1 -1
  187. package/templates/.agents/dashboard/packages/local-runtime/src/server-identity.test.ts +1 -1
  188. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.test.ts +25 -3
  189. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.ts +51 -16
  190. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +1 -1
  191. package/templates/.agents/dashboard/packages/local-runtime/src/server-ui-security.ts +37 -0
  192. package/templates/.agents/dashboard/packages/local-runtime/src/server-workspace.ts +1 -1
  193. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +11 -33
  194. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuild.ts +12 -13
  195. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.test.ts +71 -1
  196. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.ts +141 -25
  197. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-worktree-sources.test.ts +60 -0
  198. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-rebuild-fingerprint-options.ts +13 -0
  199. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.mjs +26 -2
  200. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.test.mjs +5 -0
  201. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  202. package/templates/.agents/dashboard/packages/ui/src/DashboardHeader.test.mjs +5 -0
  203. package/templates/.agents/dashboard/packages/ui/src/DashboardHeader.tsx +4 -4
  204. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  205. package/templates/.agents/dashboard/tests/e2e/playwright.config.ts +4 -0
  206. package/templates/.agents/dashboard/tests/e2e/specs/dashboard-performance-matrix.spec.ts +15 -23
  207. package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +1 -1
  208. package/templates/.agents/dashboard/tests/e2e/specs/performance-matrix-types.ts +15 -0
  209. package/templates/.agents/dashboard/tests/e2e/specs/performance-observability.ts +30 -0
  210. package/templates/.agents/dashboard/tests/e2e/specs/performance-work-row-identity.ts +6 -0
  211. package/templates/.agents/design/.zaip-managed.json +13 -9
  212. package/templates/.agents/design/apps/catalog/dist/assets/index-DkpQYoyC.js +72 -0
  213. package/templates/.agents/design/apps/catalog/dist/index.html +1 -1
  214. package/templates/.agents/design/apps/catalog/package.json +1 -1
  215. package/templates/.agents/design/apps/catalog/src/components/CostPopulationSpecimen.test.tsx +8 -4
  216. package/templates/.agents/design/apps/catalog/src/components/CostPopulationSpecimen.tsx +10 -3
  217. package/templates/.agents/design/apps/catalog/src/components/DashboardFiltersSpecimen.tsx +0 -15
  218. package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +3 -3
  219. package/templates/.agents/design/apps/catalog/src/stories/DashboardFilters.stories.tsx +0 -1
  220. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  221. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  222. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  223. package/templates/.agents/requirements/comparative-audit.md +1 -1
  224. package/templates/.agents/requirements/context-engine.md +1 -1
  225. package/templates/.agents/requirements/cost-observability.md +1 -1
  226. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  227. package/templates/.agents/requirements/data-export.md +1 -1
  228. package/templates/.agents/requirements/design-system.md +1 -1
  229. package/templates/.agents/requirements/execution-engine.md +1 -1
  230. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  231. package/templates/.agents/requirements/model-orchestration.md +6 -6
  232. package/templates/.agents/requirements/public-distribution.md +1 -1
  233. package/templates/.agents/requirements/software-architecture.md +1 -1
  234. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  235. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  236. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  237. package/templates/.agents/rules/autonomy-decision.md +2 -2
  238. package/templates/.agents/rules/workflow.md +1 -1
  239. package/templates/.agents/runtime/VERSION +1 -1
  240. package/templates/.agents/runtime/bin/zaip.mjs +73 -64
  241. package/templates/.agents/runtime/checksums.sha256 +5 -5
  242. package/templates/.agents/runtime/manifest.json +1 -1
  243. package/templates/.agents/runtime/provenance.json +4 -4
  244. package/templates/.agents/runtime/sbom.cdx.json +1 -1
  245. package/templates/.agents/skills/zaip-skill-adapters/SKILL.md +1 -1
  246. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/SKILL.md +7 -7
  247. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.mjs +32 -7
  248. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.test.mjs +134 -1
  249. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-lease.mjs +57 -0
  250. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/scheduled-ready-queue-contract.test.mjs +9 -6
  251. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +1 -1
  252. package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +2 -2
  253. package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +5 -5
  254. package/templates/.agents/skills/zaip-skill-github-deploy/agents/openai.yaml +2 -2
  255. package/templates/.agents/skills/zaip-skill-github-deploy/references/deployment-workflow.md +5 -3
  256. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +40 -5
  257. package/templates/.agents/skills/zaip-skill-instalar-agendamento/SKILL.md +2 -2
  258. package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +6 -0
  259. package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +54 -6
  260. package/templates/.agents/zaip-aios/README.md +4 -4
  261. package/templates/.agents/zaip-aios/VERSION +1 -1
  262. package/templates/.agents/zaip-aios/guides/01-primeiros-passos.md +4 -3
  263. package/templates/.agents/zaip-aios/guides/03-tasks.md +5 -4
  264. package/templates/.agents/zaip-aios/guides/04-specs.md +4 -1
  265. package/templates/.agents/zaip-aios/guides/05-prds.md +7 -3
  266. package/templates/.agents/zaip-aios/guides/06-execucao.md +9 -4
  267. package/templates/.agents/zaip-aios/guides/09-agentes-e-squads.md +9 -5
  268. package/templates/.agents/zaip-aios/guides/11-observabilidade-e-custos.md +10 -2
  269. package/templates/.agents/zaip-aios/guides/12-instalacao-e-upgrade.md +10 -5
  270. package/templates/.agents/zaip-aios/guides/13-boas-praticas.md +12 -1
  271. package/templates/.agents/zaip-aios/guides/14-troubleshooting.md +3 -1
  272. package/templates/.agents/zaip-aios/guides/16-lifecycle-e-reconciliacao.md +12 -7
  273. package/templates/.agents/zaip-aios/guides/17-como-o-custo-e-calculado.md +1 -1
  274. package/templates/.agents/zaip-aios/guides/18-catalogo-de-agentes.md +5 -1
  275. package/templates/.agents/zaip-aios/guides/19-assurance-e-autonomia.md +19 -15
  276. package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +13 -9
  277. package/templates/.agents/zaip-aios/guides/21-telemetria-monitor-custos.md +4 -3
  278. package/templates/.agents/zaip-aios/guides/22-fluxos-e-roteamento.md +9 -7
  279. package/templates/.agents/zaip-aios/guides/23-orquestracao-de-modelos.md +40 -25
  280. package/templates/.agents/zaip-aios/guides/24-calculo-de-custos-openai.md +8 -8
  281. package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +14 -5
  282. package/templates/.agents/zaip-aios/guides/27-telemetria-git-native.md +6 -0
  283. package/templates/.agents/zaip-aios/guides/28-lifecycle-completo.md +129 -11
  284. package/templates/template-manifest.json +310 -218
  285. package/templates/tsconfig.base.json +22 -0
  286. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-OulA4CoX.js +0 -3
  287. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-j3aUYH5G.js +0 -68
  288. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-CqfSgtk9.js +0 -2
@@ -1,8 +1,8 @@
1
1
  # Assurance adaptativa e perfis de autonomia
2
2
 
3
- Este guia descreve `autonomy-v1`, implementado nas fontes em preparação para a
4
- v3. Não significa que `@latest` já distribua essas mudanças ou que a release
5
- esteja qualificada. Confira a versão instalada e o caminho de execução.
3
+ Este guia descreve `autonomy-v1` existente e o contrato-alvo Codex-native da
4
+ v4. A rota nova abaixo ainda precisa de implementação, qualificação do pacote
5
+ e prova no consumidor; não a atribua automaticamente a `@latest`.
6
6
 
7
7
  ## Quatro configurações independentes
8
8
 
@@ -22,8 +22,8 @@ não concede permissão externa.
22
22
  | Perfil | Execuções máximas | Replanejamentos máximos | Rota dos replanejamentos |
23
23
  | --- | --- | --- | --- |
24
24
  | Essencial (`essential`) | **4**: 1 inicial + 3 reparações | **1** | Sol/high; nunca Astra automático |
25
- | Equilibrado (`balanced`, padrão novo) | **10**: 1 inicial + 9 reparações | **3** | Sol/high → Astra/high → Astra/high |
26
- | Persistente (`persistent`, opt-in) | **Sem teto** | **Sem teto** | Sol/high primeiro; Astra/high nos seguintes |
25
+ | Equilibrado (`balanced`, padrão v4) | **10**: 1 inicial + 9 reparações | **3** | Sol/high → Sol/high → Astra/high |
26
+ | Persistente (`persistent`, opt-in) | **Sem teto** | **Sem teto** | Sol/high nos dois primeiros; Astra/high no terceiro e seguintes |
27
27
 
28
28
  Cada replanejamento válido libera até três reparações. São tetos, não uma
29
29
  obrigação de falhar ou gastar todas as tentativas. Se o aceite passar antes,
@@ -34,7 +34,7 @@ Exemplo máximo do Equilibrado:
34
34
 
35
35
  1. Execução inicial: tentativa 1.
36
36
  2. Replanejamento 1 com Sol/high: reparações nas tentativas 2–4.
37
- 3. Replanejamento 2 com Astra/high: reparações nas tentativas 5–7.
37
+ 3. Replanejamento 2 com Sol/high: reparações nas tentativas 5–7.
38
38
  4. Replanejamento 3 com Astra/high: reparações nas tentativas 8–10; Astra/high
39
39
  também pode executar nesse bloco, se selecionado pela rota válida.
40
40
  5. Sem aceite, registrar entrega parcial e resultado verdadeiro; não abrir
@@ -94,14 +94,16 @@ Não é cache descartável nem deve ser removido para liberar uma nova tentativa
94
94
 
95
95
  ## Tarefas avulsas e modelos
96
96
 
97
- A Task avulsa prioriza execução direta com o modelo/esforço escolhido pelo
98
- usuário. Exemplo: Astra/ultra manual no principal não é uma escalada automática.
99
- No Essencial essa é a única exceção Astra: não se estende a filhos, herança ou
100
- fallback.
97
+ A Task avulsa usa subagentes nativos Codex no contrato-alvo v4. O principal
98
+ preserva a escolha manual do usuário; o ZAIP define modelo/esforço dos filhos
99
+ por papel/fase/risco. Exemplo: Astra/ultra manual no principal não é uma
100
+ escalada automática para os filhos. No Essencial não há Astra automático,
101
+ inclusive por herança ou fallback.
101
102
 
102
- Delegação só por necessidade concreta, como especialidade, isolamento ou
103
- revisão/finalização exigida. Antes de delegar, informe que a orquestração ZAIP
104
- pode selecionar modelo/esforço diferentes para os subagentes. Não prometa que
103
+ Use o menor conjunto de filhos que cubra execução, revisão aplicável e
104
+ finalização; não faça paralelismo produtivo na avulsa. Antes de delegar,
105
+ informe que a orquestração ZAIP pode selecionar modelo/esforço diferentes
106
+ para os subagentes. Não prometa que
105
107
  filhos usam Astra só porque o usuário selecionou Astra no principal.
106
108
  A configuração efetivamente observada permanece separada da planejada.
107
109
 
@@ -136,8 +138,10 @@ invocação. `spawn_agent` chamado diretamente pelo Codex fora desse caminho
136
138
  não é interceptado por prompt, hook best-effort ou captura posterior.
137
139
  Sem observar o caminho real, não alegue controle determinístico universal.
138
140
 
139
- Novos projetos usam Equilibrado e `execution.runtime: managed`: PRDs/SPECs
140
- passam pelo executor gerenciado e avulsas permanecem diretas. `manual` e
141
+ O candidato local v4 usa Equilibrado e `execution.runtime: codex_native`:
142
+ o Codex é responsável pelos Sub-Runs de PRDs, SPECs e avulsas. O npm
143
+ publicado anteriormente conserva o contrato de sua versão até nova publicação.
144
+ `manual` e
141
145
  configuração legada ausente continuam sem provider. `autonomous` permite
142
146
  também Task avulsa gerenciada por comando explícito. Salvar não executa.
143
147
 
@@ -63,14 +63,16 @@ O instalador preserva os READMEs do projeto na raiz. Os perfis `full`, `dev-lite
63
63
  e `lite` selecionam ferramentas de instalação; eles não classificam a dificuldade
64
64
  de uma tarefa nem ativam um modelo mais caro.
65
65
 
66
- Novos templates mantêm a seleção do principal em `manual` e configuram
67
- `execution.runtime: managed` para PRD/SPEC, com
66
+ O candidato local v4 mantém a seleção do principal em `manual` e configura
67
+ `execution.runtime: codex_native` para PRD/SPEC e Tasks avulsas, com
68
68
  `autonomy: { version: 1, preset: balanced }`. São controles diferentes:
69
69
  instalar/salvar o preset não inicia provider. O [guia 19](19-assurance-e-autonomia.md)
70
70
  explica Essencial, Equilibrado e Persistente; o [guia 23](23-orquestracao-de-modelos.md)
71
- detalha Astra/high nos replanejamentos e sua execução elegível no terceiro bloco.
72
- O Essencial nunca usa Astra automático. Principal avulso preserva a seleção
73
- manual; filhos necessários seguem política divulgada. Projetos e estados legados
71
+ detalha o alvo v4 Sol/high → Sol/high → Astra/high e execução elegível no
72
+ terceiro bloco. Schema e template v4 já adotam Codex-native como padrão;
73
+ adapters, pacote real e host ainda devem ser qualificados. O Essencial nunca usa Astra
74
+ automático. Principal avulso preserva a seleção manual; filhos seguem a
75
+ política ZAIP verificada no host. Projetos e estados legados
74
76
  não recebem migração silenciosa de quotas.
75
77
 
76
78
  ## Construir o CLI
@@ -119,7 +121,7 @@ O setup identifica a propriedade pelo `framework.lock.yaml`: Rules presentes no
119
121
  framework; as demais são locais ao projeto e são preservadas em instalações e upgrades. Conflitos
120
122
  de ID ou contradições bloqueiam a operação; não existe override silencioso.
121
123
 
122
- Também gera adapters mínimos, como `AGENTS.md` e `CLAUDE.md`, sem sobrescrever conteúdo do usuário silenciosamente.
124
+ Também gera adapters mínimos, como `AGENTS.md` e os wrappers de skills dos clientes, sem sobrescrever conteúdo do usuário silenciosamente.
123
125
 
124
126
  ## Migrar estado V1
125
127
 
@@ -210,7 +212,7 @@ zaip prd execute PRD-ID
210
212
 
211
213
  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.
212
214
 
213
- `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.
215
+ `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.
214
216
 
215
217
  ## Refinar sem executar
216
218
 
@@ -239,7 +241,7 @@ de Gui, nem interprete `run finish --status completed` como aprovação.
239
241
  O host captura spawn/terminal reais e persiste a decisão observada antes do
240
242
  Stop canônico, conforme o [guia 16](16-lifecycle-e-reconciliacao.md).
241
243
 
242
- 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.
244
+ Tasks `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.
243
245
 
244
246
  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.
245
247
 
@@ -324,7 +326,9 @@ Reconciliação global não roda ao abrir o dashboard, a cada turno ou em interv
324
326
  quando uma pessoa confirma o popup **Reconciliar** ou chama explicitamente
325
327
  `zaip run reconcile --open`. O reconciliador usa fatos locais: pode concluir uma Task com evento
326
328
  terminal exato; marca Run órfão depois da tolerância como falha técnica; transforma ausência de gates
327
- em bloqueio; e nunca infere cancelamento ou sucesso sem evidência.
329
+ em bloqueio; e nunca infere cancelamento ou sucesso sem evidência. A v4
330
+ acrescenta recuperação idempotente apenas da tentativa atual no fechamento ou
331
+ no próximo evento Codex observável; não mantém agente rodando após o host parar.
328
332
 
329
333
  ## Organizar frontend, backend e site
330
334
 
@@ -4,7 +4,7 @@ Este guia descreve o contrato e não declara cobertura, totais ou preços de um
4
4
 
5
5
  ## Escopo
6
6
 
7
- 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 indisponíveis; não são convertidos em `0` nem removidos para produzir uma cobertura artificial. 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.
7
+ 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.
8
8
 
9
9
  ## Fonte e proveniência
10
10
 
@@ -21,7 +21,7 @@ Tokens, custo e duração devem exibir sua proveniência. Tokens e configuraçã
21
21
 
22
22
  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.
23
23
 
24
- 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 `Indisponível`; uma duração derivada deve mostrar sua proveniência e não ser lida como captura.
24
+ 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.
25
25
 
26
26
  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.
27
27
 
@@ -29,7 +29,8 @@ Na Visão geral de Tasks, cobertura incompleta produz **Subtotal estimado
29
29
  conhecido**, com valor e contagem conhecida/total. Médias de custo por item/hora
30
30
  ficam indisponíveis nessa condição para não misturar populações.
31
31
  Cobertura completa permite o rótulo **Custo estimado**. Sem soma
32
- conhecida, o valor continua indisponível; um zero conhecido não é ocultado.
32
+ conhecida, o valor canônico continua `null`; a UI v4 mostra `0` e cobertura
33
+ “sem medição”. Um zero conhecido não é ocultado e tem cobertura distinta.
33
34
  Esses três estados não equivalem a saldo, fatura ou custo integral do provider.
34
35
 
35
36
  ## Filtros e totais
@@ -27,19 +27,21 @@ resultado pendente em verde e não dispensa review/finalizador. Consulte o
27
27
 
28
28
  Com `autonomy-v1`, a recuperação segue o preset congelado por Task:
29
29
  Essencial 4/1 sem Astra automático, Equilibrado 10/3 e Persistente ilimitado.
30
- Replanejamentos usam Sol/high primeiro e Astra/high nos seguintes permitidos;
30
+ No contrato-alvo v4, replanejamentos usam Sol/high nos dois primeiros e
31
+ Astra/high no terceiro e seguintes permitidos;
31
32
  Astra/high pode executar a partir do terceiro bloco fora do Essencial.
32
- Principal avulso preserva a seleção manual e prefere trabalho direto;
33
- delegação necessária informa que filhos podem usar outra configuração.
33
+ Principal avulso preserva a seleção manual, mas delega a execução a
34
+ subagente nativo Codex escolhido pelo ZAIP; Conversation não delega.
35
+ Task avulsa não paraleliza. Filhos podem usar outra configuração.
34
36
  Criticidade amplia assurance; não define a quota.
35
37
  Veja [autonomia](19-assurance-e-autonomia.md) e [modelos](23-orquestracao-de-modelos.md).
36
38
 
37
39
  ## Entradas e planejamento
38
40
 
39
41
  ```text
40
- Pergunta simples → resposta direta Análise especializada → Interaction
41
- Mudança delimitada → Task-first Problema de produto → PRD
42
- Definição técnica → SPEC Continuação → retomar foco
42
+ Pergunta simples → resposta direta Análise read-only → Interaction
43
+ Mudança delimitada → Task-first PRD pedido explicitamente → PRD draft
44
+ SPEC pedida explicitamente → SPEC draft Continuação → retomar foco
43
45
  Falha ou achado → rework Auditoria → audit
44
46
  Deploy ou push → Git-only
45
47
  ```
@@ -79,7 +81,7 @@ O controle de quotas depende do despacho gerenciado, não do desenho do fluxo.
79
81
 
80
82
  ## Lifecycle e operação
81
83
 
82
- 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.
84
+ 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.
83
85
 
84
86
  ![Lifecycles de Task, SPEC e PRD](assets/diagrams/lifecycles-task-spec-prd.png)
85
87
 
@@ -4,7 +4,8 @@
4
4
 
5
5
  A política busca resolver a entrega com prova suficiente e reduzir retrabalho,
6
6
  sem economia acima da qualidade nem persistência ilimitada por padrão.
7
- Este guia descreve as fontes em preparação para a v3, não uma release publicada.
7
+ Este guia distingue o comportamento distribuído da política aprovada para a
8
+ v4. A revisão documental não é release nem prova do despacho Codex-native.
8
9
  O [guia 19](19-assurance-e-autonomia.md) contém configuração, contagem e limites
9
10
  de `autonomy-v1`. A configuração efetiva do projeto e a versão instalada
10
11
  prevalecem sobre exemplos.
@@ -15,13 +16,16 @@ autonomia não é perfil de instalação nem permissão.
15
16
 
16
17
  ## Principal avulso e delegação
17
18
 
18
- Conversation e principal de Task avulsa preservam o modelo e esforço escolhidos
19
- manualmente no Codex. Priorize execução direta. O ZAIP não troca silenciosamente
20
- o seletor do usuário nem exige subagente para responder uma pergunta simples.
19
+ Conversation sem ação preserva o modelo e esforço escolhidos manualmente no
20
+ Codex e responde sem subagente. Para Task avulsa, a v4 exige subagentes
21
+ nativos: o principal coordena, e o ZAIP escolhe modelo/effort de cada filho
22
+ por papel, fase, criticidade e preset congelado. Não paralelize Tasks avulsas.
23
+ O ZAIP não altera silenciosamente o seletor do principal do usuário.
21
24
 
22
- Se a entrega precisar de especialidade, isolamento ou revisão/finalização
23
- exigida, delegue pelo catálogo com escopo e responsabilidade explícitos. Antes,
24
- informe:
25
+ Para cada Task avulsa no contrato-alvo v4, delegue pelo catálogo nativo com
26
+ escopo e responsabilidade explícitos. Especialidade, isolamento e
27
+ revisão/finalização exigida determinam quais papéis adicionais são necessários.
28
+ Antes, informe:
25
29
 
26
30
  > Orquestração ZAIP: subagentes podem usar modelo e esforço diferentes do agente
27
31
  > principal, conforme o perfil de autonomia. A configuração efetivamente
@@ -43,8 +47,8 @@ desde o início; a preferência direta não dispensa Evidence, revisão ou Gui.
43
47
  | Preset | Replanejamento 1 | Replanejamento 2 | Replanejamento 3 | Execução Astra |
44
48
  | --- | --- | --- | --- | --- |
45
49
  | `essential` | Sol/high | Não existe | Não existe | Nunca automática |
46
- | `balanced` | Sol/high | Astra/high | Astra/high | Elegível no bloco do terceiro replanejamento |
47
- | `persistent` | Sol/high | Astra/high | Astra/high, e seguintes sem teto | Elegível a partir do terceiro replanejamento |
50
+ | `balanced` (alvo v4) | Sol/high | Sol/high | Astra/high | Elegível no bloco do terceiro replanejamento |
51
+ | `persistent` (alvo v4) | Sol/high | Sol/high | Astra/high, e seguintes sem teto | Elegível a partir do terceiro replanejamento |
48
52
 
49
53
  O Essencial permite no máximo quatro execuções de produto e um
50
54
  replanejamento. O Equilibrado permite dez execuções e três replanejamentos.
@@ -57,14 +61,14 @@ fallback e configuração. Um modelo Astra configurado num agente não libera
57
61
  Astra automático no Essencial.
58
62
 
59
63
  Nos demais presets, Astra automático usa somente `high`: não `xhigh`,
60
- `max` ou `ultra`. Pode replanejar a partir do segundo plano e executar a
64
+ `max` ou `ultra`. Na v4 só pode replanejar a partir do terceiro plano e executar a
61
65
  partir do terceiro, quando a rota válida o selecionar; não se torna reviewer
62
66
  ou finalizer. A exceção de execução não acrescenta tentativas nem amplia
63
67
  write scopes.
64
68
 
65
- O primeiro replanejamento usa `gpt-5.6-sol`; os seguintes permitidos usam
66
- `gpt-6-astra`. Executor e replanejador são invocações diferentes. Planejar
67
- com Astra não obriga a executar com Astra no segundo bloco.
69
+ Os dois primeiros replanejamentos usam `gpt-6-sol`; o terceiro e os
70
+ seguintes permitidos usam `gpt-6-astra`. Executor e replanejador são
71
+ invocações diferentes. Um plano Astra não obriga o executor a usar Astra.
68
72
 
69
73
  ## Replanejar não é repetir sem diagnóstico
70
74
 
@@ -93,9 +97,8 @@ não crie outra Task ou apague `.local` para renovar a quota.
93
97
 
94
98
  | Modelo | Papel dentro da política ZAIP |
95
99
  | --- | --- |
96
- | `gpt-5.6-luna` | Execução clara e delimitada, conforme catálogo e capacidade |
97
- | `gpt-5.6-terra` | Implementação, testes e integração cotidianos |
98
- | `gpt-5.6-sol` | Planejamento difícil, revisão especializada e primeiro replanejamento |
100
+ | `gpt-6-luna` | Execução clara e delimitada, conforme catálogo e capacidade |
101
+ | `gpt-6-sol` | Implementação, testes, integração, planejamento difícil, revisão especializada e primeiro replanejamento |
99
102
  | `gpt-6-astra` | Replanejamentos e exceção de execução permitidos pelo preset |
100
103
 
101
104
  Esses são papéis configurados pelo ZAIP, não alegações de benchmark dos
@@ -119,9 +122,9 @@ execution:
119
122
  runtime: manual
120
123
  ```
121
124
 
122
- Esse exemplo configura o preset **sem iniciar provider**. Novos templates
123
- também mantêm seleção `model_orchestration.mode: manual`. O coordenador
124
- gerenciado usa `execution.runtime: managed` para PRD/SPEC (padrão novo), ou
125
+ Esse exemplo configura o preset **sem iniciar provider**. Templates legados
126
+ podem manter seleção `model_orchestration.mode: manual`. O coordenador
127
+ gerenciado usa `execution.runtime: managed` para PRD/SPEC legados, ou
125
128
  `autonomous` também para Task gerenciada explícita, provider/configuração
126
129
  válidos, execução autorizada e worktree elegível. Salvar o preset no Dashboard
127
130
  não faz essa ativação automaticamente.
@@ -144,14 +147,26 @@ fronteira da contagem determinística e da seleção automática. Uma chamada
144
147
  nativa `spawn_agent` externa, feita diretamente pelo Codex, não é interceptada
145
148
  pelo diário: instrução e captura posterior não equivalem a controle preventivo.
146
149
 
147
- O padrão novo `managed` já seleciona PRD/SPEC gerenciados, sem prometer
148
- controle externo numa sessão manual. `task migrate-autonomy` exige preview,
150
+ O candidato local v4 usa `codex_native`; o `managed` permanece para projetos
151
+ legados, sem prometer controle externo numa sessão manual. `task migrate-autonomy` exige preview,
149
152
  contagem histórica revisada e confirmação; não reinicia quotas ou aprova legados.
150
153
 
151
- A preferência do principal avulso, o catálogo gerado do filho e a configuração
152
- efetivamente observada devem aparecer separados. Se o host não suporta o
153
- override necessário, relate a limitação real; não afirme que um prompt mudou
154
- o modelo e não fabrique telemetria.
154
+ A escolha do principal, o catálogo gerado do filho e a configuração
155
+ efetivamente observada devem aparecer separados. Na v4, o preflight precisa
156
+ conferir capacidade e perfil Codex antes de reservar/despachar cada filho;
157
+ captura posterior comprova o que ocorreu, não corrige uma chamada já feita.
158
+ Se o host não suporta ou não permite confirmar o modelo/effort exigido,
159
+ bloqueie a tentativa com razão explícita. Não afirme que um prompt mudou o
160
+ modelo e não fabrique telemetria.
161
+
162
+ No Codex, a configuração de um agente customizado em `.codex/agents/*.toml`
163
+ (`model` e `model_reasoning_effort`) tem precedência sobre os defaults globais
164
+ de `[agents]` e sobre a herança do principal. Por isso, conferir só o YAML do
165
+ ZAIP não prova o modelo de um filho nativo: o preflight deve inspecionar o
166
+ papel efetivamente disponível e sua configuração antes do despacho. Se o papel
167
+ fixar um modelo aposentado ou incompatível com o plano, falhe explicitamente;
168
+ não registre GPT-6 como executado com base apenas na intenção do plano.
169
+ Veja a [documentação oficial de subagentes do Codex](https://learn.chatgpt.com/docs/agent-configuration/subagents).
155
170
 
156
171
  ## Compatibilidade: model_orchestration sem autonomy
157
172
 
@@ -17,7 +17,7 @@ O Fast do Codex é consumo de créditos da assinatura e não prova que uma requi
17
17
 
18
18
  ## Invariantes de telemetria
19
19
 
20
- 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 `Indisponível`; nunca é convertido em zero. 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.
20
+ 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.
21
21
 
22
22
  ```text
23
23
  cached_input <= input
@@ -42,20 +42,20 @@ BRL_total = USD_total × cotação_USD_BRL
42
42
 
43
43
  A conversão para BRL é a última etapa. Quando a moeda exibida é USD, não há conversão.
44
44
 
45
- ## Exemplo didático — GPT-5.6 Sol, Standard
45
+ ## Exemplo didático — GPT-6 Sol, Standard
46
46
 
47
- No snapshot local consultado durante a redação, `gpt-5.6-sol` contém input US$5, cache US$0,50 e output US$30 por 1M. Esses números ilustram a fórmula; confira o catálogo e a fonte registrada antes de usar valores em uma decisão atual. Para 1.000.000 input, 800.000 cache, 100.000 output e 70.000 reasoning:
47
+ No catálogo consultado em 2026-09-22, `gpt-6-sol` contém input US$2, cache US$0,20 e output US$10 por 1M. Esses números ilustram a fórmula; confira o catálogo e a fonte registrada antes de usar valores em uma decisão atual. Para 1.000.000 input, 800.000 cache, 100.000 output e 70.000 reasoning:
48
48
 
49
49
  ```text
50
50
  input sem cache = 1.000.000 - 800.000 = 200.000
51
- input = 0,2 × 5,00 = US$ 1,00
52
- cache = 0,8 × 0,50 = US$ 0,40
53
- output = 0,1 × 30,00 = US$ 3,00
51
+ input = 0,2 × 2,00 = US$ 0,40
52
+ cache = 0,8 × 0,20 = US$ 0,16
53
+ output = 0,1 × 10,00 = US$ 1,00
54
54
  reasoning = US$ 0,00 adicional (já está nos 100.000 output)
55
- total = US$ 4,40
55
+ total = US$ 1,56
56
56
  ```
57
57
 
58
- Com uma cotação **hipotética** USD/BRL de 5,45: `4,40 × 5,45 = R$ 23,98`.
58
+ Com uma cotação **hipotética** USD/BRL de 5,45: `1,56 × 5,45 = R$ 8,50` (arredondado).
59
59
 
60
60
  ## Service tier, contexto e dados incompletos
61
61
 
@@ -2,6 +2,11 @@
2
2
 
3
3
  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.
4
4
 
5
+ As decisões de [lifecycle v4](28-lifecycle-completo.md#contrato-aprovado-para-a-v4-a-implementar-e-qualificar)
6
+ estão documentadas antes da alteração estrutural. Documentação aprovada não
7
+ equivale a implementação ou nota de produção; qualifique também a distribuição
8
+ instalada, Codex real, modelo/effort observados, fila e UI.
9
+
5
10
  ## Cobertura
6
11
 
7
12
  `pnpm test:coverage` mede os módulos de domínio e aplica um ratchet versionado:
@@ -39,8 +44,10 @@ remota manual; não é fallback para assinatura ausente. Uma Release GitHub publ
39
44
  não prova publicação npm: acompanhe o job até a confirmação do registry. Os comandos
40
45
  abaixo são do mantenedor; não presuma que existam no projeto consumidor.
41
46
 
42
- Dados históricos incompletos do Dashboard conservam `null`/indisponível e sua
43
- cobertura conhecida. Não se exige reconstruir fatos que nunca foram capturados.
47
+ Dados históricos incompletos conservam `null`/cobertura na fonte, API e
48
+ exportação. Na UI v4, cards/células numéricas carregados mostram `0` com
49
+ “sem medição”, sem exibir “Indisponível”; loading não mostra zero. Não se
50
+ exige reconstruir fatos que nunca foram capturados.
44
51
  Isso não dispensa paridade entre records, API e UI para o mesmo conjunto conhecido,
45
52
  testes dos dados novos, nem fechamento canônico de Tasks sem sucesso inventado.
46
53
 
@@ -77,8 +84,10 @@ contra o manifest do próprio pacote, incluindo a Rule Astra, e verifica que
77
84
  os READMEs da raiz do consumidor sobrevivem à instalação e à reinstalação.
78
85
  O relatório registra a quantidade de arquivos documentais conferidos.
79
86
 
80
- Novos templates mantêm seleção do principal em `manual`, runtime `managed`
81
- para PRD/SPEC e preset Equilibrado; avulsas preferem execução direta.
87
+ O candidato v4 mantém seleção do principal em `manual`, runtime
88
+ `codex_native` para PRD/SPEC e Tasks avulsas, e preset Equilibrado.
89
+ O npm publicado anteriormente mantém o contrato da sua versão; o TGZ v4
90
+ e a execução real no Codex exigem qualificação própria.
82
91
  A documentação não deve confundir
83
92
  perfil de instalação com modelo/effort nem apresentar estimativas de tokens
84
93
  como economia financeira medida. O escopo automático e os limites Astra
@@ -225,7 +234,7 @@ anteriores, testes simulados de modelos e evidência local não certificam
225
234
  o candidato final nem seu uso em produção.
226
235
 
227
236
  O [guia 19](19-assurance-e-autonomia.md) registra as fronteiras atuais: controle
228
- preventivo de cotas/modelos somente no despacho gerenciado; avulsa direta exige
237
+ preventivo de cotas/modelos somente no despacho gerenciado; avulsa direta legada exige
229
238
  autorização explícita desde a captura e identidade observada, sem executor
230
239
  cerimonial. Revisão aplicável, Evidence e Gui continuam obrigatórios.
231
240
 
@@ -146,6 +146,12 @@ indisponíveis. Por isso:
146
146
  - `null` significa desconhecido e nunca é convertido em `0`;
147
147
  - “sem custo observado” não significa “custo zero”.
148
148
 
149
+ Essa regra governa fonte, API, agregação e exportação. A UI v4 apresenta
150
+ `0` em cards e células numéricas **após** carregar, mesmo quando a fonte é
151
+ `null`, sempre com cobertura/tooltip “sem medição”; não apresenta o texto
152
+ “Indisponível” nesses componentes. Durante loading, use skeleton. O numeral
153
+ visual não pode alimentar totais, médias, preços ou Evidence como zero real.
154
+
149
155
  ## Operação e recuperação
150
156
 
151
157
  1. Não edite nem remova manualmente o spool, chunks, manifestos ou writer ID.
@@ -1,12 +1,119 @@
1
1
  # Lifecycle de Conversations, Tasks, SPECs e PRDs
2
2
 
3
- Este 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.
3
+ Este documento separa o lifecycle existente do contrato aprovado para a v4.
4
+ Status persistido, Run, coluna do Kanban e reconciliação possuem
5
+ responsabilidades distintas e não devem ser inferidos uns dos outros.
6
+
7
+ ## Contrato aprovado para a v4 (a implementar e qualificar)
8
+
9
+ As regras a seguir são decisões de produto, **não** prova de que o runtime,
10
+ hooks, Dashboard ou pacote npm atuais já as impõem. A qualificação deve
11
+ comparar código-fonte, artefato empacotado e uso real no Codex.
12
+
13
+ 1. Pergunta/análise read-only é Conversation, sem Task ou subagente. Pedido de
14
+ ação independente vira Task avulsa e usa subagentes nativos Codex, mesmo
15
+ quando o texto não menciona Task. Mencionar PRD/SPEC não os cria; crie macro
16
+ apenas por pedido explícito e mantenha `draft` até `ready` ou `execute`
17
+ explícito. Trabalho avulso crítico pode recomendar um macro, sem converter
18
+ automaticamente nem paralisar a ação já autorizada.
19
+ 2. “Crie e execute PRD/SPEC” pode acontecer no mesmo **turno do Codex**. A
20
+ definição usa sua Run `interaction`; a implementação usa outra Run
21
+ `delivery`, vinculada ao mesmo alvo e turno. Nunca reutilize ou reescreva a
22
+ Run de definição como se tivesse executado o produto. “Crie” isolado
23
+ termina em `draft`; `ready` não executa; `execute` não precisa passar
24
+ temporariamente pelo card Pronto para Executar.
25
+ 3. A Task avulsa é sequencial. Paralelismo produtivo só ocorre para Tasks de
26
+ PRD/SPEC em DAG planejada, com independência, escopos e recursos
27
+ compatíveis. Cada tentativa de Task termina `completed`, `blocked`,
28
+ `failed` ou `cancelled` antes de a Run responsável encerrar. Na falta de
29
+ prova/decisão, o fallback é `blocked`, com causa e condição de retomada;
30
+ nunca invente sucesso ou cancelamento. SPEC/PRD aguardam **todas** as
31
+ Tasks da DAG em estados terminais. Dependentes inviabilizadas por uma
32
+ Task bloqueada/falhada recebem terminal objetivo; somente depois disso e
33
+ dos gates parentais o macro pode ser entregue ou terminalizado com causa.
34
+ 4. Cada rodada horária, se o usuário tiver instalado a automação Codex,
35
+ reivindica somente **um** item superior `ready`: PRD, depois SPEC
36
+ independente, depois Task avulsa. Dentro da classe respeita a prioridade
37
+ manual do Kanban. Descendentes, ativos e terminais não são candidatos.
38
+ Lease e releitura do estado impedem seleção duplicada. Arquivos Git não
39
+ acordam o Codex; não prometa trabalho após o host parar.
40
+ 5. O preset `balanced` admite três replanejamentos reais por Task, com
41
+ diagnóstico Sol/high → Sol/high → Astra/high. Reserva antes do despacho,
42
+ evento observado, hipótese nova, teste discriminante e ledger imutável
43
+ evitam recontagem ou alegação de tentativa não executada. O controle
44
+ gerenciado existente não intercepta qualquer `spawn_agent` nativo; a v4
45
+ precisa implementar um preflight compatível com o host e bloquear quando
46
+ modelo, effort ou ferramenta requeridos não puderem ser assegurados.
47
+ 6. A reconciliação global do backlog continua manual. A tentativa **atual**
48
+ pode ser conciliada de modo idempotente ao fechamento ou no próximo evento
49
+ observável da mesma Task/turno; não há garantia de código rodando após o
50
+ Codex encerrar. Dashboard e scheduler apenas mostram/retomam fatos
51
+ canônicos, sem inferir aprovação.
52
+ 7. Depois do carregamento, cards e células **numéricas** do Dashboard exibem
53
+ `0` para ausência de medição; não exibem a palavra “Indisponível”. Mostram
54
+ também cobertura/tooltip “sem medição”, pois zero observado é diferente.
55
+ Durante carregamento exibem skeleton, não zero. Records, APIs, exports e
56
+ cálculos preservam `null`/cobertura parcial; zero visual nunca altera a
57
+ fonte canônica nem entra em somas como observação.
58
+
59
+ O candidato local v4 usa `codex_native` no schema e no template npm. O modo
60
+ não inicia um processo autônomo separado; a efetividade da rota nativa ainda
61
+ depende da capacidade real da sessão Codex. Compatibilidade legada permanece
62
+ separada do caminho padrão novo. Isso não comprova publicação no npm.
63
+
64
+ ## Fronteiras nativas e prova de compatibilidade
65
+
66
+ Esta é a matriz de aceite para o contrato acima. Um texto em `AGENTS.md`, Rule
67
+ ou skill instrui o agente, mas não altera sozinho o seletor de modelo do host,
68
+ não intercepta toda chamada e não cria um relógio. O caminho v4 usa as
69
+ ferramentas reais do Codex e valida capacidades disponíveis na sessão antes
70
+ de prometer uma garantia.
71
+
72
+ | Fronteira | Comportamento exigido para a v4 | Prova antes de anunciar suporte |
73
+ | --- | --- | --- |
74
+ | 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. |
75
+ | 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. |
76
+ | 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. |
77
+ | 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. |
78
+ | 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. |
79
+ | 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. |
80
+ | 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. |
81
+ | 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. |
82
+
83
+ Os [subagentes do Codex](https://learn.chatgpt.com/docs/agent-configuration/subagents)
84
+ permitem perfis próprios e herança de modelo/effort; a disponibilidade
85
+ concreta e o agente escolhido dependem da sessão. Os
86
+ [hooks do Codex](https://learn.chatgpt.com/docs/hooks) cobrem muitas
87
+ ferramentas locais, mas admitem caminhos especializados fora dessa cobertura.
88
+ `PreToolUse` pode impedir chamadas cobertas; `Stop` pode solicitar uma nova
89
+ continuação, não provar que o trabalho terminou, nem impedir uma interrupção
90
+ humana. Por isso o hook é checkpoint e reparo observável, nunca substituto
91
+ universal de estado canônico, Gui ou ferramenta de despacho. As
92
+ [tarefas agendadas](https://learn.chatgpt.com/docs/automations) têm execução
93
+ própria do app; em projeto local dependem de computador ligado e app ativo.
94
+ O agendamento não é instalado só porque os arquivos existem no Git.
95
+
96
+ Se o processo for encerrado antes do Stop ou da escrita, nenhum componente
97
+ local consegue garantir a transição **naquele instante**. A garantia honesta é
98
+ um evento durável recuperável e a conciliação na próxima execução observável;
99
+ até lá, o estado pode continuar aberto e o Dashboard deve indicá-lo, não
100
+ inventar um terminal. Esse limite do host não autoriza encerrar a Run com
101
+ `executing` como se fosse sucesso.
102
+
103
+ Lacunas verificadas neste candidato: a CLI recusa `task block` direto sem decisão
104
+ de Gui, mas `run finish` aplica `blocked` como fallback quando é realmente
105
+ chamado sem essa decisão. Uma interrupção antes desse comando ainda pode deixar
106
+ a Task em `executing` até a retomada/reconciliação. A fila agendada agora
107
+ reivindica no máximo um item por lease; a rota Sol/Sol/Astra não está provada
108
+ para toda chamada nativa. São itens de implementação, não decisões humanas
109
+ pendentes. A documentação é aprovada quando descreve essas lacunas; o produto
110
+ só está pronto quando a matriz passa no Codex e no pacote instalado.
4
111
 
5
112
  ## Classificação de entrada
6
113
 
7
114
  Aliases 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.
8
115
 
9
- `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`.
116
+ No 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`.
10
117
 
11
118
  ## Criação completa de PRD e SPEC
12
119
 
@@ -66,7 +173,7 @@ Quando o host expõe Calls, a Run/Sub-Run agrega quantidade conhecida, terminais
66
173
 
67
174
  Cada 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.
68
175
 
69
- O 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`.
176
+ O 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.
70
177
 
71
178
  No 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.
72
179
 
@@ -77,7 +184,9 @@ uma declaração versionada cujo vínculo só pode complementar Evidence quando
77
184
  `confirmed` e coerente; os demais estados preservam pendência ou falha. Veja o
78
185
  [contrato de prova observável](../../skills/zaip-skill-change/references/observable-evidence.md).
79
186
 
80
- Exemplo:
187
+ Depois de capturar a decisão real do finalizador, o orquestrador pode aplicar
188
+ o fechamento pela CLI. O trecho abaixo **não** funciona como atalho para
189
+ `task block` ou `run finish` sem essa decisão já persistida:
81
190
 
82
191
  ```bash
83
192
  zaip run finish RUN-ID \
@@ -96,9 +205,13 @@ Antes de uma Run raiz terminar, sua Task deve estar em um destes estados:
96
205
  - `failed`: erro técnico/integridade que impediu a execução válida;
97
206
  - `cancelled`: pedido humano explícito.
98
207
 
99
- `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.
208
+ `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.
100
209
 
101
- Interromper a geração é uma interrupção retomável e resulta em `blocked`. “Cancelar a Task” é uma decisão explícita e resulta em `cancelled`.
210
+ Interromper a geração exige recuperação retomável; quando o evento de
211
+ interrupção for observado e a escrita funcionar, o alvo é `blocked`. Morte
212
+ abrupta do processo pode deixar o estado pendente até o próximo evento
213
+ observável, como descrito acima. “Cancelar a Task” é decisão explícita e
214
+ resulta em `cancelled` somente quando persistida.
102
215
 
103
216
  ## Agregação de SPEC e PRD
104
217
 
@@ -106,12 +219,15 @@ Quando a primeira Task filha inicia, SPEC e PRD relacionados passam para `active
106
219
 
107
220
  - Task bloqueada/falhada mantém o macro em Execução para que outras Tasks e decisões parentais continuem.
108
221
  - SPEC/PRD aguardam todas as Tasks e Runs filhas.
109
- - Depois que todas as Tasks concluem, o macro entra em Verificação.
110
- - Delivery exige gates, integração, Acceptance Criteria, outcomes e Evidence próprios do pai.
222
+ - Depois que todas as Tasks da DAG ficam terminais, o macro pode entrar em
223
+ Verificação quando todas concluíram; bloqueios/falhas e dependentes inviáveis
224
+ são fechados com causa antes de decidir o resultado parental.
225
+ - Delivery exige gates, integração, Acceptance Criteria, outcomes e Evidence
226
+ próprios do pai. Um pai não é `delivered` se uma filha bloqueou/falhou.
111
227
 
112
228
  ## Reconciliação manual
113
229
 
114
- O 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.
230
+ O 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.
115
231
 
116
232
  O algoritmo é idempotente e conservador:
117
233
 
@@ -162,5 +278,7 @@ de reservas do runtime. Ausência de Evidence é bloqueio, erro técnico
162
278
  comprovado é falha e tempo não determina abandono.
163
279
 
164
280
  Fechamento técnico, estado canônico da Task, projeções e entrega parental
165
- precisam ser confirmados separadamente. A preferência avulsa direta não remove
166
- o gate de executor capturado ainda exigido pelo contrato atual.
281
+ precisam ser confirmados separadamente. A exceção de raiz avulsa direta
282
+ autorizada pertence à compatibilidade do contrato atual; no padrão Codex-native
283
+ da v4, a Task avulsa terá executor subagente nativo observado. Nenhum dos dois
284
+ caminhos dispensa Evidence, gates e decisão real de Gui.