@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
@@ -20,6 +20,13 @@ const managedDeployFiles = [
20
20
 
21
21
  test("framework lock matches the deploy guidance and executable contract", async () => {
22
22
  const lock = await readFile(resolve(root, "config", "framework.lock.yaml"), "utf8");
23
+ const installerPlaceholder = "# Generated transactionally by @zaip-ai/cli during installation.\n";
24
+ if (lock === installerPlaceholder) {
25
+ // The npm template deliberately ships no repository-specific hashes. The
26
+ // installer creates the complete lock only after projecting the selected
27
+ // profile into the consumer workspace.
28
+ return;
29
+ }
23
30
  for (const path of managedDeployFiles) {
24
31
  const digest = createHash("sha256")
25
32
  .update(await readFile(resolve(root, path)))
@@ -35,24 +42,52 @@ test("explicit Git publication verbs select the guarded deploy skill", async ()
35
42
  readFile(resolve(root, "rules", "core.md"), "utf8"),
36
43
  ]);
37
44
  assert.match(skill, /explicit current-turn request to `deploy`, `push`, `publicar`/);
38
- assert.match(skill, /never grants publication automatically/);
45
+ assert.match(skill, /discussing or editing deployment does not authorize publication/);
39
46
  assert.doesNotMatch(skill, /standing automatic deployment|activate it automatically/);
40
47
  assert.match(openai, /\$zaip-skill-github-deploy/);
41
48
  assert.match(openai, /fa.a deploy/);
42
49
  assert.match(core, /seleciona/);
43
50
  });
44
51
 
45
- test("deploy guidance preserves the canonical Task subject and Git-only boundary", async () => {
52
+ test("deploy guidance preserves canonical Task identity and builder-versus-consumer boundary", async () => {
46
53
  const [skill, workflow] = await Promise.all([
47
54
  readFile(resolve(skillRoot, "SKILL.md"), "utf8"),
48
55
  readFile(resolve(root, "rules", "workflow.md"), "utf8"),
49
56
  ]);
50
57
  assert.ok(skill.includes("[CODEX|CLAUDE] [P:XXXX] [S:XXXX] [T:XXXX] <Task title>"));
51
58
  assert.match(skill, /exclusively `CODEX` or `CLAUDE`; `AUTO` is not part/);
52
- assert.match(skill, /Git-only publication/);
59
+ assert.match(skill, /Consumer repositories follow their own GitHub-only policy/);
60
+ assert.match(
61
+ skill,
62
+ /“faça deploy” means the guarded push, GitHub Release and observation of the GitHub Actions npm publication/,
63
+ );
53
64
  assert.match(workflow, /commitar o diff evidenciado com pathspecs explícitos/);
54
65
  });
55
66
 
67
+ test("framework deploy follows Release-triggered npm publication without claiming partial success", async () => {
68
+ const [skill, workflow, lock] = await Promise.all([
69
+ readFile(resolve(skillRoot, "SKILL.md"), "utf8"),
70
+ readFile(resolve(skillRoot, "references", "deployment-workflow.md"), "utf8"),
71
+ readFile(resolve(root, "config", "framework.lock.yaml"), "utf8"),
72
+ ]);
73
+ if (!lock.startsWith("# Generated transactionally by @zaip-ai/cli")) {
74
+ const publishWorkflow = await readFile(
75
+ resolve(root, "..", ".github", "workflows", "publish-cli.yml"),
76
+ "utf8",
77
+ );
78
+ assert.match(publishWorkflow, /release:\s*\n\s*types: \[published\]/);
79
+ assert.match(publishWorkflow, /npm publish /);
80
+ }
81
+ assert.match(skill, /publish-cli\.yml.*registry confirmation/s);
82
+ assert.match(skill, /npm fails or cannot be observed.*partial or blocked/);
83
+ assert.match(skill, /explicit push-only request.*does not create a Release or publish npm/);
84
+ assert.match(
85
+ workflow,
86
+ /private Ed25519 release key is distinct from the Git SSH key and a local `\.env` npm token/,
87
+ );
88
+ assert.match(workflow, /A published Release with failed or unobserved npm is partial/);
89
+ });
90
+
56
91
  test("faça deploy authorizes the complete selected worktree with safety gates", async () => {
57
92
  const skill = await readFile(resolve(skillRoot, "SKILL.md"), "utf8");
58
93
  assert.match(skill, /commits covering all versionable pending changes/);
@@ -73,8 +108,8 @@ test("deploy permission and reconciliation remain explicit and recoverable", asy
73
108
  assert.match(skill, /Restore with `git stash apply`/);
74
109
  assert.match(skill, /local branch, recovery branch or detached state as the source candidate/);
75
110
  assert.match(skill, /configured deploy branch is the remote target/);
76
- assert.match(openai, /worktree selecionado inteiro como escopo autorizado/);
77
- assert.match(openai, /branch local ou detached como origem/);
111
+ assert.match(openai, /\$zaip-skill-github-deploy/);
112
+ assert.match(openai, /builder zaip-aios.*Release.*workflow npm/);
78
113
  });
79
114
 
80
115
  test("workflow retains the explicit publication routing contract", async () => {
@@ -8,10 +8,10 @@ description: Install or update the native Codex hourly scheduler for the ready-w
8
8
  Use esta skill somente quando a pessoa solicitar instalar, atualizar ou verificar o agendamento local da fila pronta. Ela configura o relógio; não inicia uma execução por conta própria.
9
9
 
10
10
  1. Confirme que o repositório é ZAIP habilitado e que a automação nativa de tarefas agendadas do Codex Desktop está chamável, com capacidade `automation_update`. Pare com `blocked` se ela não estiver disponível. Nunca use o Agendador do Windows, um arquivo, Git ou uma promessa de execução futura como substituto.
11
- 2. Use `codex_app list_projects` para resolver o projeto Codex atual e seu checkout local real; não invente identificador, diretório ou contexto. Crie ou atualize, sem duplicar, a tarefa standalone de nome estável `ZAIP-AIOS - Fila Pronta Horária`: a cada hora, no minuto 0, em nova conversa no projeto resolvido. Ela abre uma única invocação com o prompt explícito `Ignore Automation memory and $CODEX_HOME. Start immediately by validating the repository and ready queue. First call codex_app set_thread_title without threadId, using America/Sao_Paulo local time in the exact format [YYYY-MM-DD-T-HH-mm] Tarefa Agendada; record a rename failure but continue the queue. Use $zaip-skill-executar-fila-pronta; this user-installed schedule authorizes only canonically ready/eligible items, never promotes draft or resumes blocked or failed work; respect the persisted manual order in .agents/dashboard/work-priority.json.`
11
+ 2. Use `codex_app list_projects` para resolver o projeto Codex atual e seu checkout local real; não invente identificador, diretório ou contexto. Crie ou atualize, sem duplicar, a tarefa standalone de nome estável `ZAIP-AIOS - Fila Pronta Horária`: a cada hora, no minuto 0, em nova conversa no projeto resolvido. Ela abre uma única invocação com o prompt explícito `Ignore Automation memory and $CODEX_HOME. Start immediately by validating the repository and ready queue. First call codex_app set_thread_title without threadId, using America/Sao_Paulo local time in the exact format [YYYY-MM-DD-T-HH-mm] Tarefa Agendada; record a rename failure but continue the queue. Use $zaip-skill-executar-fila-pronta; execute at most one top-level eligible item in this invocation, even if it finishes or becomes ineligible; never promote draft or resume blocked or failed work; respect the persisted manual order in .agents/dashboard/work-priority.json.`
12
12
  3. Antes de gravar, valide o checkout: raiz Git existente, `.agents/config/project.yaml` com `zaip.enabled: true`, runtime ZAIP disponível e caminho absoluto sem credenciais. Falhe fechado se algum requisito faltar; não registre uma tarefa parcial.
13
13
  4. Consulte `$CODEX_HOME/automations/*/automation.toml` somente em leitura, exclusivamente pelo nome estável para resolver identidade e deduplicação. É proibido criar, editar ou apagar TOML, ou usá-lo como fallback. Todas as visualizações e mutações da automação são exclusivamente por `codex_app automation_update`. Se houver mais de uma tarefa com esse nome, pare e reporte o conflito sem apagar nada. Se houver uma, inspecione seu ID, ação, agenda horária, nova conversa e diretório de trabalho e atualize-a; se não houver, crie uma. Preserve tarefas agendadas fora desse nome.
14
- 5. Verifique após criar/atualizar que existe exatamente uma tarefa com o nome, agenda a cada hora no minuto 0, nova conversa, checkout esperado e prompt da skill executora que respeita `.agents/dashboard/work-priority.json`. Registre somente a evidência observada; não afirme que uma hora futura será executada.
14
+ 5. Verifique após criar/atualizar que existe exatamente uma tarefa com o nome, agenda a cada hora no minuto 0, nova conversa, checkout esperado e prompt da skill executora que respeita `.agents/dashboard/work-priority.json` e limita a rodada a um item superior. Registre somente a evidência observada; não afirme que uma hora futura será executada.
15
15
  6. Explique que o agendamento pertence à máquina e ao usuário que o instalou. O repositório versiona a skill e o contrato, mas não cria um relógio em clones, nem funciona com a máquina desligada, o Codex Desktop fechado ou sem a automação nativa.
16
16
 
17
17
  Não use esta skill para selecionar itens, burlar bloqueios, executar todos os itens `planned`, alterar prioridades do Kanban ou fazer deploy/push.
@@ -19,6 +19,12 @@ policy, gate definitions, runtime, channel, version, trusted key, expiry and art
19
19
  Consumer projects run their own policy commands through the distributed consumer helper, with
20
20
  their configured branch (default `beta`) and no framework npm requirements.
21
21
  The deployment skill must call the guarded helper, which prepares and verifies before sending.
22
+ A framework signing key is resolved from the stable private directory
23
+ `~/.codex/release-keys/zaip-aios/<trusted-key-id>/` unless explicit paths are supplied.
24
+ Run `scripts/local-release-key.mjs preflight` before expensive gates; compare the local key
25
+ and trust with GitHub when publishing. A missing or mismatched key fails closed. Do not
26
+ silently generate a replacement, reuse a key ID for different key material, or remove the
27
+ signature gate. See the local preparation guide for testing and controlled rotation.
22
28
  A changed candidate or invalid evidence requires new qualification.
23
29
  Full source qualification runs locally. Extended GitHub qualification is manual;
24
30
  the reduced publisher requires enrolled public trust and signed local qualification.
@@ -4,6 +4,43 @@ Preparation does not authorize publication. Use guarded delivery only for an exp
4
4
  Store keys, trust stores, receipts and artifacts outside the repository. Commit and synchronize first;
5
5
  every gate is bound to the resulting clean SHA. Repair changes require a new candidate.
6
6
 
7
+ The signing key ID is the trusted identity, not a filename. Resolve it with
8
+ `gh variable get ZAIP_LOCAL_RELEASE_TRUSTED_KEY_ID --repo zaip-ai/zaip-aios`.
9
+ By default, the private key lives at
10
+ `~/.codex/release-keys/zaip-aios/<key-id>/release-private.pem` and its local
11
+ trust store at `~/.codex/release-keys/zaip-aios/<key-id>/trust/` on the current
12
+ machine. This location is shared by the machine's worktrees but never by Git.
13
+ Keep a secure backup and restrict OS access; Git ignore alone does not protect a
14
+ private key. `.local/` may hold a pointer or disposable test evidence, but must not
15
+ be the only copy of a production signing key.
16
+
17
+ Run `node scripts/local-release-key.mjs preflight --key-id <trusted-key-id> --channel latest --github-repo zaip-ai/zaip-aios` before the expensive release
18
+ gates. It checks the private/public pair, local trust and the GitHub public key
19
+ without printing key material. Omit `--github-repo` to test completely offline.
20
+ `prepare` and `local-release-deploy` resolve the stable paths automatically;
21
+ `--private-key` and `--trust-store` remain explicit overrides. Missing/mismatched
22
+ material blocks before qualification. Never auto-create a signing key during deploy.
23
+
24
+ For a local-only proof, generate an ephemeral Ed25519 pair outside the repository,
25
+ bootstrap a temporary trust store, then run `preflight` without `--github-repo` and
26
+ the release helper with `--dry-run --offline-dry-run`, explicit temporary
27
+ key/trust paths and an exact
28
+ clean candidate. The receipt must verify against that temporary trust store; this
29
+ does **not** authorize production publication or claim GitHub trust.
30
+
31
+ If the production private key is genuinely unavailable, rotate only with explicit
32
+ authorization. Use a **new** key ID and a new stable directory; never create a new
33
+ pair under the old ID or overwrite an existing key. Bootstrap the new local trust,
34
+ run offline preflight, then run
35
+ `node scripts/local-release-key.mjs rotate --confirm-rotate --github-repo zaip-ai/zaip-aios --expected-old-key-id <old-id> --new-key-id <new-id> --public-key <new-public.pem> --backup-dir <new-external-backup-directory>`.
36
+ The rotation saves the old public trust for rollback, updates only the trusted
37
+ public key and ID, verifies readback, and attempts rollback on error. It does not
38
+ alter the policy, publish a Release, or touch npm credentials. Do not rotate
39
+ while a release publisher is running. Verify the resulting `preflight` with
40
+ `--github-repo` before the next candidate qualification. Protect and separately
41
+ back up the private key; the trust backup contains only public material. Restoring
42
+ the old public trust alone cannot resume signing when the old private key is lost.
43
+
7
44
  ## Framework repository: main and GitHub Actions npm
8
45
 
9
46
  These commands exist only in the source repository `zaip-ai/zaip-aios`. Values in angle brackets
@@ -11,18 +48,29 @@ must be replaced with the authorized candidate and external paths. GitHub versio
11
48
  to tag `vN.N` and package version `N.N.0`.
12
49
 
13
50
  ```text
14
- node scripts/local-release-preparation.mjs keygen --output-dir <new-key-directory>
15
- node scripts/local-release-preparation.mjs bootstrap --trust-store <trust-directory> --public-key <public-key.pem> --key-id maintainer --channels latest
16
- node scripts/local-release-preparation.mjs prepare --repository <absolute-repository> --expected-repository zaip-ai/zaip-aios --sha <40-character-sha> --output-dir <candidate-artifacts> --policy <policy.json> --private-key <private-key.pem> --key-id maintainer --channel latest --version <N.N> --expires-at <future-ISO-within-seven-days> --trust-store <trust-directory> --profile essential
51
+ node scripts/local-release-preparation.mjs keygen --output-dir <new-stable-private-key-directory>
52
+ node scripts/local-release-preparation.mjs bootstrap --trust-store <new-stable-private-key-directory>/trust --public-key <new-stable-private-key-directory>/release-public.pem --key-id <new-key-id> --channels latest
53
+ node scripts/local-release-key.mjs preflight --key-id <new-key-id> --channel latest
54
+ node scripts/local-release-preparation.mjs prepare --repository <absolute-repository> --expected-repository zaip-ai/zaip-aios --sha <40-character-sha> --output-dir <candidate-artifacts> --policy <policy.json> --key-id <trusted-key-id> --channel latest --version <N.N> --expires-at <future-ISO-within-seven-days> --profile essential
17
55
  ```
18
56
 
19
57
  The framework policy is an administrator-reviewed file whose bytes must match the protected
20
- GitHub policy. Gates are fixed in the versioned helper, not supplied by the caller. Preparation
58
+ GitHub policy before Release publication. The user's 2026-09-23 authorization permits the
59
+ builder deploy to update only `ZAIP_LOCAL_RELEASE_POLICY_B64` for each exact new version after
60
+ successful signed local qualification, with byte-for-byte readback and no key/trust rotation.
61
+ The user separately authorized a one-time trust rotation on 2026-09-25 after the
62
+ `maintainer-v3` private key could not be located. The active trust ID is now
63
+ `maintainer-v4`; the old public trust is backed up outside the repository for
64
+ rollback. This does not authorize future rotations without an explicit request.
65
+ The policy must name the exact repository, `main`, channel, `N.N`/`N.N.0` versions, selected
66
+ fixed qualification profile, `github-actions-only`, `signed-release-linux-smoke`, and disabled
67
+ force/replacement/pilot flags. Do not reuse an older version's policy unchanged or ask again
68
+ solely because its version is stale. Gates are fixed in the versioned helper, not supplied by the caller. Preparation
21
69
  fails at the first failed gate. The default `essential-v3` profile validates source size, locks,
22
70
  build/type integrity, package/SBOM/TGZ binding, dependency audit and one clean installed-consumer
23
71
  doctor/SQLite/API smoke. It does not run browser navigation across every dashboard tab or XLSX
24
72
  exports. `--profile full` explicitly selects `full-v2`, which also runs the full source suite,
25
- browser and XLSX qualification. Essential preparation has a 15-minute deadline; full preparation
73
+ browser and XLSX qualification. Essential preparation has a 30-minute deadline; full preparation
26
74
  has a 60-minute deadline. Both use process-tree
27
75
  termination and cleanup after expiry. A failure never produces a successful receipt. Receipts bind
28
76
  the selected profile and its fixed gate list, so former receipts require requalification.
@@ -42,7 +90,7 @@ is refused. Choose a new output path after repair instead of deleting or overwri
42
90
  For an authorized release, call this command with the same arguments and paths:
43
91
 
44
92
  ```text
45
- node scripts/local-release-deploy.mjs --repository <absolute-repository> --expected-repository zaip-ai/zaip-aios --sha <40-character-sha> --branch main --output-dir <candidate-artifacts> --policy <policy.json> --private-key <private-key.pem> --key-id maintainer --channel latest --version <N.N> --expires-at <future-ISO-within-seven-days> --trust-store <trust-directory> --notes-file <reviewed-notes.md> --inventory-file <release-inventory.json> --from <previous-release-tag> --profile essential
93
+ node scripts/local-release-deploy.mjs --repository <absolute-repository> --expected-repository zaip-ai/zaip-aios --sha <40-character-sha> --branch main --output-dir <candidate-artifacts> --policy <policy.json> --key-id <trusted-key-id> --channel latest --version <N.N> --expires-at <future-ISO-within-seven-days> --notes-file <reviewed-notes.md> --inventory-file <release-inventory.json> --from <previous-release-tag> --profile essential
46
94
  ```
47
95
 
48
96
  `--dry-run` prepares and verifies without sending. The live command verifies again around
@@ -70,13 +70,13 @@ A documentação descreve `autonomy-v1`; publicação e qualificação devem ser
70
70
  confirmadas pelos artefatos da release, não apenas pela versão deste checkout.
71
71
  <!-- zaip-version-reference -->
72
72
  Consulte a versão instalada com `zaip version --json` e a identidade do checkout no manifesto raiz. Novos templates usam
73
- Equilibrado e `execution.runtime: managed`: PRDs/SPECs gerenciados e tarefas
74
- avulsas preferencialmente diretas. Configurações legadas sem essa opção mantêm
73
+ Equilibrado e `execution.runtime: codex_native`: o Codex orquestra Sub-Runs
74
+ nativos para PRDs, SPECs e Tasks avulsas. Configurações legadas sem essa opção mantêm
75
75
  o default manual do schema; salvar configuração não inicia execução.
76
76
  Não há desistência por duração nem diminuição automática de ACs.
77
77
  Gui finaliza a tentativa da Task como último filho direto, não cada trabalhador.
78
78
 
79
- O controle determinístico exige despacho gerenciado; chamadas nativas externas
80
- não recebem essa garantia por instrução. Tasks legadas não são migradas
79
+ O controle determinístico da rota nativa exige preflight e observação do host;
80
+ instrução isolada não garante modelo/effort. Tasks legadas não são migradas
81
81
  silenciosamente. O guia 19 descreve a autorização imutável da raiz Task direta;
82
82
  ela dispensa executor fictício, mas preserva revisão, Evidence e Gui.
@@ -1 +1 @@
1
- 3.7
1
+ 4.0
@@ -5,12 +5,13 @@
5
5
  3. Classifique a entrada: Conversation, Task avulsa, SPEC ou PRD. Pergunta/análise read-only é Conversation e não cria Task.
6
6
  4. Carregue somente Rules, Requirements e skills aplicaveis.
7
7
  5. Defina aceite verificavel antes de editar.
8
- 6. Antes de escrita persistente, inicie Task, Change, Execution e Run raiz do orquestrador; priorize trabalho direto na avulsa, delegue apenas quando necessário e respeite os gates de fechamento vigentes; teste e registre evidências no ciclo ativo.
8
+ 6. Antes de escrita persistente, inicie Task, Change, Execution e Run raiz do orquestrador. Na v4, Task avulsa usa executor subagente nativo Codex; Conversation read-only não delega. Respeite os gates de fechamento; teste e registre evidências no ciclo ativo.
9
9
 
10
10
  Evite varrer `.agents/records/`: abra um record apenas quando possuir seu ID.
11
11
 
12
- Para PRD/SPEC, diferencie conversa de criação: “me ajude a pensar” não cria artefato; “crie” persiste o pacote `draft` completo e sua telemetria. Faça até cinco perguntas críticas por turno, no máximo três turnos; depois registre decisões delegáveis da IA. Tasks reais só nascem em `ready|execute`.
12
+ Para PRD/SPEC, diferencie conversa de criação: “me ajude a pensar” não cria artefato; “crie” persiste o pacote `draft` completo e sua telemetria. “Crie e execute” pode concluir ambos no mesmo turno Codex com Runs separadas. Faça até cinco perguntas críticas por turno, no máximo três turnos; depois registre decisões delegáveis da IA. Tasks reais só nascem em `ready|execute`. Pedido de ação sem macro explícito segue Task avulsa, mesmo se for crítico; recomende macro sem promovê-lo sozinho.
13
13
 
14
14
  Para os novos controles, leia [perfis de autonomia](19-assurance-e-autonomia.md)
15
15
  e [modelos](23-orquestracao-de-modelos.md): perfil não ativa provider nem migra
16
- Tasks legadas. O principal avulso mantém sua seleção; filhos seguem política divulgada.
16
+ Tasks legadas. O principal avulso mantém sua seleção; o ZAIP define modelo e
17
+ effort dos filhos, que precisam ser observados no host. O [contrato-alvo v4](28-lifecycle-completo.md#contrato-aprovado-para-a-v4-a-implementar-e-qualificar) ainda não certifica o runtime atual.
@@ -15,9 +15,10 @@ Em PRD/SPEC `draft`, a lista visível vem dos blueprints do PreparedPlan e não
15
15
 
16
16
  ## Modelo, effort e velocidade
17
17
 
18
- Conversation e o principal de Task avulsa preservam a seleção manual do Codex e
19
- preferem execução direta. Se subagentes forem necessários, informe que modelo e
20
- esforço podem diferir conforme catálogo/preset ZAIP. A exceção de Astra manual
18
+ Conversation e o principal de Task avulsa preservam a seleção manual do Codex.
19
+ Conversation read-only não usa subagente; toda Task avulsa usa executor
20
+ subagente nativo no contrato-alvo v4, com modelo/effort selecionados pelo
21
+ ZAIP e execução produtiva sequencial. A exceção de Astra manual
21
22
  no Essencial só vale para o principal avulso. A seleção automática solicita
22
23
  velocidade `standard`; Fast manual não é herdado pelo fluxo gerenciado.
23
24
 
@@ -25,7 +26,7 @@ velocidade `standard`; Fast manual não é herdado pelo fluxo gerenciado.
25
26
 
26
27
  [Autonomia](19-assurance-e-autonomia.md) é por Task estável: Essencial 4/1,
27
28
  Equilibrado 10/3, Persistente ilimitado (execuções/replanejamentos).
28
- Reiniciar, retomar ou mudar o YAML não zera a quota. `attempt_count` do lifecycle
29
+ No Equilibrado, os planos novos usam Sol → Sol → Astra. Reiniciar, retomar ou mudar o YAML não zera a quota. `attempt_count` do lifecycle
29
30
  e reservas de execução do diário não são o mesmo contador.
30
31
  Falta de prova termina `blocked`; erro técnico impeditivo comprovado termina
31
32
  `failed`. Não diminua ACs nem use duração como critério de desistência.
@@ -11,7 +11,7 @@ Use SPEC quando a entrega exige varias Tasks ou uma ordem de dependencia.
11
11
  7. Mapeie cada Requirement para Tasks e evidencias.
12
12
  8. Valide a SPEC antes de iniciar execucao; bloqueie stack ausente, divergente ou sem versoes exatas e fontes existentes.
13
13
  9. Ao iniciar a primeira Task, mantenha a SPEC em Execucao entre todas as Runs filhas; resultado terminal de uma Task nao terminaliza a SPEC.
14
- 10. Depois de todas as Tasks concluidas, rode verificacao e Evidence parentais antes de deliver.
14
+ 10. Feche todas as Tasks da DAG, inclusive dependentes inviabilizadas, antes de decidir o status parental; somente com todas concluídas rode verificação e Evidence parentais para `deliver`.
15
15
 
16
16
  Uma SPEC planeja a entrega; nao autoriza mudancas externas por si so.
17
17
 
@@ -29,5 +29,8 @@ filho direto. Gates parentais continuam separados.
29
29
 
30
30
  Se um nó ficar bloqueado/falhado, continue somente ramos independentes
31
31
  elegíveis; não repita nós concluídos nem libere dependentes sem conclusão.
32
+ Ao encerrar a rodada macro, dependentes impossíveis recebem bloqueio terminal
33
+ com causa, não permanecem `planned` indefinidamente. Só Tasks de DAG
34
+ planejada com escopos independentes podem paralelizar.
32
35
  A política gerenciada não intercepta chamadas nativas externas do Codex.
33
36
  Não ative outra forma de execução nem migre estados legados implicitamente.
@@ -10,16 +10,17 @@ Use PRD para uma iniciativa de produto com multiplas capacidades ou SPECs.
10
10
  6. Relacione riscos, rollout, observabilidade e rollback.
11
11
  7. Monte a DAG e confirme que todo aceite possui evidencia planejada.
12
12
  8. Mantenha PRD e SPECs selecionadas em Execucao enquanto restar trabalho; Runs filhas fecham Tasks, nao o macro.
13
- 9. Conclua somente depois das Tasks, integracao, outcomes e gates parentais.
13
+ 9. Decida status terminal somente depois de todas as Tasks da DAG terminarem, inclusive dependentes inviabilizadas; entregue apenas com todas concluídas, integração, outcomes e gates parentais.
14
14
 
15
15
  ## Intenções
16
16
 
17
17
  - “Me ajude a pensar sobre um PRD”: Conversation, sem artefato.
18
18
  - “Crie um PRD”: até cinco perguntas críticas por turno e no máximo três turnos; depois persiste PRD, SPECs e PreparedPlan `draft`, vincula a Run e o `creation_run_id` ao macro e não cria Tasks reais. Duração, tokens e custo só são agregados quando observados ou reconciliados.
19
+ - “Crie e execute um PRD”: no mesmo turno Codex, crie o macro em uma Run de definição e execute a DAG em outra Run de delivery vinculada; não converta a primeira em execução.
19
20
  - “Deixe pronto para executar” ou “finalize/conclua esse PRD” em `draft`: lapida, valida e materializa SPECs/Tasks/Changes/Execution como `ready|planned`, sem executar.
20
21
  - “Execute esse PRD”: executa todas as SPECs selecionadas. Pedido dirigido a SPEC ou Task usa o menor grão.
21
- - “Implemente”: sem alvo abre apenas uma Conversation de planejamento; em `draft` finaliza o plano; em `ready` executa; em `active|blocked|failed` continua, retoma ou cria rework.
22
- - “Desenvolva/melhore/aprimore”: sempre planeja/refina/rework e nunca executa automaticamente.
22
+ - “Implemente”: sem PRD/SPEC explicitamente solicitado, trate o objetivo de ação como Task avulsa; macro `draft` só executa com intenção explícita de executar aquele macro; em `ready` executa; em `active|blocked|failed` continua, retoma ou cria rework.
23
+ - “Desenvolva/melhore/aprimore”: preserve a intenção e o alvo; mudança independente explicitamente pedida executa como Task avulsa, enquanto mero planejamento/refino não promove o macro.
23
24
 
24
25
  PRD cancelado permanece imutável. Novo planejamento cria sucessor `draft`, tag `rework` e `rework_of_prd_id`.
25
26
 
@@ -47,5 +48,8 @@ filho direto. Gates parentais continuam separados.
47
48
 
48
49
  Se um nó ficar bloqueado/falhado, continue somente ramos independentes
49
50
  elegíveis; não repita nós concluídos nem libere dependentes sem conclusão.
51
+ Antes de decidir o status do PRD, feche com causa os dependentes
52
+ inviabilizados e confirme todos os resultados terminais; nunca entregue por
53
+ sucesso isolado de um ramo. Paralelismo exige DAG e escopos independentes.
50
54
  A política gerenciada não intercepta chamadas nativas externas do Codex.
51
55
  Não ative outra forma de execução nem migre estados legados implicitamente.
@@ -22,12 +22,14 @@ Quando a entrega requer observação, siga o contrato de
22
22
  o registro descreve o resultado declarado e seus limites, mas não executa o
23
23
  procedimento nem aprova o AC sozinho.
24
24
 
25
- `execute` respeita o menor grão nomeado: Task executa um nó elegível; SPEC executa sua DAG; PRD executa todas as SPECs selecionadas. “Conclua a execução” ou “finalize a implementação” em trabalho ativo continua Tasks e gates, mas nunca força sucesso. “Desenvolva/melhore/aprimore” volta a planejamento/rework e exige nova promoção.
25
+ `execute` respeita o menor grão nomeado: Task executa um nó elegível; SPEC executa sua DAG; PRD executa todas as SPECs selecionadas. “Conclua a execução” ou “finalize a implementação” em trabalho ativo continua Tasks e gates, mas nunca força sucesso. “Desenvolva/melhore/aprimore” com ação independente segue Task avulsa; quando o pedido é só refinar macro, não o promove.
26
26
 
27
27
  ## Modelo, effort e velocidade por origem
28
28
 
29
- - Conversation e o principal avulso preservam a seleção manual. Ao delegar por
30
- necessidade, avise que modelo/esforço dos filhos podem mudar pela política ZAIP.
29
+ - Conversation e o principal avulso preservam a seleção manual. Conversation
30
+ read-only não delega; Task avulsa usa subagente nativo Codex no alvo v4. O
31
+ ZAIP escolhe modelo/esforço de cada filho e bloqueia se o host não puder
32
+ atender à configuração exigida. Não paralelize trabalho produtivo avulso.
31
33
  - Fast para execução de produto é suportado somente em Task-first realmente independente e deve ser selecionado manualmente no Codex.
32
34
  - Executions originadas por SPEC ou PRD usam sempre velocidade `standard`, inclusive em todas as Tasks, Runs e Sub-Runs descendentes.
33
35
  - O ZAIP não ativa, persiste ou herda Fast por skill, hook, PreparedPlan ou override de Execution.
@@ -39,7 +41,10 @@ Aplique o diário e o preset do [guia 19](19-assurance-e-autonomia.md) antes
39
41
  do despacho gerenciado. Não gere tentativas por tempo nem reexecute gates
40
42
  caros inalterados para preencher uma cota.
41
43
 
42
- O host persiste a decisão real do Gui antes do Stop canônico e aplica a mesma
44
+ No Equilibrado v4, reserve no máximo três replans reais por Task: Sol/high,
45
+ Sol/high e Astra/high. A tentativa atual deve terminar em estado terminal;
46
+ o fechamento direcionado pode ser recuperado no próximo evento Codex, sem
47
+ prometer execução após o host parar. O host persiste a decisão real do Gui antes do Stop canônico e aplica a mesma
43
48
  decisão no fechamento. Gui read-only pode retornar sem aguardar recibos;
44
49
  o relay aceita filho já terminal enquanto o responsável estiver aberto.
45
50
  Sem decisão, preserve a pendência; não infira aprovação do status nativo.
@@ -42,12 +42,16 @@ coordena um responsável por tentativa de Task e seus gates parentais próprios.
42
42
  - Centralize decisoes arquiteturais e integracao no responsavel adequado.
43
43
  - Exija caminhos de evidencia e resultados de comandos, nao declaracoes de
44
44
  conclusao.
45
- - Use paralelismo apenas quando reduzir o caminho critico sem elevar conflito.
45
+ - Use paralelismo produtivo apenas em DAG de PRD/SPEC planejada com Tasks
46
+ independentes e write scopes/recursos compatíveis; Task avulsa é sequencial.
46
47
  - Escale bloqueios de autoridade, credencial, seguranca ou escopo; nao suponha
47
48
  permissao externa.
48
49
 
49
- Tarefas avulsas preferem execução direta; quando delegar for necessário, informe
50
- que filhos podem usar modelo/esforço diferentes da seleção manual do principal.
50
+ No contrato-alvo v4, toda Task avulsa delega execução a um subagente nativo
51
+ Codex. O ZAIP escolhe modelo/esforço dos filhos, que podem diferir da seleção
52
+ manual do principal. Se o host não puder aplicar/confirmar a configuração,
53
+ bloqueie com causa; não substitua por chat independente nem por executor
54
+ cerimonial.
51
55
  [Essencial nunca escala automaticamente para Astra](23-orquestracao-de-modelos.md).
52
- A exigência canônica atual de executor elegível para delivery permanece:
53
- preferência por execução direta não permite inventar captura para aprovar gates.
56
+ A exigência de executor elegível para delivery permanece: não invente captura
57
+ para aprovar gates. Execução direta é somente compatibilidade legada.
@@ -11,6 +11,12 @@ Run é o envelope da chamada do `zaip-agent-orchestrator`; `parent_run_id` nulo
11
11
 
12
12
  A criação explícita de PRD/SPEC vincula a Run de definição e o `creation_run_id` ao macro. Duração, tokens e custo aparecem no PRD/SPEC antes de existirem Tasks somente quando houver fonte capturada ou derivação identificada por proveniência. Um valor `estimated`, `legacy_inferred` ou `reconciled` não é dado observado e não comprova medição da chamada. Quando duração, tokens ou custo não foram capturados, eles permanecem explicitamente indisponíveis (`null`/`unavailable`); nunca atribua telemetria ausente nem transforme ausência em zero. Pensar sem criar permanece apenas em Conversas.
13
13
 
14
+ No contrato visual da v4, a **interface** do Dashboard mostra `0` em cards e
15
+ células numéricas depois de carregar, inclusive para valor canônico `null`,
16
+ sem exibir “Indisponível” nesses lugares. Cobertura e tooltip distinguem
17
+ “sem medição” de zero observado; skeleton representa loading. API, records,
18
+ exportações e contas preservam `null`/cobertura, sem somar esse zero visual.
19
+
14
20
  ## Contagem de autonomia e consultas compactas
15
21
 
16
22
  ### Leitura dos números do Dashboard
@@ -31,7 +37,8 @@ descrição acessível explicam a quantidade de Runs precificadas e a cobertura.
31
37
  O subtítulo apresenta taxas estimadas de alocação: subtotal conhecido dividido pelo
32
38
  número de tarefas e pelas horas registradas do mesmo recorte. Isso não estima os
33
39
  custos faltantes nem representa a média de custos completos das tarefas. Cada
34
- denominador indisponível ou zero deixa apenas sua taxa como `—`. Não completar
40
+ denominador indisponível ou zero deixa a taxa canônica sem valor; a UI v4
41
+ mostra `0` com indicação “sem medição” quando for ausência. Não completar
35
42
  as Runs desconhecidas com zero nem apresentar o subtotal como gasto integral.
36
43
  Um subtotal observado igual a zero é diferente de ausência total de medição.
37
44
  SPECs/PRDs usam seus agregados próprios, não recebem o subtotal global de Tasks.
@@ -42,7 +49,8 @@ provedor normaliza aliases de Codex tanto na atividade quanto nos segmentos de
42
49
  uso; isso não altera identidade nem preços nos registros canônicos.
43
50
 
44
51
  Enquanto uma consulta de médias está pendente, a interface mostra carregamento,
45
- não zero. Zero observado, ausência de captura e carregamento são estados distintos.
52
+ não zero. Depois da resposta, zero observado e ausência de captura mostram o
53
+ mesmo numeral `0`, mas são estados distintos pela cobertura.
46
54
  A validação deve comparar API, linhas, rodapé e exportação no mesmo período,
47
55
  moeda e filtro. Um processo saudável não comprova que o snapshot foi atualizado;
48
56
  confirme também a revisão, a data da fonte e o estado da projeção.
@@ -29,17 +29,22 @@ Os manuais instalados ficam em `.agents/README.md` (português) e
29
29
  Os READMEs da raiz pertencem ao projeto consumidor e são preservados.
30
30
  As versões geradas em `public-cli/packages/cli/templates` vêm das fontes canônicas.
31
31
 
32
- Novos templates mantêm a seleção do principal em `manual` e configuram
33
- `execution.runtime: managed` para PRD/SPEC, com
32
+ O candidato local v4 mantém a seleção do principal em `manual` e configura
33
+ `execution.runtime: codex_native` para PRD/SPEC e Tasks avulsas, com
34
34
  `autonomy: { version: 1, preset: balanced }`. São controles diferentes:
35
35
  instalar/salvar o preset não inicia provider. O [guia 19](19-assurance-e-autonomia.md)
36
36
  explica Essencial, Equilibrado e Persistente; o [guia 23](23-orquestracao-de-modelos.md)
37
- detalha Astra/high nos replanejamentos e sua execução elegível no terceiro bloco.
38
- O Essencial nunca usa Astra automático. Principal avulso preserva a seleção
39
- manual; filhos necessários seguem política divulgada. Projetos e estados legados
37
+ detalha a rota v4 Sol/high → Sol/high → Astra/high e sua execução elegível no
38
+ terceiro bloco. Schema e template v4 já aceitam Codex-native; o TGZ e a
39
+ execução real no host ainda exigem qualificação antes da publicação. O Essencial
40
+ nunca usa Astra automático. Principal avulso preserva a seleção manual; filhos
41
+ seguem a seleção ZAIP validada no host. Projetos e estados legados
40
42
  não recebem migração silenciosa de quotas.
41
43
 
42
44
  `@latest` entrega o que está publicado no npm. Uma atualização local das fontes ou
43
45
  um pacote validado localmente só chegará a esse comando após publicação.
46
+ Na v4, a instalação limpa e a atualização devem comprovar `doctor`, adapters,
47
+ preservação do conteúdo do consumidor e execução Codex-native por Task antes
48
+ de se anunciar esse padrão como funcional.
44
49
  Consulte [instalação detalhada](20-instalacao-detalhada.md) e
45
50
  [qualificação do pacote](26-qualidade-e-release.md).
@@ -13,12 +13,23 @@
13
13
  - Em delivery/interação delegada, use Gui como último filho do responsável e
14
14
  concilie a Task; conversa read-only sem filhos não precisa desse circuito.
15
15
  - Nao terminalize SPEC/PRD por causa do resultado isolado de uma Task filha.
16
- - Prefira reconciliacao manual sob demanda; hooks de escrita fazem checagem local sem varredura global.
16
+ - Reconciliação global permanece manual; no alvo v4, concilie a tentativa
17
+ atual no fechamento/Stop observado ou no próximo evento Codex idempotente,
18
+ sem varredura global ou promessa de execução após o host parar.
17
19
  - Use uma SPEC por padrão; divida somente capacidades realmente independentes e paralelizáveis.
20
+ - Task avulsa usa subagente Codex e execução produtiva sequencial; só uma DAG
21
+ de PRD/SPEC pode paralelizar Tasks independentes.
22
+ - “Crie” PRD/SPEC fica `draft`; “crie e execute” pode avançar no mesmo turno,
23
+ com Runs separadas de definição e delivery.
24
+ - A fila horária, quando instalada a pedido, seleciona um único macro/Task
25
+ superior `ready`, com prioridade PRD → SPEC independente → Task avulsa e
26
+ ordenação manual dentro da classe.
18
27
  - Não crie Tasks durante definição: mostre blueprints compactos e materialize somente em `ready|execute`.
19
28
  - Resolva verbos de lifecycle pelo alvo e status persistido, nunca por palavra isolada.
20
29
 
21
30
  - Prefira uma investigação útil a repetir a mesma hipótese; conte reservas reais
22
31
  pelo preset da Task, não por duração ou quantidade de testes.
23
32
  - Não transforme tempo decorrido em falha nem incompletude em aprovação.
33
+ - Após o loading, cards/tabelas numéricas mostram `0` para métrica ausente,
34
+ com cobertura “sem medição”; records e API preservam `null`.
24
35
  - Preserve o diário de autonomia; ele não é cache. Veja [guia 19](19-assurance-e-autonomia.md).
@@ -7,7 +7,7 @@
7
7
  5. Compare `manifest.json`, `summary.json`, índices e chunks de `records/lifecycle`, sem varrer records.
8
8
  6. Corrija a causa, repita a reproducao e depois os gates completos.
9
9
 
10
- Se uma Task estiver presa em executing/verifying, use o popup Reconciliar. O reparo aceita `task_complete` exato, marca Run orfa apos dez minutos como failed e usa blocked quando faltam gates; nunca infere cancelamento. Nao habilite reconciliacao automatica por turno ou na abertura do dashboard.
10
+ Se uma Task estiver presa em executing/verifying, use o popup Reconciliar para o backlog global. O reparo aceita `task_complete` exato, marca Run orfa apos dez minutos como failed e usa blocked quando faltam gates; nunca infere cancelamento. A v4 deve conciliar a tentativa **atual** no fechamento ou próximo evento Codex da mesma Task, sem varredura global automática na abertura do dashboard. Se o host parou e não houve novo evento, relate a pendência em vez de dizer que ela ainda está executando.
11
11
 
12
12
  Se o problema for de instalacao ou integridade, consulte `framework.lock.yaml`.
13
13
 
@@ -21,6 +21,8 @@ Se “finalizar” tentou entregar um PRD `draft`, confira adapters/skills: o co
21
21
  | `RECOVERY_PENDING` | Localize a reserva e resultado real; não despache outra invocação nem apague o diário |
22
22
  | `ATTEMPT_BUDGET_EXHAUSTED` / `REPLAN_BUDGET_EXHAUSTED` | Confira o preset congelado e consumo; registre o resultado parcial sem reset |
23
23
  | `REPLAN_INCOMPLETE` | Plano inválido não libera reparação; preserve a reserva consumida |
24
+ | Segundo replan escalou para Astra no Equilibrado v4 | Divergência de política: a rota aprovada é Sol → Sol → Astra; confira ledger, catálogo e modelo observado |
25
+ | Perfil nativo não suporta modelo/effort exigido | Bloqueie com causa; não substitua silenciosamente nem conclua por prompt |
24
26
  | Gui terminou sem recibo de início | Capture o evento real e use relay suportado com responsável aberto; não invente decisão |
25
27
  | Responsável já fechado sem decisão | Recuperação autorizada/nova tentativa; reconciliação repetida não cria aprovação |
26
28
  | Perfil Essencial tentou Astra automático | Rejeite a seleção; não trate fallback/herança como autorização |
@@ -7,7 +7,7 @@
7
7
  - SPEC: planejamento tecnico de multiplas Tasks; draft fica em Planejamento.
8
8
  - PRD: definicao de produto; draft fica em Definicao.
9
9
 
10
- Pensar/explorar PRD ou SPEC é Conversation. Criar explicitamente persiste macro, SPECs e PreparedPlan `draft`, atribui telemetria e mantém apenas blueprints de Tasks. `ready` é o único ponto que materializa Tasks/Changes/Execution sem iniciar; `execute` materializa e inicia.
10
+ Pensar/explorar PRD ou SPEC é Conversation. Criar explicitamente persiste macro, SPECs e PreparedPlan `draft`, atribui telemetria e mantém apenas blueprints de Tasks. `ready` materializa Tasks/Changes/Execution sem iniciar; `execute` materializa e inicia. “Crie e execute” cabe no mesmo turno Codex com Runs canônicas separadas de definição (`interaction`) e delivery, ligadas pelo alvo; criar isoladamente não promove a `ready`.
11
11
 
12
12
  ## Colunas
13
13
 
@@ -43,9 +43,12 @@ Gui ainda pode registrar bloqueio/falha real, mas `executor_missing` impede
43
43
  alternativa, sem dispensar os demais gates. `conversation finish` e `run finish` usam o mesmo escritor
44
44
  canônico, preservando a decisão imutável, os vínculos e o replay idempotente.
45
45
 
46
- ## Execução direta autorizada
46
+ ## Execução direta legada autorizada
47
47
 
48
- A Task avulsa prefere o principal direto. O host registra a referência humana
48
+ A Task avulsa do contrato legado preferia o principal direto. A v4
49
+ substitui essa preferência por executor subagente nativo observado para toda
50
+ Task avulsa, com orquestração sequencial. Enquanto o caminho legado existir,
51
+ o host registra a referência humana
49
52
  com `--direct-authorization REFERÊNCIA` em `conversation start` ou `run start`,
50
53
  desde o início de uma raiz Task/Change/Execution observada. Thread, modelo ou
51
54
  classificação de intenção não são autorização por si só. Modelo/esforço manuais
@@ -58,11 +61,11 @@ necessários. Raízes antigas fechadas não recebem nova aprovação retroativa.
58
61
 
59
62
  `blocked` e retomavel com `task resume`; `failed` exige `task rework` na mesma Task e nova tentativa. `completed` e `cancelled` sao imutaveis. Interromper geracao bloqueia; cancelar a Task explicitamente cancela.
60
63
 
61
- `finalize|conclua` em macro `draft|ready` significa lapidar e deixar pronto; em trabalho ativo, “conclua a execução/finalize a implementação” continua Tasks e gates. `implemente` é sensível ao estado; `desenvolva|melhore|aprimore` sempre planeja/refina/rework. PRD cancelado gera sucessor vinculado com tag `rework`.
64
+ `finalize|conclua` em macro `draft|ready` significa lapidar e deixar pronto; em trabalho ativo, “conclua a execução/finalize a implementação” continua Tasks e gates. `implemente` é sensível ao estado; na v4, `desenvolva|melhore|aprimore` com objetivo independente de ação seguem Task avulsa, enquanto pedidos de refinamento do macro permanecem em planejamento/rework. PRD cancelado gera sucessor vinculado com tag `rework`.
62
65
 
63
66
  ## SPEC e PRD
64
67
 
65
- Ao iniciar a primeira Task filha, os pais ficam active/Execucao e permanecem assim entre Runs. Task bloqueada ou falhada nao bloqueia automaticamente o pai. Depois que todas as Tasks concluem, SPEC/PRD entram em verificacao parental; apenas gates de integracao, Acceptance Criteria, outcomes e Evidence entregam o macro.
68
+ Ao iniciar a primeira Task filha, os pais ficam active/Execucao e permanecem assim entre Runs. Task bloqueada ou falhada nao bloqueia automaticamente o pai enquanto ramos independentes continuam. Antes de fechar SPEC/PRD, **todas** as Tasks da DAG, inclusive dependentes inviabilizadas, precisam de resultado terminal persistido. Só o conjunto concluído entra em verificação para entrega; bloqueios/falhas produzem decisão parental verdadeira depois do fechamento das filhas. Gates de integração, Acceptance Criteria, outcomes e Evidence continuam obrigatórios para `delivered`.
66
69
 
67
70
  Observações declaradas seguem o contrato de
68
71
  [prova observável](../../skills/zaip-skill-change/references/observable-evidence.md).
@@ -72,7 +75,7 @@ Novas SPECs de um PRD não possuem dependências entre si: são capacidades para
72
75
 
73
76
  ## Reconciliacao
74
77
 
75
- O popup Reconciliar chama `run reconcile --open` somente depois da confirmacao humana. Nao existe varredura ao abrir o dashboard, por turno ou por intervalo.
78
+ O popup Reconciliar chama `run reconcile --open` somente depois da confirmacao humana. Nao existe varredura **global** ao abrir o dashboard, por turno ou por intervalo. O contrato-alvo v4 acrescenta conciliação idempotente **direcionada à tentativa atual** no Stop/fechamento observado ou no próximo evento Codex da mesma Task. Nenhum hook continua rodando após o host parar; não alegue recuperação invisível.
76
79
 
77
80
  O reparo e idempotente: `task_complete` local exato permite tentar conclusao; gate insuficiente usa blocked; Run sem invocacao ativa por dez minutos usa failed; cancelled nunca e inferido. Projecoes exibem o status persistido e nao revivem Task terminal por atividade local obsoleta.
78
81
 
@@ -105,7 +108,9 @@ A CLI autentica vínculos e persiste a decisão imutável antes do Stop canônic
105
108
  - Se a persistência falhar, mantenha evento/erro recuperável e condição objetiva;
106
109
  não declare que o estado canônico mudou antes de lê-lo.
107
110
 
108
- A política prefere Task avulsa direta. Uma raiz de delivery com Task, Change,
111
+ A política legada preferia Task avulsa direta, mas a v4 Codex-native passa a
112
+ exigir executor subagente nativo em trabalho novo. Para compatibilidade antiga,
113
+ uma raiz de delivery com Task, Change,
109
114
  Execution, turno e modelo observados pode registrar `--direct-authorization`
110
115
  no início. Esse contrato imutável satisfaz a alternativa ao executor capturado,
111
116
  sem criar Sub-Run fictício nem converter retrospectivamente uma raiz antiga.
@@ -19,7 +19,7 @@ O modelo e o tier de serviço efetivamente observados, quando disponíveis, defi
19
19
  | Cache | `cache / 1.000.000 × tarifa de cache` |
20
20
  | Output | `output / 1.000.000 × tarifa de output` |
21
21
 
22
- O dashboard soma esses componentes uma única vez. Quando a identidade do modelo/tier, os tokens necessários ou uma tarifa do catálogo versionado não existem, o custo permanece indisponível em vez de ser inventado.
22
+ O dashboard soma esses componentes uma única vez. Quando a identidade do modelo/tier, os tokens necessários ou uma tarifa do catálogo versionado não existem, o custo canônico permanece `null` em vez de ser inventado. No contrato visual v4, card/célula carregado mostra `0` com cobertura “sem medição”; esse numeral não entra na soma.
23
23
 
24
24
  ## 3. Considere contexto, velocidade e esforço
25
25
 
@@ -64,11 +64,15 @@ Os squads facilitam a leitura organizacional e a colaboração humana. Eles não
64
64
 
65
65
  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.
66
66
 
67
+ Na v4, isso continua verdadeiro para records, API e cálculos. Apenas os
68
+ cards/células numéricas do Dashboard carregado exibem `0` com cobertura
69
+ “sem medição”; o catálogo não autoriza registrar zero observado fictício.
70
+
67
71
  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.
68
72
 
69
73
  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.
70
74
 
71
- 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.
75
+ Nanda (`agent-reviewer`) usa `gpt-6-sol` com esforço `medium` e `soft_cycles: 12`, proporcional à revisão standard. Ana (`agent-auditor`) usa `gpt-6-sol`/`high` para auditoria crítica ou explicitamente auditável; Luiz (`agent-security-auditor`) usa `gpt-6-sol`/`high` para auditoria de segurança explícita.
72
76
 
73
77
  ## Dashboard e segurança operacional
74
78