@zaip-ai/cli 2.2.0 → 3.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 (571) hide show
  1. package/README.md +36 -13
  2. package/dist/services/adapters.d.ts +1 -1
  3. package/dist/services/adapters.d.ts.map +1 -1
  4. package/dist/services/adapters.js +26 -9
  5. package/dist/services/adapters.js.map +1 -1
  6. package/dist/services/agent-adapters.js +37 -18
  7. package/dist/services/agent-adapters.js.map +1 -1
  8. package/dist/services/agent-discovery.d.ts +27 -0
  9. package/dist/services/agent-discovery.d.ts.map +1 -0
  10. package/dist/services/agent-discovery.js +73 -0
  11. package/dist/services/agent-discovery.js.map +1 -0
  12. package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
  13. package/dist/services/codex-conversation-lifecycle-hook.js +164 -24
  14. package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
  15. package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
  16. package/dist/services/codex-pre-tool-hook-template.js +146 -72
  17. package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
  18. package/dist/services/codex-rules.d.ts +1 -1
  19. package/dist/services/codex-rules.d.ts.map +1 -1
  20. package/dist/services/codex-rules.js +3 -3
  21. package/dist/services/codex-subagent-hook-template.d.ts +1 -1
  22. package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
  23. package/dist/services/codex-subagent-hook-template.js +117 -66
  24. package/dist/services/codex-subagent-hook-template.js.map +1 -1
  25. package/dist/services/install-agents-template.d.ts.map +1 -1
  26. package/dist/services/install-agents-template.js +65 -7
  27. package/dist/services/install-agents-template.js.map +1 -1
  28. package/dist/services/logger.js +1 -1
  29. package/dist/services/logger.js.map +1 -1
  30. package/dist/services/logger.test.js +22 -1
  31. package/dist/services/logger.test.js.map +1 -1
  32. package/dist/services/runtime-template.test.js +153 -1
  33. package/dist/services/runtime-template.test.js.map +1 -1
  34. package/dist/services/transactional-files.d.ts.map +1 -1
  35. package/dist/services/transactional-files.js +59 -14
  36. package/dist/services/transactional-files.js.map +1 -1
  37. package/package.json +1 -1
  38. package/templates/.agents/.env.example +9 -3
  39. package/templates/.agents/README-ENG.md +101 -15
  40. package/templates/.agents/README.md +102 -17
  41. package/templates/.agents/architecture/software-architecture.md +1 -59
  42. package/templates/.agents/branding/brandbook.md +3 -0
  43. package/templates/.agents/config/agents/catalog.yaml +25 -10
  44. package/templates/.agents/config/agents/discovery.json +319 -0
  45. package/templates/.agents/config/clients/codex/agents/zaip-agent-analyst.toml +1 -1
  46. package/templates/.agents/config/clients/codex/agents/zaip-agent-auditor.toml +1 -1
  47. package/templates/.agents/config/clients/codex/agents/zaip-agent-backend.toml +3 -3
  48. package/templates/.agents/config/clients/codex/agents/zaip-agent-brand-strategist.toml +1 -1
  49. package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +3 -3
  50. package/templates/.agents/config/clients/codex/agents/zaip-agent-cloud-engineer.toml +12 -9
  51. package/templates/.agents/config/clients/codex/agents/zaip-agent-data-analyst.toml +1 -1
  52. package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +3 -3
  53. package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +2 -2
  54. package/templates/.agents/config/clients/codex/agents/zaip-agent-frontend.toml +3 -3
  55. package/templates/.agents/config/clients/codex/agents/zaip-agent-general-operations.toml +1 -1
  56. package/templates/.agents/config/clients/codex/agents/zaip-agent-governance-compliance.toml +1 -1
  57. package/templates/.agents/config/clients/codex/agents/zaip-agent-growth-strategist.toml +1 -1
  58. package/templates/.agents/config/clients/codex/agents/zaip-agent-integrator.toml +1 -1
  59. package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +1 -1
  60. package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +13 -10
  61. package/templates/.agents/config/clients/codex/agents/zaip-agent-refactoring-specialist.toml +1 -1
  62. package/templates/.agents/config/clients/codex/agents/zaip-agent-reviewer.toml +1 -1
  63. package/templates/.agents/config/clients/codex/agents/zaip-agent-sales-specialist.toml +1 -1
  64. package/templates/.agents/config/clients/codex/agents/zaip-agent-security-auditor.toml +1 -1
  65. package/templates/.agents/config/clients/codex/agents/zaip-agent-task-executor.toml +3 -3
  66. package/templates/.agents/config/clients/codex/agents/zaip-agent-website-developer.toml +3 -3
  67. package/templates/.agents/config/clients/codex/agents/zaip-agent-writer.toml +1 -1
  68. package/templates/.agents/config/pricing/models.json +9 -5
  69. package/templates/.agents/config/project.yaml +22 -2
  70. package/templates/.agents/dashboard/.zaip-managed.json +530 -138
  71. package/templates/.agents/dashboard/README.md +16 -0
  72. package/templates/.agents/dashboard/apps/frontend/dist/assets/CostCalculationGuidePage-CEDZjl4V.js +1 -0
  73. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-DaSllaJp.js → DashboardHelpDialog-TnrL1ZyZ.js} +967 -578
  74. package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-DjQpBqGU.js +1 -0
  75. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-B9GWkEyN.css +1 -0
  76. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-BAvLPAee.js +3 -0
  77. package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-BQZXUnQu.js +1 -0
  78. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-06__WZco.js +68 -0
  79. package/templates/.agents/dashboard/apps/frontend/dist/assets/dashboard-localization-Basaw1NR.js +824 -0
  80. package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-TPUT2IUt.js → icons-vendor-DEmo6Tn2.js} +1 -1
  81. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-BQe3zTvL.js +2 -0
  82. package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-Ct48XHGL.js → react-vendor-CadYsm83.js} +1 -1
  83. package/templates/.agents/dashboard/apps/frontend/dist/assets/rolldown-runtime-Bh1tDfsg.js +1 -0
  84. package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-BzKK8kK3.js +1 -0
  85. package/templates/.agents/dashboard/apps/frontend/dist/index.html +6 -6
  86. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  87. package/templates/.agents/dashboard/apps/frontend/src/App.tsx +3 -1264
  88. package/templates/.agents/dashboard/apps/frontend/src/AppDashboardContent.tsx +368 -0
  89. package/templates/.agents/dashboard/apps/frontend/src/AutonomySettings.tsx +82 -0
  90. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.dom.test.ts +130 -0
  91. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +206 -157
  92. package/templates/.agents/dashboard/apps/frontend/src/ProjectStackEditor.tsx +3 -1
  93. package/templates/.agents/dashboard/apps/frontend/src/__tests__/app-composition-support.ts +12 -0
  94. package/templates/.agents/dashboard/apps/frontend/src/cost-monitor-population.test.tsx +149 -0
  95. package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +9 -7
  96. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api-settings.ts +152 -0
  97. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +19 -0
  98. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.ts +50 -154
  99. package/templates/.agents/dashboard/apps/frontend/src/dashboard-app-shell.tsx +33 -0
  100. package/templates/.agents/dashboard/apps/frontend/src/dashboard-cost-facts.test.ts +54 -0
  101. package/templates/.agents/dashboard/apps/frontend/src/dashboard-cost-facts.ts +48 -0
  102. package/templates/.agents/dashboard/apps/frontend/src/dashboard-localization.test.ts +37 -43
  103. package/templates/.agents/dashboard/apps/frontend/src/dashboard-localization.ts +9 -251
  104. package/templates/.agents/dashboard/apps/frontend/src/dashboard-project-overview.ts +35 -2
  105. package/templates/.agents/dashboard/apps/frontend/src/dashboard-retry.ts +17 -0
  106. package/templates/.agents/dashboard/apps/frontend/src/dashboard-setup-route.ts +29 -0
  107. package/templates/.agents/dashboard/apps/frontend/src/dashboard-view-actions.test.ts +51 -0
  108. package/templates/.agents/dashboard/apps/frontend/src/dashboard-view-actions.ts +68 -0
  109. package/templates/.agents/dashboard/apps/frontend/src/operations-period-render.test.ts +38 -2
  110. package/templates/.agents/dashboard/apps/frontend/src/operations-period.test.ts +19 -4
  111. package/templates/.agents/dashboard/apps/frontend/src/operations-period.ts +5 -3
  112. package/templates/.agents/dashboard/apps/frontend/src/overview-status-page.test.ts +2 -2
  113. package/templates/.agents/dashboard/apps/frontend/src/project-installation-status.test.ts +137 -0
  114. package/templates/.agents/dashboard/apps/frontend/src/project-installation-status.ts +66 -0
  115. package/templates/.agents/dashboard/apps/frontend/src/project-settings-copy.ts +181 -0
  116. package/templates/.agents/dashboard/apps/frontend/src/project-settings-model.ts +11 -1
  117. package/templates/.agents/dashboard/apps/frontend/src/project-settings-page.css +102 -51
  118. package/templates/.agents/dashboard/apps/frontend/src/project-settings-state.css +55 -0
  119. package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +14 -2
  120. package/templates/.agents/dashboard/apps/frontend/src/sao-paulo-day-rollover.test.ts +36 -0
  121. package/templates/.agents/dashboard/apps/frontend/src/sao-paulo-day-rollover.ts +30 -0
  122. package/templates/.agents/dashboard/apps/frontend/src/snapshot-banner-semantics.test.ts +2 -5
  123. package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +31 -20
  124. package/templates/.agents/dashboard/apps/frontend/src/traceability-task-pagination.ts +1 -2
  125. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.test.ts +6 -0
  126. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.ts +2 -0
  127. package/templates/.agents/dashboard/apps/frontend/src/use-app-effects.ts +9 -1
  128. package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-documents.ts +3 -1
  129. package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-task-pagination.ts +66 -0
  130. package/templates/.agents/dashboard/apps/frontend/src/use-app-work-board.ts +397 -0
  131. package/templates/.agents/dashboard/apps/frontend/src/use-dashboard-app-model.tsx +782 -0
  132. package/templates/.agents/dashboard/apps/frontend/src/use-snapshot-notice.tsx +49 -0
  133. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  134. package/templates/.agents/dashboard/modules/cost-monitor/src/complete-cost-average.test.ts +73 -0
  135. package/templates/.agents/dashboard/modules/cost-monitor/src/contracts.ts +9 -0
  136. package/templates/.agents/dashboard/modules/cost-monitor/src/period-averages.ts +60 -0
  137. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostDeveloperPanelSlot.tsx +16 -0
  138. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.tsx +459 -0
  139. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorContent.tsx +8 -22
  140. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.test.ts +27 -17
  141. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +64 -189
  142. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorRunDialog.tsx +20 -0
  143. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostPeriodAverageCards.tsx +32 -8
  144. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-hides-calls-that-have-no-collected.test.ts +80 -0
  145. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +455 -0
  146. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +18 -525
  147. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.tsx +32 -508
  148. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-export-sources.ts +74 -0
  149. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-actions.ts +19 -0
  150. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-selectors.ts +49 -0
  151. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-summary.ts +3 -2
  152. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-formatters.ts +115 -0
  153. package/templates/.agents/dashboard/modules/cost-monitor/src/react/period-cost-groups.ts +1 -42
  154. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-group-page.ts +2 -1
  155. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.test-fixtures.ts +2 -0
  156. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +3 -2
  157. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +8 -2
  158. package/templates/.agents/dashboard/modules/cost-monitor/src/server/index.ts +1 -0
  159. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  160. package/templates/.agents/dashboard/modules/operations/src/contracts.ts +4 -0
  161. package/templates/.agents/dashboard/modules/operations/src/react/EntityTableBadges.tsx +34 -0
  162. package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +8 -38
  163. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview-keeps-structure-classes-mutually-exclusive.test.ts +244 -0
  164. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.helpers.tsx +66 -3
  165. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +98 -276
  166. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +105 -276
  167. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewCharts.tsx +171 -0
  168. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewPanels.tsx +64 -0
  169. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +9 -17
  170. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageOverview.tsx +3 -0
  171. package/templates/.agents/dashboard/modules/operations/src/react/OverviewCostKpi.tsx +46 -0
  172. package/templates/.agents/dashboard/modules/operations/src/react/PrdDocumentDialog.test.tsx +2 -1
  173. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.test.ts +28 -1
  174. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.tsx +11 -4
  175. package/templates/.agents/dashboard/modules/operations/src/react/index.ts +1 -0
  176. package/templates/.agents/dashboard/modules/operations/src/react/manual-work-priority.test.ts +2 -1
  177. package/templates/.agents/dashboard/modules/operations/src/react/operations-coverage-toast.test.ts +8 -4
  178. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +34 -22
  179. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview.status-cards.test.ts +3 -1
  180. package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +21 -2
  181. package/templates/.agents/dashboard/modules/operations/src/react/overview-cost-card.test.tsx +89 -0
  182. package/templates/.agents/dashboard/modules/operations/src/react/overview-metric-format.ts +32 -0
  183. package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.test.ts +3 -3
  184. package/templates/.agents/dashboard/modules/operations/src/work-board-model.ts +2 -1
  185. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  186. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  187. package/templates/.agents/dashboard/packages/branding/src/index.ts +1 -1
  188. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  189. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  190. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +1625 -1613
  191. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +1592 -1582
  192. package/templates/.agents/dashboard/packages/local-runtime/package.json +3 -2
  193. package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-runtime.mjs +22 -28
  194. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +1625 -1614
  195. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +25 -0
  196. package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.test.ts +1 -1
  197. package/templates/.agents/dashboard/packages/local-runtime/src/project-installation-summary.test.ts +142 -0
  198. package/templates/.agents/dashboard/packages/local-runtime/src/project-installation-summary.ts +190 -0
  199. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +118 -8
  200. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +92 -36
  201. package/templates/.agents/dashboard/packages/local-runtime/src/projection-refresh-diagnostics.ts +35 -0
  202. package/templates/.agents/dashboard/packages/local-runtime/src/server-browser-lease.test.ts +91 -0
  203. package/templates/.agents/dashboard/packages/local-runtime/src/server-browser-lease.ts +24 -4
  204. package/templates/.agents/dashboard/packages/local-runtime/src/server-costs-routes.ts +168 -0
  205. package/templates/.agents/dashboard/packages/local-runtime/src/server-dual-reads-manifest-summaries-without-losing.test.ts +344 -0
  206. package/templates/.agents/dashboard/packages/local-runtime/src/server-hono-security.test.ts +17 -0
  207. package/templates/.agents/dashboard/packages/local-runtime/src/server-http-contracts.ts +31 -0
  208. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-routes.ts +364 -0
  209. package/templates/.agents/dashboard/packages/local-runtime/src/server-read-projections.ts +461 -0
  210. package/templates/.agents/dashboard/packages/local-runtime/src/server-reconciliation-refresh.test.ts +78 -0
  211. package/templates/.agents/dashboard/packages/local-runtime/src/server-route-context.ts +13 -0
  212. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-refresh.test.ts +94 -2
  213. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-refresh.ts +62 -12
  214. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.test.ts +44 -0
  215. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.ts +22 -3
  216. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +22 -21
  217. package/templates/.agents/dashboard/packages/local-runtime/src/server-sqlite-task-trace.test.ts +97 -0
  218. package/templates/.agents/dashboard/packages/local-runtime/src/server-sqlite-task-trace.ts +10 -13
  219. package/templates/.agents/dashboard/packages/local-runtime/src/server-sqlite-view-allowlist.test.ts +25 -0
  220. package/templates/.agents/dashboard/packages/local-runtime/src/server-trace-routes.ts +56 -0
  221. package/templates/.agents/dashboard/packages/local-runtime/src/server-traceability-index.test.ts +84 -0
  222. package/templates/.agents/dashboard/packages/local-runtime/src/server-work-reconciliation.test.ts +2 -30
  223. package/templates/.agents/dashboard/packages/local-runtime/src/server-work-reconciliation.ts +6 -23
  224. package/templates/.agents/dashboard/packages/local-runtime/src/server.test-fixtures.ts +1 -1
  225. package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +2 -330
  226. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +87 -1060
  227. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-dimension-facts.test.ts +12 -1
  228. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-file-index.test.ts +69 -0
  229. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-first-fold-cache.ts +3 -1
  230. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-force-canonical.test.ts +3 -1
  231. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-incremental-refresh.test.ts +2 -0
  232. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-materialize-first-fold.ts +78 -0
  233. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-materialize-projections.ts +570 -0
  234. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-materialize-runs.ts +600 -0
  235. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-metric-contract.test.ts +1 -1
  236. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-period-averages.ts +46 -0
  237. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-provider-alias-parity.test.ts +50 -0
  238. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-agent-dimension.ts +269 -0
  239. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-context.ts +32 -0
  240. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-entity-group.ts +244 -0
  241. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-filtered-dimension.ts +303 -0
  242. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-financial.ts +547 -0
  243. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-model-dimension.ts +360 -0
  244. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-provider-dimension.ts +169 -0
  245. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-summary.ts +493 -0
  246. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-temporal-dimension.ts +134 -0
  247. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-timing.ts +299 -0
  248. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-view-page.ts +692 -0
  249. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-counts-every-root-execution-day-returns.test.ts +763 -0
  250. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-does-not-convert-delayed-historical-finalizer.test.ts +706 -0
  251. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-filesystem.ts +762 -0
  252. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-first-fold-types.ts +1 -1
  253. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-keeps-orphan-telemetry-out-kanban-without.test.ts +710 -0
  254. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-marks-token-cost-telemetry-unavailable-when.test.ts +618 -0
  255. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuild.ts +764 -0
  256. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuilds-disposable-snapshot-serves-zaip-records.test.ts +276 -0
  257. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-schema.ts +193 -0
  258. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.test.ts +54 -1
  259. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.ts +7 -3
  260. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-types.ts +123 -0
  261. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +5 -2806
  262. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.ts +17 -6930
  263. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-risk-population.test.ts +98 -0
  264. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-base-views.ts +390 -0
  265. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-dashboard-views.ts +413 -0
  266. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-snapshot-seed.test.ts +2 -0
  267. package/templates/.agents/dashboard/packages/local-runtime/src/verify-project-settings.mjs +57 -0
  268. package/templates/.agents/dashboard/packages/local-runtime/src/work-priority-contract.test.ts +4 -3
  269. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-build.mjs +195 -0
  270. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-lifecycle.test.mjs +2 -7
  271. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-logging.mjs +35 -0
  272. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-navigation.mjs +114 -0
  273. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-paths.mjs +90 -0
  274. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.mjs +89 -418
  275. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +22 -12
  276. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  277. package/templates/.agents/dashboard/scripts/qualify-observability.mjs +130 -0
  278. package/templates/.agents/dashboard/scripts/verify-autonomy-settings.mjs +175 -0
  279. package/templates/.agents/dashboard/scripts/verify-observability.mjs +254 -0
  280. package/templates/.agents/dashboard/scripts/verify-project-setup.mjs +64 -0
  281. package/templates/.agents/dashboard/tests/e2e/lease-global-setup.ts +37 -0
  282. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  283. package/templates/.agents/dashboard/tests/e2e/playwright.config.ts +9 -4
  284. package/templates/.agents/dashboard/tests/e2e/specs/cost-monitor-period-transition.spec.ts +22 -1
  285. package/templates/.agents/dashboard/tests/e2e/specs/dashboard-performance-matrix.spec.ts +17 -8
  286. package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +47 -6
  287. package/templates/.agents/dashboard/tests/e2e/specs/lease-lifetime.spec.ts +14 -0
  288. package/templates/.agents/dashboard/tests/observability-fixture.mjs +200 -0
  289. package/templates/.agents/design/.zaip-managed.json +86 -42
  290. package/templates/.agents/design/DESIGN.md +2 -186
  291. package/templates/.agents/design/README.md +12 -2
  292. package/templates/.agents/design/apps/catalog/dist/assets/index-BJV597iq.js +72 -0
  293. package/templates/.agents/design/apps/catalog/dist/assets/index-BOjCcUaU.js +72 -0
  294. package/templates/.agents/design/apps/catalog/dist/assets/index-B_WhrCZe.js +72 -0
  295. package/templates/.agents/design/apps/catalog/dist/assets/index-CqtYXZfV.js +72 -0
  296. package/templates/.agents/design/apps/catalog/dist/assets/index-D_lfqoyx.js +72 -0
  297. package/templates/.agents/design/apps/catalog/dist/assets/index-i_PO2k9R.js +9 -0
  298. package/templates/.agents/design/apps/catalog/dist/index.html +1 -1
  299. package/templates/.agents/design/apps/catalog/dist/storybook/assets/CatalogShell-Cstn1UwA.js +1 -0
  300. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{Color-6AOWCN3U-B-kAgAjB.js → Color-6AOWCN3U-Cm-yJJz_.js} +1 -1
  301. package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-D1WopB2L.js +137 -0
  302. package/templates/.agents/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-DQ9PJ3N3.js +1 -0
  303. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{DocsRenderer-JROSPFPF-BVN7xHtv.js → DocsRenderer-JROSPFPF-Belk4jRr.js} +4 -4
  304. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{WithTooltip-7X4HQR7L-CDHtKYkz.js → WithTooltip-7X4HQR7L-DoPvjkS1.js} +1 -1
  305. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-DRQKCCAG-D6AsDkMK.js → chunk-DRQKCCAG-B1itKXEN.js} +1 -1
  306. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-W22LQPXL-B4m5uloN.js → chunk-W22LQPXL-C-Eb5SPY.js} +1 -1
  307. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{components-CN8YyTUg.js → components-DnyKLwhj.js} +5 -5
  308. package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-D0OSgxWz.js +1 -0
  309. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{iframe-9yZfIsdT.js → iframe-DcXBsFPz.js} +3 -3
  310. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{react-18-BoCSnq6H.js → react-18-CRM89QRf.js} +1 -1
  311. package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-C3tkVMIp.js +1 -0
  312. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{syntaxhighlighter-YFXUGROL-Bnn_nMwJ.js → syntaxhighlighter-YFXUGROL-B03jQGTF.js} +1 -1
  313. package/templates/.agents/design/apps/catalog/dist/storybook/assets/{theming-DS_ue2sb.js → theming-4ZyufAga.js} +1 -1
  314. package/templates/.agents/design/apps/catalog/dist/storybook/iframe.html +1 -1
  315. package/templates/.agents/design/apps/catalog/dist/storybook/index.json +1 -1
  316. package/templates/.agents/design/apps/catalog/package.json +2 -2
  317. package/templates/.agents/design/apps/catalog/src/components/AutonomySpecimen.tsx +15 -0
  318. package/templates/.agents/design/apps/catalog/src/components/CostPopulationSpecimen.test.tsx +19 -0
  319. package/templates/.agents/design/apps/catalog/src/components/CostPopulationSpecimen.tsx +45 -0
  320. package/templates/.agents/design/apps/catalog/src/components/EstimatedCostSpecimen.tsx +48 -0
  321. package/templates/.agents/design/apps/catalog/src/components/ProjectStatusSpecimen.tsx +169 -0
  322. package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +55 -0
  323. package/templates/.agents/design/apps/catalog/src/stories/Components.stories.tsx +60 -0
  324. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  325. package/templates/.agents/growth/strategy.md +3 -0
  326. package/templates/.agents/marketing/strategy.md +3 -0
  327. package/templates/.agents/requirements/autonomous-assurance.md +2 -1
  328. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  329. package/templates/.agents/requirements/comparative-audit.md +1 -1
  330. package/templates/.agents/requirements/context-engine.md +1 -1
  331. package/templates/.agents/requirements/cost-observability.md +1 -1
  332. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  333. package/templates/.agents/requirements/data-export.md +1 -1
  334. package/templates/.agents/requirements/design-system.md +13 -4
  335. package/templates/.agents/requirements/execution-engine.md +1 -1
  336. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  337. package/templates/.agents/requirements/model-orchestration.md +1 -1
  338. package/templates/.agents/requirements/public-distribution.md +4 -2
  339. package/templates/.agents/requirements/software-architecture.md +1 -1
  340. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  341. package/templates/.agents/requirements/work-lifecycle.md +6 -6
  342. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  343. package/templates/.agents/rules/architecture.md +2 -0
  344. package/templates/.agents/rules/astra-diagnostic.md +3 -1
  345. package/templates/.agents/rules/autonomy-decision.md +12 -2
  346. package/templates/.agents/rules/cloud-hostinger-autonomy.md +2 -0
  347. package/templates/.agents/rules/context.md +2 -1
  348. package/templates/.agents/rules/core.md +15 -4
  349. package/templates/.agents/rules/design-system-central-contract.md +17 -0
  350. package/templates/.agents/rules/evolution.md +3 -1
  351. package/templates/.agents/rules/frontend-lite.md +3 -1
  352. package/templates/.agents/rules/local-sqlite-storage.md +2 -2
  353. package/templates/.agents/rules/meta-mcp.md +3 -1
  354. package/templates/.agents/rules/model-orchestration.md +1 -1
  355. package/templates/.agents/rules/run-lifecycle-closure.md +11 -7
  356. package/templates/.agents/rules/security.md +3 -1
  357. package/templates/.agents/rules/specialist-routing.md +3 -1
  358. package/templates/.agents/rules/text-writing-utf8.md +1 -1
  359. package/templates/.agents/rules/workflow.md +7 -5
  360. package/templates/.agents/runtime/VERSION +1 -1
  361. package/templates/.agents/runtime/bin/zaip.mjs +821 -516
  362. package/templates/.agents/runtime/checksums.sha256 +6 -6
  363. package/templates/.agents/runtime/manifest.json +1 -1
  364. package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
  365. package/templates/.agents/runtime/provenance.json +5 -5
  366. package/templates/.agents/runtime/sbom.cdx.json +3 -3
  367. package/templates/.agents/sales/playbook.md +3 -0
  368. package/templates/.agents/skills/zaip-aios/SKILL.md +5 -3
  369. package/templates/.agents/skills/zaip-skill-adapt-stack/SKILL.md +1 -0
  370. package/templates/.agents/skills/zaip-skill-api-contracts/SKILL.md +14 -0
  371. package/templates/.agents/skills/zaip-skill-api-contracts/agents/openai.yaml +4 -0
  372. package/templates/.agents/skills/zaip-skill-application-observability/SKILL.md +15 -0
  373. package/templates/.agents/skills/zaip-skill-application-observability/agents/openai.yaml +4 -0
  374. package/templates/.agents/skills/zaip-skill-application-observability/references/signal-design.md +3 -0
  375. package/templates/.agents/skills/zaip-skill-application-readiness/SKILL.md +15 -0
  376. package/templates/.agents/skills/zaip-skill-application-readiness/agents/openai.yaml +4 -0
  377. package/templates/.agents/skills/zaip-skill-application-readiness/references/evidence-matrix.md +3 -0
  378. package/templates/.agents/skills/zaip-skill-architecture-design/SKILL.md +14 -0
  379. package/templates/.agents/skills/zaip-skill-architecture-design/agents/openai.yaml +4 -0
  380. package/templates/.agents/skills/zaip-skill-async-jobs/SKILL.md +14 -0
  381. package/templates/.agents/skills/zaip-skill-async-jobs/agents/openai.yaml +4 -0
  382. package/templates/.agents/skills/zaip-skill-auth-tenancy/SKILL.md +15 -0
  383. package/templates/.agents/skills/zaip-skill-auth-tenancy/agents/openai.yaml +4 -0
  384. package/templates/.agents/skills/zaip-skill-auth-tenancy/references/data-access-paths.md +9 -0
  385. package/templates/.agents/skills/zaip-skill-auth-tenancy/references/worker-scenario.md +5 -0
  386. package/templates/.agents/skills/zaip-skill-auth-tenancy/scripts/worker-contract.test.mjs +27 -0
  387. package/templates/.agents/skills/zaip-skill-author-skills/SKILL.md +2 -0
  388. package/templates/.agents/skills/zaip-skill-author-skills/references/engineering-skill-index.md +9 -0
  389. package/templates/.agents/skills/zaip-skill-author-skills/scripts/audit-skill-catalog.mjs +5 -3
  390. package/templates/.agents/skills/zaip-skill-author-skills/scripts/author-skill-scripts.test.mjs +27 -0
  391. package/templates/.agents/skills/zaip-skill-backend/SKILL.md +4 -0
  392. package/templates/.agents/skills/zaip-skill-backend/references/deployment-environments.md +75 -0
  393. package/templates/.agents/skills/zaip-skill-backend/references/supabase-migration-contract.md +23 -0
  394. package/templates/.agents/skills/zaip-skill-brand-governance/SKILL.md +2 -0
  395. package/templates/.agents/skills/zaip-skill-cache-strategy/SKILL.md +14 -0
  396. package/templates/.agents/skills/zaip-skill-cache-strategy/agents/openai.yaml +4 -0
  397. package/templates/.agents/skills/zaip-skill-change/SKILL.md +1 -1
  398. package/templates/.agents/skills/zaip-skill-cloud-engineering/SKILL.md +7 -0
  399. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/SKILL.md +37 -0
  400. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/agents/openai.yaml +6 -0
  401. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/references/workers-static-assets.md +26 -0
  402. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/references/workflow-templates.md +71 -0
  403. package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/scripts/cloudflare-github-deploy-contract.test.mjs +77 -0
  404. package/templates/.agents/skills/zaip-skill-config/SKILL.md +21 -11
  405. package/templates/.agents/skills/zaip-skill-config/agents/openai.yaml +2 -2
  406. package/templates/.agents/skills/zaip-skill-container-runtime/SKILL.md +14 -0
  407. package/templates/.agents/skills/zaip-skill-container-runtime/agents/openai.yaml +4 -0
  408. package/templates/.agents/skills/zaip-skill-context/SKILL.md +6 -1
  409. package/templates/.agents/skills/zaip-skill-context/references/prd-spec-task-handoff.md +10 -0
  410. package/templates/.agents/skills/zaip-skill-context/references/rule-selection.md +20 -0
  411. package/templates/.agents/skills/zaip-skill-cqrs/SKILL.md +1 -0
  412. package/templates/.agents/skills/zaip-skill-cybersecurity/SKILL.md +18 -0
  413. package/templates/.agents/skills/zaip-skill-cybersecurity/agents/openai.yaml +4 -0
  414. package/templates/.agents/skills/zaip-skill-cybersecurity/references/audit-contract.md +94 -0
  415. package/templates/.agents/skills/zaip-skill-cybersecurity/scripts/score-audit.mjs +185 -0
  416. package/templates/.agents/skills/zaip-skill-cybersecurity/scripts/score-audit.test.mjs +101 -0
  417. package/templates/.agents/skills/zaip-skill-data-modeling/SKILL.md +14 -0
  418. package/templates/.agents/skills/zaip-skill-data-modeling/agents/openai.yaml +4 -0
  419. package/templates/.agents/skills/zaip-skill-database-migrations/SKILL.md +20 -0
  420. package/templates/.agents/skills/zaip-skill-database-migrations/agents/openai.yaml +4 -0
  421. package/templates/.agents/skills/zaip-skill-database-migrations/references/manual-mode.md +15 -0
  422. package/templates/.agents/skills/zaip-skill-database-migrations/references/promotion-example.md +5 -0
  423. package/templates/.agents/skills/zaip-skill-database-migrations/scripts/export-manual-sql.mjs +145 -0
  424. package/templates/.agents/skills/zaip-skill-database-migrations/scripts/export-manual-sql.test.mjs +178 -0
  425. package/templates/.agents/skills/zaip-skill-dependency-upgrade/SKILL.md +14 -0
  426. package/templates/.agents/skills/zaip-skill-dependency-upgrade/agents/openai.yaml +4 -0
  427. package/templates/.agents/skills/zaip-skill-deployment-pipeline/SKILL.md +15 -0
  428. package/templates/.agents/skills/zaip-skill-deployment-pipeline/agents/openai.yaml +4 -0
  429. package/templates/.agents/skills/zaip-skill-deployment-pipeline/references/runtime-shapes.md +3 -0
  430. package/templates/.agents/skills/zaip-skill-design-system/SKILL.md +20 -9
  431. package/templates/.agents/skills/zaip-skill-dev-environment/SKILL.md +16 -0
  432. package/templates/.agents/skills/zaip-skill-dev-environment/agents/openai.yaml +4 -0
  433. package/templates/.agents/skills/zaip-skill-dev-environment/references/inventory-contract.md +7 -0
  434. package/templates/.agents/skills/zaip-skill-dev-environment/scripts/inventory.mjs +77 -0
  435. package/templates/.agents/skills/zaip-skill-disaster-recovery/SKILL.md +15 -0
  436. package/templates/.agents/skills/zaip-skill-disaster-recovery/agents/openai.yaml +4 -0
  437. package/templates/.agents/skills/zaip-skill-disaster-recovery/references/recovery-scope.md +3 -0
  438. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +31 -8
  439. package/templates/.agents/skills/zaip-skill-execution/references/correction-cycle.md +7 -0
  440. package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +18 -8
  441. package/templates/.agents/skills/zaip-skill-external-integrations/SKILL.md +14 -0
  442. package/templates/.agents/skills/zaip-skill-external-integrations/agents/openai.yaml +4 -0
  443. package/templates/.agents/skills/zaip-skill-frontend/SKILL.md +4 -0
  444. package/templates/.agents/skills/zaip-skill-frontend-componentization/SKILL.md +44 -0
  445. package/templates/.agents/skills/zaip-skill-frontend-componentization/agents/openai.yaml +4 -0
  446. package/templates/.agents/skills/zaip-skill-frontend-data-flows/SKILL.md +14 -0
  447. package/templates/.agents/skills/zaip-skill-frontend-data-flows/agents/openai.yaml +4 -0
  448. package/templates/.agents/skills/zaip-skill-general-operations/SKILL.md +2 -0
  449. package/templates/.agents/skills/zaip-skill-github-actions-setup/SKILL.md +36 -0
  450. package/templates/.agents/skills/zaip-skill-github-actions-setup/agents/openai.yaml +4 -0
  451. package/templates/.agents/skills/zaip-skill-github-actions-setup/references/cloudflare-pages.md +33 -0
  452. package/templates/.agents/skills/zaip-skill-github-actions-setup/references/github.md +63 -0
  453. package/templates/.agents/skills/zaip-skill-github-actions-setup/references/hostinger-vps.md +55 -0
  454. package/templates/.agents/skills/zaip-skill-github-actions-setup/references/npm.md +30 -0
  455. package/templates/.agents/skills/zaip-skill-github-actions-setup/scripts/check-skill.mjs +55 -0
  456. package/templates/.agents/skills/zaip-skill-github-actions-setup/scripts/verify-cloudflare.mjs +61 -0
  457. package/templates/.agents/skills/zaip-skill-github-actions-setup/scripts/verify-cloudflare.test.mjs +128 -0
  458. package/templates/.agents/skills/zaip-skill-github-actions-setup/scripts/verify-ssh.integration.test.mjs +106 -0
  459. package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +42 -76
  460. package/templates/.agents/skills/zaip-skill-github-deploy/references/deployment-workflow.md +135 -0
  461. package/templates/.agents/skills/zaip-skill-github-deploy/references/github-release-workflow-template.md +31 -0
  462. package/templates/.agents/skills/zaip-skill-github-deploy/references/release-gate-matrix.md +24 -0
  463. package/templates/.agents/skills/zaip-skill-github-deploy/references/release-identity.md +44 -0
  464. package/templates/.agents/skills/zaip-skill-github-deploy/references/release-notes.md +134 -0
  465. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/consumer-release-preparation.mjs +389 -0
  466. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/consumer-release-preparation.test.mjs +134 -0
  467. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +25 -2
  468. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-readiness-api.test.mjs +134 -0
  469. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-readiness.mjs +98 -0
  470. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-readiness.test.mjs +25 -0
  471. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/install-github-readiness-workflow.mjs +159 -0
  472. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/install-github-readiness-workflow.test.mjs +160 -0
  473. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight.mjs +149 -12
  474. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight.test.mjs +64 -5
  475. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/release-notes-coverage.test.mjs +126 -0
  476. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/resolve-release-identity.mjs +78 -0
  477. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/resolve-release-identity.test.mjs +51 -0
  478. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/validate-release-notes.mjs +184 -0
  479. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/validate-release-notes.test.mjs +109 -0
  480. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/SKILL.md +2 -0
  481. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/SKILL.md +18 -10
  482. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/agents/openai.yaml +3 -4
  483. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/aws-cli-terraform.md +62 -0
  484. package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/guia-iniciante-hostinger-vps.md +183 -0
  485. package/templates/.agents/skills/zaip-skill-marketing/SKILL.md +2 -0
  486. package/templates/.agents/skills/zaip-skill-module-scaffold/SKILL.md +14 -0
  487. package/templates/.agents/skills/zaip-skill-module-scaffold/agents/openai.yaml +4 -0
  488. package/templates/.agents/skills/zaip-skill-module-scaffold/references/scaffold-contract.md +9 -0
  489. package/templates/.agents/skills/zaip-skill-module-scaffold/scripts/helpers.test.mjs +121 -0
  490. package/templates/.agents/skills/zaip-skill-module-scaffold/scripts/scaffold.mjs +169 -0
  491. package/templates/.agents/skills/zaip-skill-move-prd/SKILL.md +3 -1
  492. package/templates/.agents/skills/zaip-skill-move-spec/SKILL.md +1 -1
  493. package/templates/.agents/skills/zaip-skill-performance-engineering/SKILL.md +14 -0
  494. package/templates/.agents/skills/zaip-skill-performance-engineering/agents/openai.yaml +4 -0
  495. package/templates/.agents/skills/zaip-skill-prd/SKILL.md +3 -1
  496. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +1 -0
  497. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +26 -9
  498. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +39 -13
  499. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.mjs +1 -0
  500. package/templates/.agents/skills/zaip-skill-refactor-landing-page/SKILL.md +66 -0
  501. package/templates/.agents/skills/zaip-skill-refactor-landing-page/agents/openai.yaml +4 -0
  502. package/templates/.agents/skills/zaip-skill-refactor-landing-page/references/behavioral-dry-run.md +23 -0
  503. package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +38 -1
  504. package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +122 -0
  505. package/templates/.agents/skills/zaip-skill-review/SKILL.md +1 -0
  506. package/templates/.agents/skills/zaip-skill-rules/SKILL.md +3 -3
  507. package/templates/.agents/skills/zaip-skill-sales-methodology/SKILL.md +2 -0
  508. package/templates/.agents/skills/zaip-skill-setup/SKILL.md +21 -21
  509. package/templates/.agents/skills/zaip-skill-setup/agents/openai.yaml +2 -2
  510. package/templates/.agents/skills/zaip-skill-spec/SKILL.md +3 -2
  511. package/templates/.agents/skills/zaip-skill-storage-uploads/SKILL.md +14 -0
  512. package/templates/.agents/skills/zaip-skill-storage-uploads/agents/openai.yaml +4 -0
  513. package/templates/.agents/skills/zaip-skill-systematic-debugging/SKILL.md +14 -0
  514. package/templates/.agents/skills/zaip-skill-systematic-debugging/agents/openai.yaml +4 -0
  515. package/templates/.agents/skills/zaip-skill-task/SKILL.md +16 -7
  516. package/templates/.agents/skills/zaip-skill-task/references/commit-policy.md +25 -0
  517. package/templates/.agents/skills/zaip-skill-test-data/SKILL.md +14 -0
  518. package/templates/.agents/skills/zaip-skill-test-data/agents/openai.yaml +4 -0
  519. package/templates/.agents/skills/zaip-skill-test-data/scripts/generate.mjs +72 -0
  520. package/templates/.agents/skills/zaip-skill-testing-strategy/SKILL.md +15 -0
  521. package/templates/.agents/skills/zaip-skill-testing-strategy/agents/openai.yaml +4 -0
  522. package/templates/.agents/skills/zaip-skill-testing-strategy/references/example-map.md +3 -0
  523. package/templates/.agents/skills/zaip-skill-tool-setup/SKILL.md +2 -0
  524. package/templates/.agents/skills/zaip-skill-website-readiness/SKILL.md +8 -0
  525. package/templates/.agents/zaip-aios/INDEX.md +9 -1
  526. package/templates/.agents/zaip-aios/README.md +23 -2
  527. package/templates/.agents/zaip-aios/VERSION +1 -1
  528. package/templates/.agents/zaip-aios/guides/01-primeiros-passos.md +5 -1
  529. package/templates/.agents/zaip-aios/guides/03-tasks.md +15 -2
  530. package/templates/.agents/zaip-aios/guides/04-specs.md +13 -0
  531. package/templates/.agents/zaip-aios/guides/05-prds.md +13 -0
  532. package/templates/.agents/zaip-aios/guides/06-execucao.md +19 -4
  533. package/templates/.agents/zaip-aios/guides/07-revisao-e-validacao.md +14 -0
  534. package/templates/.agents/zaip-aios/guides/08-contexto-e-tokens.md +4 -3
  535. package/templates/.agents/zaip-aios/guides/09-agentes-e-squads.md +17 -9
  536. package/templates/.agents/zaip-aios/guides/10-seguranca.md +11 -1
  537. package/templates/.agents/zaip-aios/guides/11-observabilidade-e-custos.md +69 -0
  538. package/templates/.agents/zaip-aios/guides/12-instalacao-e-upgrade.md +9 -4
  539. package/templates/.agents/zaip-aios/guides/13-boas-praticas.md +7 -1
  540. package/templates/.agents/zaip-aios/guides/14-troubleshooting.md +18 -0
  541. package/templates/.agents/zaip-aios/guides/16-lifecycle-e-reconciliacao.md +54 -3
  542. package/templates/.agents/zaip-aios/guides/18-catalogo-de-agentes.md +10 -2
  543. package/templates/.agents/zaip-aios/guides/19-assurance-e-autonomia.md +186 -5
  544. package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +26 -18
  545. package/templates/.agents/zaip-aios/guides/21-telemetria-monitor-custos.md +18 -2
  546. package/templates/.agents/zaip-aios/guides/22-fluxos-e-roteamento.md +14 -2
  547. package/templates/.agents/zaip-aios/guides/23-orquestracao-de-modelos.md +190 -489
  548. package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +61 -13
  549. package/templates/.agents/zaip-aios/guides/27-telemetria-git-native.md +18 -0
  550. package/templates/.agents/zaip-aios/guides/28-lifecycle-completo.md +18 -1
  551. package/templates/scripts/validate-cloud-hostinger-contract.mjs +34 -0
  552. package/templates/template-manifest.json +1229 -329
  553. package/templates/.agents/branding/.gitkeep +0 -0
  554. package/templates/.agents/dashboard/apps/frontend/dist/assets/CostCalculationGuidePage-snUCQYTC.js +0 -1
  555. package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-BPtVUGgs.js +0 -1
  556. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-3Awyaovx.js +0 -3
  557. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-GgzpZ_PY.css +0 -1
  558. package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-BCvZFMEf.js +0 -1
  559. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-DbaLbU2q.js +0 -68
  560. package/templates/.agents/dashboard/apps/frontend/dist/assets/dashboard-localization-CLJ0lT9v.js +0 -231
  561. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-_MEktQNM.js +0 -2
  562. package/templates/.agents/dashboard/apps/frontend/dist/assets/rolldown-runtime-D9-fqq9M.js +0 -1
  563. package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-BDe4_Ubl.js +0 -1
  564. package/templates/.agents/design/apps/catalog/dist/storybook/assets/CatalogShell-BWY-80s4.js +0 -1
  565. package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-Be2mDUQj.js +0 -27
  566. package/templates/.agents/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-DRx9blDs.js +0 -1
  567. package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-EwuTh8Zk.js +0 -1
  568. package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-DyL61NPT.js +0 -1
  569. package/templates/.agents/growth/.gitkeep +0 -0
  570. package/templates/.agents/marketing/.gitkeep +0 -0
  571. package/templates/.agents/sales/.gitkeep +0 -0
@@ -1,16 +1,20 @@
1
- import{S as e,b as t}from"./cost-monitor-DbaLbU2q.js";import{t as n}from"./dashboard-localization-CLJ0lT9v.js";var r=`# Primeiros passos
1
+ import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-06__WZco.js";import{t as r}from"./dashboard-localization-Basaw1NR.js";var i=`# Primeiros passos
2
2
 
3
3
  1. Leia \`.agents/config/project.yaml\` e \`.agents/rules/core.md\`.
4
4
  2. Consulte \`.agents/records/lifecycle/\` para descobrir o estado atual pelos manifests canônicos.
5
5
  3. Classifique a entrada: Conversation, Task avulsa, SPEC ou PRD. Pergunta/análise read-only é Conversation e não cria Task.
6
6
  4. Carregue somente Rules, Requirements e skills aplicaveis.
7
7
  5. Defina aceite verificavel antes de editar.
8
- 6. Antes de escrita persistente, inicie Task, Change, Execution e Run raiz do orquestrador; execute Sub-Runs, teste e registre evidencias no ciclo de vida ativo.
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.
9
9
 
10
10
  Evite varrer \`.agents/records/\`: abra um record apenas quando possuir seu ID.
11
11
 
12
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\`.
13
- `,i=`# Requirements
13
+
14
+ Para os novos controles, leia [perfis de autonomia](19-assurance-e-autonomia.md)
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.
17
+ `,a=`# Requirements
14
18
 
15
19
  Use Requirement para uma obrigacao duravel e testavel.
16
20
 
@@ -27,7 +31,7 @@ Para uma entrega nova ou retomada explicitamente, planeje também o cenário
27
31
  discriminante, ambiente e modalidade de observação por AC. O contrato de
28
32
  [prova observável](../../skills/zaip-skill-change/references/observable-evidence.md)
29
33
  define estados, limites e o que ainda depende de revisão humana.
30
- `,a=`# Tasks
34
+ `,o=`# Tasks
31
35
 
32
36
  Use Task para uma entrega pequena, independente e com um resultado claro.
33
37
 
@@ -36,7 +40,7 @@ Use Task para uma entrega pequena, independente e com um resultado claro.
36
40
  3. Vincule Requirements aplicaveis.
37
41
  4. Liste arquivos ou componentes provaveis, sem congelar a solucao.
38
42
  5. Defina verificacoes proporcionais ao risco.
39
- 6. Use uma Run raiz do orquestrador por tentativa, finalize os Sub-Runs de trabalho e execute o finalizador como ultimo filho.
43
+ 6. Use um orquestrador responsável por tentativa; se delegado pelo macro, sua Run conserva o pai real. Finalize os Sub-Runs de trabalho e execute Gui como último filho direto desse responsável.
40
44
  7. Antes de a Run terminar, mova a Task para completed, blocked, failed ou cancelled; nunca deixe executing/verifying.
41
45
  8. Retome blocked com \`task resume\`; trate failed com \`task rework\` na mesma Task. Completed/cancelled sao imutaveis.
42
46
 
@@ -44,8 +48,21 @@ Em PRD/SPEC \`draft\`, a lista visível vem dos blueprints do PreparedPlan e nã
44
48
 
45
49
  ## Modelo, effort e velocidade
46
50
 
47
- Conversation e Task-first preservam o modelo, o reasoning effort e a velocidade selecionados manualmente no Codex. A única forma suportada de executar trabalho de produto mais rápido é usar Fast manualmente em uma Task-first realmente independente; o ZAIP não ativa nem persiste essa seleção. Uma Task descendente de PRD ou SPEC segue a orquestração automática do pai e executa sempre com velocidade \`standard\`, mesmo quando for acionada no menor grão.
48
- `,o=`# SPECs
51
+ Conversation e o principal de Task avulsa preservam a seleção manual do Codex e
52
+ preferem execução direta. Se subagentes forem necessários, informe que modelo e
53
+ esforço podem diferir conforme catálogo/preset ZAIP. A exceção de Astra manual
54
+ no Essencial só vale para o principal avulso. A seleção automática solicita
55
+ velocidade \`standard\`; Fast manual não é herdado pelo fluxo gerenciado.
56
+
57
+ ## Orçamento e retomada
58
+
59
+ [Autonomia](19-assurance-e-autonomia.md) é por Task estável: Essencial 4/1,
60
+ Equilibrado 10/3, Persistente ilimitado (execuções/replanejamentos).
61
+ Reiniciar, retomar ou mudar o YAML não zera a quota. \`attempt_count\` do lifecycle
62
+ e reservas de execução do diário não são o mesmo contador.
63
+ Falta de prova termina \`blocked\`; erro técnico impeditivo comprovado termina
64
+ \`failed\`. Não diminua ACs nem use duração como critério de desistência.
65
+ `,s=`# SPECs
49
66
 
50
67
  Use SPEC quando a entrega exige varias Tasks ou uma ordem de dependencia.
51
68
 
@@ -65,7 +82,20 @@ Uma SPEC planeja a entrega; nao autoriza mudancas externas por si so.
65
82
  Use uma SPEC por padrão. Separe outra somente quando as capacidades puderem ser implementadas e verificadas em paralelo contra contratos estáveis, sem dependência ou write scope conflitante. Dependências e ordem ficam na DAG de Tasks da mesma SPEC.
66
83
 
67
84
  Toda Execution originada por SPEC usa velocidade \`standard\` em suas Tasks, Runs e Sub-Runs. A seleção manual de Fast no Codex não substitui essa política. Se uma necessidade urgente for realmente pequena e independente da DAG e dos gates parentais, ela pode ser tratada como Task-first com velocidade manual; não fragmente uma SPEC artificialmente apenas para executar mais rápido.
68
- `,s=`# PRDs
85
+
86
+ ## Autonomia e continuidade da DAG
87
+
88
+ O [preset](19-assurance-e-autonomia.md) é aplicado por Task, não como teto
89
+ compartilhado do macro. Dez Tasks Equilibradas permitem até 100 execuções
90
+ (10 iniciais + 90 reparações) e 30 replanejamentos, sem prazo de abandono.
91
+ Use um orquestrador responsável por tentativa de Task e Gui como seu último
92
+ filho direto. Gates parentais continuam separados.
93
+
94
+ Se um nó ficar bloqueado/falhado, continue somente ramos independentes
95
+ elegíveis; não repita nós concluídos nem libere dependentes sem conclusão.
96
+ A política gerenciada não intercepta chamadas nativas externas do Codex.
97
+ Não ative outra forma de execução nem migre estados legados implicitamente.
98
+ `,c=`# PRDs
69
99
 
70
100
  Use PRD para uma iniciativa de produto com multiplas capacidades ou SPECs.
71
101
 
@@ -103,10 +133,23 @@ PRD cancelado permanece imutável. Novo planejamento cria sucessor \`draft\`, ta
103
133
  Qualquer dependência técnica entre duas frentes obriga reuni-las na mesma SPEC e expressar a ordem entre Tasks. Mais de cinco exige recortar o PRD ou registrar uma decisão de exceção.
104
134
 
105
135
  Toda Execution originada por PRD usa velocidade \`standard\` em todas as SPECs, Tasks, Runs e Sub-Runs descendentes. Não existe skill, hook ou override de Fast para esse fluxo. A única execução de produto mais rápida suportada é Task-first realmente independente, com Fast selecionado manualmente no Codex; uma urgência não autoriza remover a estrutura necessária de PRD/SPEC.
106
- `,c=`# Execucao
107
136
 
108
- 1. Confirme Task, Change, Execution, aceite e Run raiz do orquestrador.
109
- 2. Antes da primeira mutacao persistente, confirme Task executing e Run raiz ativa no turno atual.
137
+ ## Autonomia e continuidade da DAG
138
+
139
+ O [preset](19-assurance-e-autonomia.md) é aplicado por Task, não como teto
140
+ compartilhado do macro. Dez Tasks Equilibradas permitem até 100 execuções
141
+ (10 iniciais + 90 reparações) e 30 replanejamentos, sem prazo de abandono.
142
+ Use um orquestrador responsável por tentativa de Task e Gui como seu último
143
+ filho direto. Gates parentais continuam separados.
144
+
145
+ Se um nó ficar bloqueado/falhado, continue somente ramos independentes
146
+ elegíveis; não repita nós concluídos nem libere dependentes sem conclusão.
147
+ A política gerenciada não intercepta chamadas nativas externas do Codex.
148
+ Não ative outra forma de execução nem migre estados legados implicitamente.
149
+ `,l=`# Execucao
150
+
151
+ 1. Confirme Task, Change, Execution, aceite e Run do orquestrador responsável, preservando o pai quando delegado pelo macro.
152
+ 2. Antes da primeira mutacao persistente, confirme Task executing e Run responsável ativa no turno atual.
110
153
  3. Inspecione o diff e preserve alteracoes alheias.
111
154
  4. Use Sub-Runs para cada subagente; a Run raiz aguarda todos os descendentes ativos.
112
155
  5. Implemente o menor incremento coerente e rode verificacoes focadas.
@@ -115,7 +158,8 @@ Toda Execution originada por PRD usa velocidade \`standard\` em todas as SPECs,
115
158
  produza o commit isolado quando houver mutação e persista Validation/Evidence
116
159
  do candidato exato. Falta de prova permanece pendência.
117
160
  8. Depois dos demais descendentes e das provas, execute \`zaip-agent-finalizer\`
118
- como último filho. Nenhum filho novo pode iniciar depois dele.
161
+ como último filho direto do responsável da Task, não do executor. Nenhum
162
+ filho novo pode iniciar depois dele.
119
163
  9. Aplique a decisão terminal pela CLI: Task, Change e Execution; atualize os
120
164
  manifests e finalize a Run raiz, separando status técnico e resultado da Task.
121
165
 
@@ -130,12 +174,26 @@ procedimento nem aprova o AC sozinho.
130
174
 
131
175
  ## Modelo, effort e velocidade por origem
132
176
 
133
- - Conversation e Task-first preservam o modelo, o reasoning effort e a velocidade selecionados manualmente no Codex.
177
+ - Conversation e o principal avulso preservam a seleção manual. Ao delegar por
178
+ necessidade, avise que modelo/esforço dos filhos podem mudar pela política ZAIP.
134
179
  - Fast para execução de produto é suportado somente em Task-first realmente independente e deve ser selecionado manualmente no Codex.
135
180
  - Executions originadas por SPEC ou PRD usam sempre velocidade \`standard\`, inclusive em todas as Tasks, Runs e Sub-Runs descendentes.
136
181
  - O ZAIP não ativa, persiste ou herda Fast por skill, hook, PreparedPlan ou override de Execution.
137
182
  - Selecionar uma Task descendente como menor grão não a transforma em Task-first nem remove a velocidade \`standard\` herdada do macro.
138
- `,l=`# Revisao e validacao
183
+
184
+ ## Reparação e finalização sem espera artificial
185
+
186
+ Aplique o diário e o preset do [guia 19](19-assurance-e-autonomia.md) antes
187
+ do despacho gerenciado. Não gere tentativas por tempo nem reexecute gates
188
+ caros inalterados para preencher uma cota.
189
+
190
+ O host persiste a decisão real do Gui antes do Stop canônico e aplica a mesma
191
+ decisão no fechamento. Gui read-only pode retornar sem aguardar recibos;
192
+ o relay aceita filho já terminal enquanto o responsável estiver aberto.
193
+ Sem decisão, preserve a pendência; não infira aprovação do status nativo.
194
+ Após decisão persistida, reconcilie \`closure_pending\` sem executar outro Gui
195
+ ou recomeçar os workers. Veja [recuperação](16-lifecycle-e-reconciliacao.md).
196
+ `,u=`# Revisao e validacao
139
197
 
140
198
  1. Revise Requirements e criterios de aceite.
141
199
  2. Examine diff, limites arquiteturais e caminhos de erro.
@@ -150,7 +208,21 @@ candidato, ambiente, locators e limitações segundo o contrato de
150
208
  \`confirmed\` pode complementar uma Evidence compatível, mas não substitui
151
209
  validação, revisão independente nem finalizador. \`pending\`, \`limited\`,
152
210
  \`failed\` e \`not_applicable\` não são aprovação.
153
- `,u=`# Contexto e tokens
211
+
212
+ ## Preset não reduz prova
213
+
214
+ Essencial não significa revisão superficial; Persistente não autoriza
215
+ aceite com evidência faltante. O [perfil de autonomia](19-assurance-e-autonomia.md)
216
+ controla persistência. Assurance segue risco e domínio: comportamento para
217
+ software, fontes/briefing para conteúdo, dados/premissas para estratégia e Ops.
218
+ Ao esgotar recuperação, registre ACs atendidos e pendentes, sem removê-los.
219
+
220
+ A decisão do finalizador seleciona seus IDs imutáveis de Evidence antes de
221
+ validá-los. Provas antigas permanecem preservadas, mas outro candidato,
222
+ falha ou correlação incompatível não aprova a tentativa atual.
223
+ Reutilização exige elegibilidade e vínculo real; nunca relabele um teste
224
+ histórico como nova execução.
225
+ `,d=`# Contexto e tokens
154
226
 
155
227
  1. Comece por \`project.yaml\`, \`core.md\` e pelos manifests de \`.agents/records/lifecycle/\`.
156
228
  2. Carregue somente a Rule, Requirement ou skill acionada.
@@ -167,16 +239,17 @@ Uma pergunta simples de Marketing, Sales, Growth ou Ops recebe o contexto do dom
167
239
  necessário à resposta. Não cria Task/Change artificial nem carrega instruções de
168
240
  engenharia ou diagnóstico Astra apenas por mencionar um departamento.
169
241
 
170
- O [guia 23](23-orquestracao-de-modelos.md) define a escalada excepcional. A
171
- [Rule Astra](../../rules/astra-diagnostic.md) só é carregada ao avaliar elegibilidade:
172
- prova da falha, dificuldade estruturada e, no caso preventivo, impacto crítico comprovado.
242
+ O [guia 23](23-orquestracao-de-modelos.md) distingue os replanejamentos por
243
+ preset do diagnóstico legado. Carregue [autonomia](../../rules/autonomy-decision.md)
244
+ quando aplicável; a [Rule Astra](../../rules/astra-diagnostic.md) detalha a
245
+ compatibilidade e a elegibilidade, sem liberar Astra automático no Essencial.
173
246
  A consulta diagnóstica usa contexto novo e delimitado, sem histórico integral ou ferramentas;
174
247
  o executor recebe a rota corrigida e preserva os critérios de aceite originais.
175
248
 
176
249
  Menos texto de prompt não comprova menor custo total. Compare tokens, tempo, reparos e
177
250
  custo por tarefa aceita; mantenha separado o custo de uma pergunta simples. Consumo
178
251
  ausente permanece indisponível. Veja [observabilidade e custos](11-observabilidade-e-custos.md).
179
- `,d=`# Agentes e squads
252
+ `,f=`# Agentes e squads
180
253
 
181
254
  O catalogo em \`.agents/config/agents/catalog.yaml\` e a fonte canonica para
182
255
  delegacao. Ele registra 23 agentes e 6 squads. Nomes exibidos, perfis e
@@ -188,7 +261,9 @@ memorizar uma lista ou inventar uma identidade.
188
261
  1. Quebre o trabalho em subtarefas concretas, independentes e verificaveis.
189
262
  2. Escolha pelo conjunto de \`capabilities\`, \`execution_eligibility\`, ferramentas
190
263
  e \`write_scopes\` do catalogo, nao apenas pelo titulo do agente.
191
- 3. Use apenas o \`codex_name\` e o \`codex_task_name\` exatos do registro. Nao use
264
+ 3. Use \`agent_type\` com o \`codex_name\` exato. Envie \`task_name\` somente se
265
+ existir no schema nativo, usando o \`codex_task_name\` exato. Preserve UUID e
266
+ nickname realmente retornados, inclusive sufixos; não invente \`agent_path\`. Não use
192
267
  \`default\`, \`worker\`, \`explorer\` ou nomes ad-hoc.
193
268
  4. Defina objetivo, escopo de escrita, entradas, criterio de aceite e formato de
194
269
  retorno antes da delegacao.
@@ -196,10 +271,10 @@ memorizar uma lista ou inventar uma identidade.
196
271
 
197
272
  ## Squads
198
273
 
199
- As seis squads coordenam contextos recorrentes: entrega critica, analise de
200
- produto, design e website, marca e marketing, growth e RevOps, e vendas e
201
- governanca. A squad e um roteador de capacidade; a delegacao continua usando o
202
- agente catalogado que satisfaz o trabalho concreto.
274
+ Os seis squads organizacionais são Product, Admin & Operations, Development,
275
+ Delivery Assurance, Infra & Security e Growth — Sales, Marketing and Branding.
276
+ Squad não concede capacidade ou autoridade: o roteamento usa o catálogo e os
277
+ write scopes da Task, não a organização visual.
203
278
 
204
279
  ## Execucao e fechamento
205
280
 
@@ -208,10 +283,10 @@ orquestrador coordena a DAG, preserva a separacao de telemetria entre raiz e
208
283
  Sub-Runs e captura metadados observados apos spawn e termino. Reviewer,
209
284
  auditor ou integrador so entram quando sua capacidade for necessaria.
210
285
 
211
- O ultimo filho e sempre \`zaip-agent-finalizer\`, depois que os demais
212
- descendentes terminaram. Ele nao reescreve evidencia: aplica uma decisao
213
- restrita baseada em testes, diffs e registros reais. O resultado so deve ser
214
- reportado apos a barreira de finalizacao estar satisfeita.
286
+ Gui é o último filho direto do orquestrador responsável da Task, irmão dos
287
+ executores, nunca filho de cada trabalhador. Ele avalia e retorna uma decisão
288
+ restrita; o host autorizado a persiste e a CLI aplica a transição. Um macro
289
+ coordena um responsável por tentativa de Task e seus gates parentais próprios.
215
290
 
216
291
  ## Boas praticas
217
292
 
@@ -221,7 +296,13 @@ reportado apos a barreira de finalizacao estar satisfeita.
221
296
  - Use paralelismo apenas quando reduzir o caminho critico sem elevar conflito.
222
297
  - Escale bloqueios de autoridade, credencial, seguranca ou escopo; nao suponha
223
298
  permissao externa.
224
- `,f=`# Segurança dos perfis Codex ZAIP-AIOS
299
+
300
+ Tarefas avulsas preferem execução direta; quando delegar for necessário, informe
301
+ que filhos podem usar modelo/esforço diferentes da seleção manual do principal.
302
+ [Essencial nunca escala automaticamente para Astra](23-orquestracao-de-modelos.md).
303
+ A exigência canônica atual de executor elegível para delivery permanece:
304
+ preferência por execução direta não permite inventar captura para aprovar gates.
305
+ `,p=`# Segurança dos perfis Codex ZAIP-AIOS
225
306
 
226
307
  ## Visão geral
227
308
 
@@ -460,11 +541,102 @@ ao novo token. Não edite ACLs manualmente e preserve o backup para rollback.
460
541
  | \`.codex/zaip-aios-security.config.toml\` | configuração dedicada do perfil restrito |
461
542
  | \`.codex/zaip-aios-full-access.config.toml\` | configuração dedicada do perfil completo |
462
543
  | \`.agents/skills/zaip-skill-security/SKILL.md\` | avaliação dos riscos e controles |
463
- | \`.agents/skills/zaip-skill-setup/SKILL.md\` | instalação, correção e validação dos perfis |
544
+ | \`.agents/skills/zaip-skill-setup/SKILL.md\` | instalação inicial dos modelos de perfil entregues pelo release |
545
+ | \`.agents/skills/zaip-skill-config/SKILL.md\` | seleção, personalização, correção e validação dos perfis |
464
546
  | \`.codex/hooks/zaip-pre-tool-use.mjs\` | guarda adicional de comandos |
465
547
  | \`.codex/rules/\` | decisões determinísticas de comandos permitidos e proibidos |
466
548
  | este guia | contrato operacional e comparação dos perfis |
467
- `,p="# Observabilidade e custos\n\n1. Selecione a Run pelo ID e confirme a fonte de cada métrica.\n2. Verifique duração, tokens, custo, retries e retrabalho, distinguindo observado, reconciliado e estimado.\n3. Compare aceite planejado com evidência produzida.\n4. Identifique gates lentos, contexto excessivo e chamadas repetidas.\n5. Agregue tendências sem expor prompts ou segredos sensíveis.\n6. Converta achados recorrentes em Rule, Requirement ou melhoria de skill.\n\nRun é o envelope da chamada do `zaip-agent-orchestrator`; `parent_run_id` nulo identifica esse nível. Sub-Run é a chamada de qualquer subagente e possui `parent_run_id`. Ambas podem agregar Calls, segmentos de uso, tokens e custo; Calls não possuem tela ou lifecycle próprio. A configuração solicitada de modelo e effort pertence à Run. Modelo, effort e tier efetivos só devem ser reportados quando vierem de evento/provider observado: defaults do catálogo, seleção planejada ou comportamento aparente não os comprovam. Operação e Monitor de Custos apresentam “Chamadas do agente orquestrador” e “Chamadas de subagentes”; a Execution soma as duas categorias, finalizadores e Calls sem dupla contagem. Cada segmento de uso possui uma chave de origem e só pode ser atribuído uma vez; uma correção de duplicidade registra supersessão e preserva o evento histórico. Inspecione `run_purpose`, pai e `agent_name`; agentes do catálogo usam `zaip-agent-*`. Diferencie status técnico da chamada de agente e resultado terminal da Task. Reconcilie lifecycle globalmente apenas por comando humano explícito ou pelo popup confirmado; isso não ocorre em cada turno nem ao abrir o dashboard.\n\nA 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.\n",m=`# Instalação e upgrade
549
+
550
+ ## Autonomia não é permissão
551
+
552
+ Essencial, Equilibrado e Persistente controlam persistência, não sandbox.
553
+ Persistente ilimitado não remove approvals, escopos, proteção de segredos,
554
+ revisão ou autoridade para publicação. Replanejadores gerenciados têm ferramentas
555
+ isoladas; executor e Gui conservam seus próprios limites.
556
+ Hooks best-effort e prompts não substituem controle preventivo do host.
557
+ Veja [limites do runtime](19-assurance-e-autonomia.md).
558
+ `,m=`# Observabilidade e custos
559
+
560
+ 1. Selecione a Run pelo ID e confirme a fonte de cada métrica.
561
+ 2. Verifique duração, tokens, custo, retries e retrabalho, distinguindo observado, reconciliado e estimado.
562
+ 3. Compare aceite planejado com evidência produzida.
563
+ 4. Identifique gates lentos, contexto excessivo e chamadas repetidas.
564
+ 5. Agregue tendências sem expor prompts ou segredos sensíveis.
565
+ 6. Converta achados recorrentes em Rule, Requirement ou melhoria de skill.
566
+
567
+ Run é o envelope da chamada do \`zaip-agent-orchestrator\`; \`parent_run_id\` nulo identifica esse nível. Sub-Run é a chamada de qualquer subagente e possui \`parent_run_id\`. Ambas podem agregar Calls, segmentos de uso, tokens e custo; Calls não possuem tela ou lifecycle próprio. A configuração solicitada de modelo e effort pertence à Run. Modelo, effort e tier efetivos só devem ser reportados quando vierem de evento/provider observado: defaults do catálogo, seleção planejada ou comportamento aparente não os comprovam. Operação e Monitor de Custos apresentam “Chamadas do agente orquestrador” e “Chamadas de subagentes”; a Execution soma as duas categorias, finalizadores e Calls sem dupla contagem. Cada segmento de uso possui uma chave de origem e só pode ser atribuído uma vez; uma correção de duplicidade registra supersessão e preserva o evento histórico. Inspecione \`run_purpose\`, pai e \`agent_name\`; agentes do catálogo usam \`zaip-agent-*\`. Diferencie status técnico da chamada de agente e resultado terminal da Task. Reconcilie lifecycle globalmente apenas por comando humano explícito ou pelo popup confirmado; isso não ocorre em cada turno nem ao abrir o dashboard.
568
+
569
+ A criação explícita de PRD/SPEC vincula a Run de definição e o \`creation_run_id\` ao macro. Duração, tokens e custo aparecem no PRD/SPEC antes de existirem Tasks somente quando houver fonte capturada ou derivação identificada por proveniência. Um valor \`estimated\`, \`legacy_inferred\` ou \`reconciled\` não é dado observado e não comprova medição da chamada. Quando duração, tokens ou custo não foram capturados, eles permanecem explicitamente indisponíveis (\`null\`/\`unavailable\`); nunca atribua telemetria ausente nem transforme ausência em zero. Pensar sem criar permanece apenas em Conversas.
570
+
571
+ ## Contagem de autonomia e consultas compactas
572
+
573
+ ### Leitura dos números do Dashboard
574
+
575
+ O total operacional de Tasks, a distribuição por risco e as contagens temporais
576
+ de Tasks usam a população sem rascunhos. Runs e custos já observados de um
577
+ rascunho continuam preservados; excluir a Task do indicador não apaga seu uso.
578
+ PRDs/SPECs em definição mantêm seu próprio contrato de contagem.
579
+
580
+ O rodapé de Provedores pertence à mesma consulta e aos mesmos filtros das
581
+ linhas, antes da paginação. Não é substituído pelo custo global: chamadas sem
582
+ atribuição ao provedor e outras populações podem tornar esses totais diferentes.
583
+ Valores parciais conhecidos não comprovam custo total nem saldo da conta.
584
+
585
+ O cartão de Tasks distingue \`complete\`, \`partial\` e \`unavailable\`. Uma soma
586
+ conhecida aparece no cartão compacto **Custo Estimado**, sem ícone. O tooltip e a
587
+ descrição acessível explicam a quantidade de Runs precificadas e a cobertura.
588
+ O subtítulo apresenta taxas estimadas de alocação: subtotal conhecido dividido pelo
589
+ número de tarefas e pelas horas registradas do mesmo recorte. Isso não estima os
590
+ custos faltantes nem representa a média de custos completos das tarefas. Cada
591
+ denominador indisponível ou zero deixa apenas sua taxa como \`—\`. Não completar
592
+ as Runs desconhecidas com zero nem apresentar o subtotal como gasto integral.
593
+ Um subtotal observado igual a zero é diferente de ausência total de medição.
594
+ SPECs/PRDs usam seus agregados próprios, não recebem o subtotal global de Tasks.
595
+
596
+ Rascunhos de Task sem execução permanecem consultáveis na lista, mas não ocupam
597
+ a coluna de Definição do Kanban: essa etapa pertence aos PRDs. A projeção de
598
+ provedor normaliza aliases de Codex tanto na atividade quanto nos segmentos de
599
+ uso; isso não altera identidade nem preços nos registros canônicos.
600
+
601
+ Enquanto uma consulta de médias está pendente, a interface mostra carregamento,
602
+ não zero. Zero observado, ausência de captura e carregamento são estados distintos.
603
+ A validação deve comparar API, linhas, rodapé e exportação no mesmo período,
604
+ moeda e filtro. Um processo saudável não comprova que o snapshot foi atualizado;
605
+ confirme também a revisão, a data da fonte e o estado da projeção.
606
+
607
+ O inventário SQLite recalcula hashes de arquivos recém-alterados: gravações
608
+ rápidas no Windows podem preservar tamanho, mtime e até ctime. Durante a janela
609
+ de estabilização de dois segundos não reutiliza o hash; a primeira leitura após
610
+ essa janela também confere o conteúdo antes de habilitar o cache histórico.
611
+ Checkpoints anteriores a essa proteção são revalidados. Verificação explícita
612
+ de conteúdo continua disponível; o cache não garante detectar adulteração de
613
+ metadados nem oferece semântica de filesystem distribuído.
614
+
615
+ As médias temporais são calculadas antes da paginação, sobre todo o período
616
+ filtrado. Mudar de página não altera a média. Para tokens e custo, o denominador
617
+ inclui os períodos com medição conhecida; ausência total permanece indisponível.
618
+
619
+ Tentativas/replanejamentos vêm do diário durável da Task; não de duração,
620
+ tokens, Calls ou contagem de testes. \`attempt_count\` do lifecycle mede outra
621
+ transição. Custo equivalente é uma estimativa, não saldo de créditos.
622
+
623
+ A CLI \`run list\`/\`run aggregate\` usa projeções de entidades Run, preservando
624
+ identidade, ordenação, filtros e métricas conhecidas/parciais. Campos obrigatórios
625
+ ausentes geram diagnóstico de rebuild explícito, não zeros sintéticos nem
626
+ leitura global oculta dos JSONLs. \`run show RUN-ID\` é inspeção canônica explícita.
627
+ \`source_latest_at\` e \`lag_ms\` precisam refletir a fonte, não a hora do refresh.
628
+
629
+ Isso não comprova custo O(1), economia de tokens ou o benchmark completo de
630
+ 20 pares da v3. Projeções, API, DOM e produção requerem provas próprias.
631
+
632
+ O Dashboard coleta uso de uma Run ativa por passagem, em rodízio a cada minuto
633
+ (\`run usage --active --limit 1 --disable-codex-raw\`). Esse orçamento de coleta
634
+ não limita a execução da tarefa. Com várias Runs ativas, a cobertura leva mais
635
+ de uma passagem; não prometa atualização simultânea ou custo O(1). Uma falha de
636
+ coleta aparece em \`active_capture_failure\`; falha de projeção aparece em
637
+ \`projection_refresh_failure\`. Dados canônicos continuam atualizáveis mesmo
638
+ quando a coleta falha, sem transformar a telemetria ausente em zero.
639
+ `,h=`# Instalação e upgrade
468
640
 
469
641
  1. Verifique versão atual e estado limpo ou conscientemente preservado.
470
642
  2. Execute doctor/integrity antes da mudança.
@@ -495,16 +667,21 @@ Os manuais instalados ficam em \`.agents/README.md\` (português) e
495
667
  Os READMEs da raiz pertencem ao projeto consumidor e são preservados.
496
668
  As versões geradas em \`public-cli/packages/cli/templates\` vêm das fontes canônicas.
497
669
 
498
- Novas instalações mantêm seleção de modelo em \`manual\`. Instalar ou atualizar
499
- não ativa Astra automaticamente. O opt-in \`auto\` aplica-se a SPEC/PRD e a allowlist
500
- Astra habilita somente diagnóstico \`high\`, limitado e evidenciado, conforme o
501
- [guia 23](23-orquestracao-de-modelos.md). Conversas e Tasks avulsas preservam a seleção do host.
670
+ Novos templates mantêm a seleção do principal em \`manual\` e configuram
671
+ \`execution.runtime: managed\` para PRD/SPEC, com
672
+ \`autonomy: { version: 1, preset: balanced }\`. São controles diferentes:
673
+ instalar/salvar o preset não inicia provider. O [guia 19](19-assurance-e-autonomia.md)
674
+ explica Essencial, Equilibrado e Persistente; o [guia 23](23-orquestracao-de-modelos.md)
675
+ detalha Astra/high nos replanejamentos e sua execução elegível no terceiro bloco.
676
+ O Essencial nunca usa Astra automático. Principal avulso preserva a seleção
677
+ manual; filhos necessários seguem política divulgada. Projetos e estados legados
678
+ não recebem migração silenciosa de quotas.
502
679
 
503
680
  \`@latest\` entrega o que está publicado no npm. Uma atualização local das fontes ou
504
681
  um pacote validado localmente só chegará a esse comando após publicação.
505
682
  Consulte [instalação detalhada](20-instalacao-detalhada.md) e
506
683
  [qualificação do pacote](26-qualidade-e-release.md).
507
- `,h=`# Boas praticas
684
+ `,g=`# Boas praticas
508
685
 
509
686
  - Comece pelo resultado e aceite, nao pela ferramenta.
510
687
  - Mantenha dominio independente de infraestrutura.
@@ -516,13 +693,164 @@ Consulte [instalação detalhada](20-instalacao-detalhada.md) e
516
693
  - Registre observação somente como resultado declarado e vinculado; ela não
517
694
  executa comandos, não examina automaticamente telas e não aprova um AC.
518
695
  Aplique o [contrato de prova observável](../../skills/zaip-skill-change/references/observable-evidence.md).
519
- - Nunca termine a Run raiz sem o Sub-Run finalizador ou com Task em executing/verifying.
696
+ - Em delivery/interação delegada, use Gui como último filho do responsável e
697
+ concilie a Task; conversa read-only sem filhos não precisa desse circuito.
520
698
  - Nao terminalize SPEC/PRD por causa do resultado isolado de uma Task filha.
521
699
  - Prefira reconciliacao manual sob demanda; hooks de escrita fazem checagem local sem varredura global.
522
700
  - Use uma SPEC por padrão; divida somente capacidades realmente independentes e paralelizáveis.
523
701
  - Não crie Tasks durante definição: mostre blueprints compactos e materialize somente em \`ready|execute\`.
524
702
  - Resolva verbos de lifecycle pelo alvo e status persistido, nunca por palavra isolada.
525
- `,g="# Troubleshooting\n\n1. Reproduza o problema com o menor comando possivel.\n2. Leia a mensagem completa e identifique o primeiro erro causal.\n3. Rode doctor, validadores focados e `git diff --check`.\n4. Confira versoes, paths, encoding, variaveis e arquivos gerenciados.\n5. Compare `manifest.json`, `summary.json`, índices e chunks de `records/lifecycle`, sem varrer records.\n6. Corrija a causa, repita a reproducao e depois os gates completos.\n\nSe 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.\n\nSe o problema for de instalacao ou integridade, consulte `framework.lock.yaml`.\n\nSe “finalizar” tentou entregar um PRD `draft`, confira adapters/skills: o correto é lapidar e mover para `ready`. Se uma DAG nova cruza SPECs, una as capacidades em uma SPEC e mantenha a dependência entre suas Tasks. PRD cancelado não reabre; crie sucessor `rework`.\n",_="# Tools e setup do Codex\n\n1. Peça ao agente para listar ou ativar uma tool; ele usa `$zaip-skill-tool-setup`.\n2. A skill lê somente catálogo e manifesto aplicável.\n3. MCP confiável é registrado desabilitado em `.codex/config.toml` e validado antes da ativação.\n4. API sem MCP confiável aciona `$zaip-skill-api-to-mcp` para gerar um adaptador seguro.\n5. Secrets nunca são coladas no chat; nomes ficam em `.agents/.env.example` e valores em armazenamento local ignorado.\n6. Alterações de configuração devem ser reversíveis e preservar preferências existentes.\n\nAtive por padrão apenas integrações públicas, read-only e sem autenticação, como documentação oficial. Browser/Playwright deve ser opt-in do perfil de desenvolvimento, pois inicia processos e amplia a superfície operacional.\n\n## MCP local gerado de API\n\n1. Modele um `adapter.yaml` a partir de documentação oficial; use o exemplo da skill API-to-MCP.\n2. Execute `scaffold-local-mcp.mjs` para gerar `definition.json`, `server.mjs` e `cli.mjs`.\n3. Rode `node .agents/tools/servers/<id>/cli.mjs doctor`.\n4. Faça chamadas read-only com `cli.mjs call <tool> '<json>'`.\n5. Gere um preview do Codex com `configure-local-mcp.mjs <id>`.\n6. Revise e aplique com `--write`; use `--enable` somente quando o doctor estiver pronto.\n\nO servidor usa STDIO, não abre porta e não exige deploy. Escritas ficam bloqueadas sem aprovação e `ZAIP_ALLOW_MCP_WRITES=1`.\n\n## Documentacao OpenAI\n\nO perfil default habilita `openaiDeveloperDocs` em `.codex/config.toml`, sem credencial e em modo read-only. Perguntas sobre OpenAI API, modelos, SDKs, Codex ou MCP devem acionar `$zaip-skill-openai-docs`, pesquisar o MCP oficial e citar a pagina consultada.\n",v="# Lifecycle e reconciliacao\n\n## Entradas\n\n- Conversation: pergunta, feedback ou análise read-only; captura uma interaction e Run sem Task artificial.\n- Task avulsa: resultado independente. Pedido de acao entra em Execucao antes da primeira escrita; pedido apenas de preparacao pode parar em Pronto para Executar.\n- SPEC: planejamento tecnico de multiplas Tasks; draft fica em Planejamento.\n- PRD: definicao de produto; draft fica em Definicao.\n\nPensar/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.\n\n## Colunas\n\n| Coluna | Entidades |\n|---|---|\n| Definicao | somente PRD draft |\n| Planejamento | somente SPEC draft |\n| Pronto para Executar | PRD/SPEC ready e Task avulsa nao iniciada |\n| Execucao | Task executing e SPEC/PRD active |\n| Verificacao | Task verifying ou macro nos gates parentais |\n| Finais | completed/delivered, blocked, failed ou cancelled |\n\n## Execution, Runs, Sub-Runs e Calls\n\n- Execution `interaction` registra conversa/definição; `delivery` coordena o trabalho materializado e sua DAG quando aplicável.\n- Run e a chamada raiz do `zaip-agent-orchestrator`; possui `parent_run_id` nulo.\n- Sub-Run e cada chamada de subagente; possui `parent_run_id` e compartilha o mesmo ledger `RUN-*`.\n- Novas gravacoes usam somente `run_role: intake|orchestrator|subagent`; `owner|contributor` sao valores historicos aceitos apenas na leitura e normalizados imediatamente.\n- `run_purpose` distingue `orchestration`, `execution`, `review`, `audit` e `finalization`.\n- cada Run/Sub-Run fixa agente, modelo e effort; mudanca deliberada abre outra chamada de agente.\n- Calls e ferramentas sao eventos internos; quantidade, tokens e custo ficam agregados na Run/Sub-Run, sem tela propria.\n\nToda delivery e interaction com descendentes exigem ao menos um executor\nelegível por capacidade e o `zaip-agent-finalizer` como último filho. Ele aguarda\nos demais descendentes, bloqueia novas chamadas e retorna a decisão restrita\npara a CLI aplicar. Interaction read-only sem descendentes termina após a\nresposta, sem executor/finalizador. Publicação puramente Git não cria lifecycle.\nStatus técnico da chamada de agente e resultado do trabalho são independentes.\n\n`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.\n\n`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`.\n\n## SPEC e PRD\n\nAo 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.\n\nObservações declaradas seguem o contrato de\n[prova observável](../../skills/zaip-skill-change/references/observable-evidence.md).\nElas não mudam status da Task nem permitem à reconciliação inferir sucesso.\n\nNovas SPECs de um PRD não possuem dependências entre si: são capacidades paralelizáveis e verificáveis isoladamente. Dependências e ordem ficam nas Tasks da mesma SPEC; integração final é gate parental.\n\n## Reconciliacao\n\nO popup Reconciliar chama `run reconcile --open` somente depois da confirmacao humana. Nao existe varredura ao abrir o dashboard, por turno ou por intervalo.\n\nO 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.\n\n## Mutacoes\n\nCodigo, documentacao e configuracao exigem Task materializada e Run raiz ativa antes da escrita. Sao isentos deploy/publicacao Git sem mudanca de produto, manifests e telemetria ZAIP gerados pelo lifecycle, metadados `.git`, caches, builds, testes e temporarios descartaveis. O hook pre-write faz checagem local do turno, sem tokens e sem reconciliacao global.\n",y=`# Como o custo é calculado
703
+
704
+ - Prefira uma investigação útil a repetir a mesma hipótese; conte reservas reais
705
+ pelo preset da Task, não por duração ou quantidade de testes.
706
+ - Não transforme tempo decorrido em falha nem incompletude em aprovação.
707
+ - Preserve o diário de autonomia; ele não é cache. Veja [guia 19](19-assurance-e-autonomia.md).
708
+ `,_=`# Troubleshooting
709
+
710
+ 1. Reproduza o problema com o menor comando possivel.
711
+ 2. Leia a mensagem completa e identifique o primeiro erro causal.
712
+ 3. Rode doctor, validadores focados e \`git diff --check\`.
713
+ 4. Confira versoes, paths, encoding, variaveis e arquivos gerenciados.
714
+ 5. Compare \`manifest.json\`, \`summary.json\`, índices e chunks de \`records/lifecycle\`, sem varrer records.
715
+ 6. Corrija a causa, repita a reproducao e depois os gates completos.
716
+
717
+ Se uma Task estiver presa em executing/verifying, use o popup Reconciliar. O reparo aceita \`task_complete\` exato, marca Run orfa apos dez minutos como failed e usa blocked quando faltam gates; nunca infere cancelamento. Nao habilite reconciliacao automatica por turno ou na abertura do dashboard.
718
+
719
+ Se o problema for de instalacao ou integridade, consulte \`framework.lock.yaml\`.
720
+
721
+ Se “finalizar” tentou entregar um PRD \`draft\`, confira adapters/skills: o correto é lapidar e mover para \`ready\`. Se uma DAG nova cruza SPECs, una as capacidades em uma SPEC e mantenha a dependência entre suas Tasks. PRD cancelado não reabre; crie sucessor \`rework\`.
722
+
723
+ ## Repetição, orçamento e recibos
724
+
725
+ | Sintoma | Diagnóstico e próxima ação |
726
+ | --- | --- |
727
+ | Task longa, ainda com trabalho real | Examine progresso/logs; não encerre apenas pela duração |
728
+ | \`RECOVERY_PENDING\` | Localize a reserva e resultado real; não despache outra invocação nem apague o diário |
729
+ | \`ATTEMPT_BUDGET_EXHAUSTED\` / \`REPLAN_BUDGET_EXHAUSTED\` | Confira o preset congelado e consumo; registre o resultado parcial sem reset |
730
+ | \`REPLAN_INCOMPLETE\` | Plano inválido não libera reparação; preserve a reserva consumida |
731
+ | Gui terminou sem recibo de início | Capture o evento real e use relay suportado com responsável aberto; não invente decisão |
732
+ | Responsável já fechado sem decisão | Recuperação autorizada/nova tentativa; reconciliação repetida não cria aprovação |
733
+ | Perfil Essencial tentou Astra automático | Rejeite a seleção; não trate fallback/herança como autorização |
734
+ | Snapshot de Runs incompleto | Rebuild explícito dos manifests; não invente campos ou faça varredura JSONL oculta na query |
735
+
736
+ A tolerância de dez minutos para Run órfã no reparo manual não é prazo de
737
+ desistência de Task em atividade. Um timeout operacional também não comprova
738
+ falha do produto. Veja [autonomia](19-assurance-e-autonomia.md) e
739
+ [relay de fechamento](16-lifecycle-e-reconciliacao.md).
740
+ `,v="# Tools e setup do Codex\n\n1. Peça ao agente para listar ou ativar uma tool; ele usa `$zaip-skill-tool-setup`.\n2. A skill lê somente catálogo e manifesto aplicável.\n3. MCP confiável é registrado desabilitado em `.codex/config.toml` e validado antes da ativação.\n4. API sem MCP confiável aciona `$zaip-skill-api-to-mcp` para gerar um adaptador seguro.\n5. Secrets nunca são coladas no chat; nomes ficam em `.agents/.env.example` e valores em armazenamento local ignorado.\n6. Alterações de configuração devem ser reversíveis e preservar preferências existentes.\n\nAtive por padrão apenas integrações públicas, read-only e sem autenticação, como documentação oficial. Browser/Playwright deve ser opt-in do perfil de desenvolvimento, pois inicia processos e amplia a superfície operacional.\n\n## MCP local gerado de API\n\n1. Modele um `adapter.yaml` a partir de documentação oficial; use o exemplo da skill API-to-MCP.\n2. Execute `scaffold-local-mcp.mjs` para gerar `definition.json`, `server.mjs` e `cli.mjs`.\n3. Rode `node .agents/tools/servers/<id>/cli.mjs doctor`.\n4. Faça chamadas read-only com `cli.mjs call <tool> '<json>'`.\n5. Gere um preview do Codex com `configure-local-mcp.mjs <id>`.\n6. Revise e aplique com `--write`; use `--enable` somente quando o doctor estiver pronto.\n\nO servidor usa STDIO, não abre porta e não exige deploy. Escritas ficam bloqueadas sem aprovação e `ZAIP_ALLOW_MCP_WRITES=1`.\n\n## Documentacao OpenAI\n\nO perfil default habilita `openaiDeveloperDocs` em `.codex/config.toml`, sem credencial e em modo read-only. Perguntas sobre OpenAI API, modelos, SDKs, Codex ou MCP devem acionar `$zaip-skill-openai-docs`, pesquisar o MCP oficial e citar a pagina consultada.\n",y=`# Lifecycle e reconciliacao
741
+
742
+ ## Entradas
743
+
744
+ - Conversation: pergunta, feedback ou análise read-only; captura uma interaction e Run sem Task artificial.
745
+ - Task avulsa: resultado independente. Pedido de acao entra em Execucao antes da primeira escrita; pedido apenas de preparacao pode parar em Pronto para Executar.
746
+ - SPEC: planejamento tecnico de multiplas Tasks; draft fica em Planejamento.
747
+ - PRD: definicao de produto; draft fica em Definicao.
748
+
749
+ Pensar/explorar PRD ou SPEC é Conversation. Criar explicitamente persiste macro, SPECs e PreparedPlan \`draft\`, atribui telemetria e mantém apenas blueprints de Tasks. \`ready\` é o único ponto que materializa Tasks/Changes/Execution sem iniciar; \`execute\` materializa e inicia.
750
+
751
+ ## Colunas
752
+
753
+ | Coluna | Entidades |
754
+ |---|---|
755
+ | Definicao | somente PRD draft |
756
+ | Planejamento | somente SPEC draft |
757
+ | Pronto para Executar | PRD/SPEC ready e Task planned nunca iniciada/tentada, avulsa ou da DAG |
758
+ | Execucao | Task executing e SPEC/PRD active |
759
+ | Verificacao | Task verifying ou macro nos gates parentais |
760
+ | Finais | completed/delivered, blocked, failed ou cancelled |
761
+
762
+ ## Execution, Runs, Sub-Runs e Calls
763
+
764
+ - Execution \`interaction\` registra conversa/definição; \`delivery\` coordena o trabalho materializado e sua DAG quando aplicável.
765
+ - Run e a chamada raiz do \`zaip-agent-orchestrator\`; possui \`parent_run_id\` nulo.
766
+ - Sub-Run e cada chamada de subagente; possui \`parent_run_id\` e compartilha o mesmo ledger \`RUN-*\`.
767
+ - Novas gravacoes usam somente \`run_role: intake|orchestrator|subagent\`; \`owner|contributor\` sao valores historicos aceitos apenas na leitura e normalizados imediatamente.
768
+ - \`run_purpose\` distingue \`orchestration\`, \`execution\`, \`review\`, \`audit\` e \`finalization\`.
769
+ - cada Run/Sub-Run fixa agente, modelo e effort; mudanca deliberada abre outra chamada de agente.
770
+ - Calls e ferramentas sao eventos internos; quantidade, tokens e custo ficam agregados na Run/Sub-Run, sem tela propria.
771
+
772
+ Toda delivery e interaction delegada exige o \`zaip-agent-finalizer\` como último filho.
773
+ Sucesso também exige executor elegível por capacidade ou raiz Task direta autorizada. Gui aguarda
774
+ os demais descendentes, bloqueia novas chamadas e retorna a decisão restrita
775
+ para a CLI aplicar. Interaction read-only sem descendentes termina após a
776
+ resposta, sem executor/finalizador. Publicação puramente Git não cria lifecycle.
777
+ Status técnico da chamada de agente e resultado do trabalho são independentes.
778
+
779
+ Se nenhum executor pôde iniciar e não há raiz Task direta autorizada válida,
780
+ Gui ainda pode registrar bloqueio/falha real, mas \`executor_missing\` impede
781
+ \`completed\` mesmo com Evidence aprovada. Uma raiz direta válida satisfaz essa
782
+ alternativa, sem dispensar os demais gates. \`conversation finish\` e \`run finish\` usam o mesmo escritor
783
+ canônico, preservando a decisão imutável, os vínculos e o replay idempotente.
784
+
785
+ ## Execução direta autorizada
786
+
787
+ A Task avulsa prefere o principal direto. O host registra a referência humana
788
+ com \`--direct-authorization REFERÊNCIA\` em \`conversation start\` ou \`run start\`,
789
+ desde o início de uma raiz Task/Change/Execution observada. Thread, modelo ou
790
+ classificação de intenção não são autorização por si só. Modelo/esforço manuais
791
+ observados, inclusive \`ultra\`, são preservados sem ampliar a allowlist automática.
792
+ Raiz macro, filho ou captura incompleta não recebem esse contrato.
793
+
794
+ Gui pode avaliar essa entrega sem um executor filho fictício. Evidências,
795
+ revisão aplicável, candidato, descendentes terminados e decisão imutável continuam
796
+ necessários. Raízes antigas fechadas não recebem nova aprovação retroativa.
797
+
798
+ \`blocked\` e retomavel com \`task resume\`; \`failed\` exige \`task rework\` na mesma Task e nova tentativa. \`completed\` e \`cancelled\` sao imutaveis. Interromper geracao bloqueia; cancelar a Task explicitamente cancela.
799
+
800
+ \`finalize|conclua\` em macro \`draft|ready\` significa lapidar e deixar pronto; em trabalho ativo, “conclua a execução/finalize a implementação” continua Tasks e gates. \`implemente\` é sensível ao estado; \`desenvolva|melhore|aprimore\` sempre planeja/refina/rework. PRD cancelado gera sucessor vinculado com tag \`rework\`.
801
+
802
+ ## SPEC e PRD
803
+
804
+ Ao iniciar a primeira Task filha, os pais ficam active/Execucao e permanecem assim entre Runs. Task bloqueada ou falhada nao bloqueia automaticamente o pai. Depois que todas as Tasks concluem, SPEC/PRD entram em verificacao parental; apenas gates de integracao, Acceptance Criteria, outcomes e Evidence entregam o macro.
805
+
806
+ Observações declaradas seguem o contrato de
807
+ [prova observável](../../skills/zaip-skill-change/references/observable-evidence.md).
808
+ Elas não mudam status da Task nem permitem à reconciliação inferir sucesso.
809
+
810
+ Novas SPECs de um PRD não possuem dependências entre si: são capacidades paralelizáveis e verificáveis isoladamente. Dependências e ordem ficam nas Tasks da mesma SPEC; integração final é gate parental.
811
+
812
+ ## Reconciliacao
813
+
814
+ O popup Reconciliar chama \`run reconcile --open\` somente depois da confirmacao humana. Nao existe varredura ao abrir o dashboard, por turno ou por intervalo.
815
+
816
+ O reparo e idempotente: \`task_complete\` local exato permite tentar conclusao; gate insuficiente usa blocked; Run sem invocacao ativa por dez minutos usa failed; cancelled nunca e inferido. Projecoes exibem o status persistido e nao revivem Task terminal por atividade local obsoleta.
817
+
818
+ ## Mutacoes
819
+
820
+ Codigo, documentacao e configuracao exigem Task materializada e Run raiz ativa antes da escrita. Sao isentos deploy/publicacao Git sem mudanca de produto, manifests e telemetria ZAIP gerados pelo lifecycle, metadados \`.git\`, caches, builds, testes e temporarios descartaveis. O hook pre-write faz checagem local do turno, sem tokens e sem reconciliacao global.
821
+
822
+ ## Um responsável e uma decisão real por tentativa
823
+
824
+ Se a raiz já está atribuída à Task, ela é seu orquestrador: não crie outro Dave.
825
+ O macro delega um responsável por Task elegível, com pai e profundidade reais.
826
+ Executor/revisor retornam resultados; Gui é o último filho direto do responsável,
827
+ irmão dos trabalhadores. O fechamento parental do PRD/SPEC é outro gate.
828
+
829
+ A ordem canônica é **início observado → decisão real → Stop → fechamento**.
830
+ Gui read-only avalia e retorna; não grava lifecycle nem precisa permanecer
831
+ ativo esperando um recibo. O host autorizado retransmite a decisão com
832
+ \`subagent capture --event stop\`, usando identidade rica real e campos
833
+ \`--task-outcome\`, \`--summary\`, \`--evidence\` e \`--changed-files\`.
834
+ A CLI autentica vínculos e persiste a decisão imutável antes do Stop canônico.
835
+
836
+ - Gui nativamente terminal ainda pode ter sua decisão retransmitida se o
837
+ responsável estiver aberto. Status nativo \`completed\` não é aprovação.
838
+ - Responsável fechado só aceita replay de decisão já persistida. Sem decisão,
839
+ requer recuperação/nova tentativa autorizada; não invente aprovação retroativa.
840
+ - Gui sem decisão, executor inelegível, Evidence ausente/mista ou correlação
841
+ inválida continua bloqueando; nenhum recibo pode ser fabricado.
842
+ - No gerenciado, \`closure_pending\` retoma apenas a conciliação da decisão,
843
+ sem despachar outro worker/reviewer/Gui.
844
+ - Se a persistência falhar, mantenha evento/erro recuperável e condição objetiva;
845
+ não declare que o estado canônico mudou antes de lê-lo.
846
+
847
+ A política prefere Task avulsa direta. Uma raiz de delivery com Task, Change,
848
+ Execution, turno e modelo observados pode registrar \`--direct-authorization\`
849
+ no início. Esse contrato imutável satisfaz a alternativa ao executor capturado,
850
+ sem criar Sub-Run fictício nem converter retrospectivamente uma raiz antiga.
851
+ Revisão aplicável, Evidence e decisão real de Gui continuam obrigatórias;
852
+ uma autorização humana apenas no texto não substitui o contrato capturado.
853
+ `,b=`# Como o custo é calculado
526
854
 
527
855
  Cada estimativa de custo começa em tokens de uma chamada LLM capturados por fonte aceita. O dashboard não estima uso ausente: tokens ou custo sem os componentes necessários permanecem indisponíveis. Uma duração estimada é uma derivação identificada por proveniência e não preenche telemetria de uso.
528
856
 
@@ -554,9 +882,182 @@ O esforço não possui multiplicador direto de preço. Ele só pode aumentar o c
554
882
  ## 4. Converta para a moeda selecionada
555
883
 
556
884
  O total da chamada é calculado primeiro em USD. Em BRL, a estimativa exige uma cotação identificada; a cotação histórica registrada e a cotação corrente são fontes distintas. Mudar a moeda de exibição nunca altera a telemetria de tokens nem o cálculo em USD.
557
- `,b='# Catálogo de agentes\n\n`.agents/config/agents/catalog.yaml` é a única fonte canônica dos agentes ZAIP. Adapters Codex e Claude são projeções geradas: depois de qualquer alteração no catálogo, execute `node packages/cli/dist/index.js adapters build` e valide com `node packages/cli/dist/index.js adapters check --json`.\n\n## Identidade técnica e persona\n\nCada agente possui identidade técnica estável: `id` e `codex_name`. A persona editável é `persona.nome` e `persona.cargo`, ambos em snake_case. Ela produz, sem crescimento entre invocações, o `codex_task_name` e exatamente um candidato idêntico:\n\n```text\ncodex_task_name = "{nome}_{cargo}_zaip_agent"\nnickname_candidates = ["{nome}_{cargo}_zaip_agent"]\n```\n\nO schema e a API rejeitam um task name ou nickname manual, múltiplos candidatos ou valores que não sejam a derivação acima. O Dashboard omite esses campos no payload e envia somente a persona; uma edição de persona preserva a identidade técnica. Snapshots de Run usam a identidade de catálogo observada e não inventam persona.\n\n## Agentes canônicos\n\n| person | função | zaip-agent | codex_task_name | descrição resumida da função | quando chamar | quando não chamar | palavras-chave importantes para acionar agent |\n| --- | --- | --- | --- | --- | --- | --- |\n| Dave | Product Owner | `zaip-agent-orchestrator` | `dave_product_owner_zaip_agent` | Organiza a entrega, resolve a DAG e delega com menor privilégio. | Trabalho executável com mais de uma etapa ou especialista. | Implementação direta, revisão ou aprovação. | `orchestration`, `dag`, `delegation`, `lifecycle` |\n| Rafa | Tech Lead | `zaip-agent-builder` | `rafa_tech_lead_zaip_agent` | Cria/refina SPECs e executa delivery genérico, inclusive dashboard/local. | Definição técnica ou mudança sem especialista mais específico. | PRD, design central, website, frontend ou backend especializados. | `spec`, `architecture`, `decomposition`, `dashboard`, `local` |\n| Leo | Software Engineer | `zaip-agent-task-executor` | `leo_software_engineer_zaip_agent` | Executa Task genérica delimitada, inclusive dashboard/local, e produz evidência. | Task pronta, autocontida e sem escopo de especialista obrigatório. | Planejamento macro, coordenação ou revisão independente. | `task`, `implementation`, `verification`, `evidence`, `local` |\n| Bia | Product Manager | `zaip-agent-analyst` | `bia_product_manager_zaip_agent` | Cria/refina PRDs e analisa interações sem antecipar Tasks de delivery. | Problema de produto, PRD, descoberta, escopo ou refinamento. | SPEC, implementação, aprovação técnica ou deploy. | `prd`, `product`, `discovery`, `requirements`, `problem` |\n| Gui | Quality Assurance Lead | `zaip-agent-finalizer` | `gui_quality_assurance_lead_zaip_agent` | Avalia a barreira final e emite somente o resultado terminal permitido. | Obrigatoriamente como último Sub-Run de interação ou delivery. | Antes de executor/revisor terminar ou para corrigir código. | `finalization`, `terminal`, `barrier`, `task-finalizer` |\n| Nanda | Principal Engineer | `zaip-agent-reviewer` | `nanda_principal_engineer_zaip_agent` | Revisa Requirements, diff, testes e evidências sem mutar produto. | Mudança implementada que precisa de revisão independente. | Para implementar a própria correção ou integrar worktrees. | `review`, `findings`, `requirements`, `diff` |\n| Dani | Integration Engineer | `zaip-agent-integrator` | `dani_integration_engineer_zaip_agent` | Integra trabalho revisado e executa gates combinados. | Worktrees ou mudanças independentes já revisadas. | Antes da revisão ou para criar requisitos. | `integration`, `merge`, `combined-gates`, `worktree` |\n| Ana | Quality Auditor | `zaip-agent-auditor` | `ana_quality_auditor_zaip_agent` | Reproduz evidências e emite auditoria independente. | Risco alto, release ou alegação que exige reprodução final. | Implementação, correção ou autoria da evidência. | `audit`, `reproduce`, `release`, `quality` |\n| Lia | Technical Writer | `zaip-agent-writer` | `lia_technical_writer_zaip_agent` | Produz resumo fiel, análise de transcrição com timestamps e documentação grounded em fontes. | Resumo delimitado, transcrição timestampada ou documentação com fontes declaradas. | Pesquisa sem fontes, decisão de produto ou afirmações não suportadas. | `summary`, `transcript`, `timestamps`, `source-grounding`, `documentation` |\n| Gabi | Data Analyst | `zaip-agent-data-analyst` | `gabi_data_analyst_zaip_agent` | Analisa datasets delimitados com método, incerteza e reprodução. | Métricas, dados estruturados ou diagnóstico quantitativo. | Sem dados, para implementar produto ou editar dashboard. | `data`, `metrics`, `analysis`, `dataset` |\n| Tati | Refactoring Specialist | `zaip-agent-refactoring-specialist` | `tati_refactoring_specialist_zaip_agent` | Planeja e executa refactors, migrações e modularização com inventário, mapa, slices reversíveis e gates. | Refactor, migração, arquitetura, modularização ou inventário de código. | Mudança pontual sem refactor, UI central de design ou deploy. | `refactor`, `migration`, `modularization`, `inventory`, `refactor-map`, `rollback` |\n| Doug | Frontend Specialist | `zaip-agent-frontend` | `doug_frontend_specialist_zaip_agent` | Implementa somente `apps/frontend/**`, acessibilidade e integração conforme `DESIGN.md`. | `apps/frontend/**` ou capability explícita de frontend. | Dashboard/local, website institucional, backend ou regra central de design. | `frontend`, `ui`, `accessibility`, `visual-contract` |\n| Will | Backend Specialist | `zaip-agent-backend` | `will_backend_specialist_zaip_agent` | Implementa backend, APIs, persistência e integrações. | `apps/backend/**`, `modules/**` ou capability de backend. | Frontend, website ou design visual central. | `backend`, `api`, `persistence`, `integration` |\n| Jonny | Website Developer | `zaip-agent-website-developer` | `jonny_website_developer_zaip_agent` | Cria sites/LPs com stack do framework, SEO, GEO e acesso por agentes. | `apps/site/**`, site institucional, LP, SEO, GEO ou Markdown for Agents. | App de produto, backend ou mudança da regra central de design. | `website`, `landing-page`, `seo`, `geo`, `markdown-for-agents`, `agent-readiness` |\n| Manu | Product Designer | `zaip-agent-designer` | `manu_product_designer_zaip_agent` | Governa `DESIGN.md`, design tokens (cor, tipografia, espaçamento e raio), componentes centrais e páginas de catálogo digital. | Regra central de design, Design System, tokens, `design-system` ou `componentes`. | Word, PPT, imagem de marketing ou componente local que apenas consome regras existentes. | `design-system`, `design.md`, `tokens`, `central-components`, `componentes` |\n\n| Dan | Cloud Engineer | `zaip-agent-cloud-engineer` | `dan_cloud_engineer_zaip_agent` | Projeta e valida infraestrutura cloud declarada. | Infraestrutura cloud, provisionamento, containers, Terraform ou Docker. | Implementação de aplicação, deploy ou infraestrutura fora do escopo declarado. | `cloud`, `terraform`, `docker`, `provisioning` |\n| Luiz | Security Auditor | `zaip-agent-security-auditor` | `luiz_security_auditor_zaip_agent` | Audita segurança de forma independente e somente leitura. | Auditoria de segurança, mudança sensível ou release que exige avaliação independente. | Implementação, autoria de remediação ou deploy. | `security`, `audit`, `risk`, `release` |\n| Lucia | Marketing Analyst | `zaip-agent-marketing-analyst` | `lucia_marketing_analyst_zaip_agent` | Planeja marketing, copy, campanhas e briefs de imagem com evidência. | Estratégia de marketing, campanha, copy de landing page ou brief de imagem. | Implementação de produto, backend ou governança central de design. | `marketing`, `copy`, `campaign`, `image-brief` |\n| Sarah | Branding Specialist | `zaip-agent-brand-strategist` | `sarah_branding_specialist_zaip_agent` | Define e governa plataforma de marca, Brandbook, posicionamento, arquétipos, diferencial semântico e arquitetura de marca com evidências. | Estratégia ou governança de marca, Brandbook, posicionamento, arquétipos, arquitetura de marca ou consistência de identidade como decisão principal. | Aplicação rotineira de marca aprovada, campanha, script comercial, análise quantitativa bruta ou documento geral sem decisão de marca. | `branding`, `brandbook`, `positioning`, `archetypes`, `semantic-differential`, `brand-architecture` |\n| Robert | Growth Strategist | `zaip-agent-growth-strategist` | `robert_growth_strategist_zaip_agent` | Orienta estratégia de crescimento, RevOps, experimentos, receita, custos e recomendações executivas baseadas em dados. | Estratégia de negócio, Growth, RevOps, modelo de negócio, priorização de portfólio ou impacto financeiro como decisão principal. | Campanha ou conteúdo, Brandbook, playbook comercial, validação quantitativa bruta ou ato comercial externo. | `growth`, `revops`, `experimentation`, `revenue`, `cost-optimization`, `business-strategy` |\n| Aaron | Sales Specialist | `zaip-agent-sales-specialist` | `aaron_sales_specialist_zaip_agent` | Cria processos, playbooks, qualificação, scripts, enablement e handoffs comerciais internos. | Metodologia comercial, qualificação, negociação preparada, processo SDR/closer, script, playbook ou handoff de pipeline. | Estratégia de Growth/RevOps, campanha ou copy de marketing, governança de marca, análise bruta de dados, política jurídica ou ato comercial externo. | `sales`, `qualification`, `sales-playbook`, `sales-script`, `sdr`, `closer`, `pipeline-handoff` |\n| Clara | Operations Generalist | `zaip-agent-general-operations` | `clara_operations_generalist_zaip_agent` | Executa artefatos operacionais delimitados fora de escopos especialistas: documentos, apresentações, planilhas, processos e comparativos. | Documento, apresentação, planilha, processo ou pesquisa comparativa sem capability especialista obrigatória. | Produto, design-system, marketing, dados, segurança, cloud, jurídico vinculante ou ato externo. | `operations`, `document`, `presentation`, `spreadsheet`, `process`, `comparison` |\n| Renata | Governance Compliance Specialist | `zaip-agent-governance-compliance` | `renata_governance_compliance_specialist_zaip_agent` | Prepara artefatos internos não vinculantes de RH, jurídico operacional, política, privacidade, fornecedores e risco. | Minuta, checklist, matriz de risco ou pacote interno de aprovação sem ato externo. | Parecer jurídico vinculante, assinatura, representação, protocolo, contratação ou decisão humana. | `governance`, `compliance`, `hr`, `legal-operations`, `privacy`, `vendor`, `risk` |\n\n## Squads organizacionais\n\nO catálogo contém 23 agentes agrupados visualmente em seis squads: **Product** (3), **Admin & Operations** (3), **Development** (6), **Delivery Assurance** (4), **Infra & Security** (2) e **Growth — Sales, Marketing and Branding** (5). A soma é 23.\n\nOs squads facilitam a leitura organizacional e a colaboração humana. Eles não são uma fonte de roteamento: `selectAgentForWork` continua a escolher o agente exclusivamente pelas capabilities mandatórias, escopos explícitos, prioridade e ID; cada agente conserva seus write scopes e permissões.\n\n## Roteamento determinístico\n\n`selectAgentForWork` deriva uma capacidade mandatória a partir de escopos explícitos antes de aplicar a seleção ordenada por prioridade e ID.\n\n- `.agents/design/*`, `.agents/design/**`, `DESIGN.md`, `tokens.json`, `apps/catalog/**` ou capability explícita de Design System/tokens/componentes/páginas seleciona Manu. Manu é a regra visual central; Doug somente a consome em `apps/frontend/**`.\n- `apps/site/**` ou capability explícita `website-delivery`, SEO, GEO, Markdown for Agents ou Agent Readiness seleciona Jonny.\n- `apps/frontend/**` seleciona Doug quando a capability é frontend; `apps/backend/**` e `modules/**` selecionam Will quando a capability é backend.\n- Capabilities de governança, RH, jurídico operacional, políticas, privacidade, fornecedores ou riscos selecionam Renata. Ela prepara o pacote revisável e a ação humana necessária, mas não executa ato vinculante ou externo.\n- Capabilities de plataforma ou governança de marca, Brandbook, posicionamento, arquitetura de marca, arquétipos ou diferencial semântico selecionam Sarah. Ela governa a identidade e encaminha aplicação de design system para Manu e ativação de marketing para Lucia.\n- Capabilities de estratégia de Growth, RevOps, experimentação, receita, custo, funil, unit economics ou recomendação executiva selecionam Robert. Dados quantitativos delimitados continuam com Gabi, e processos comerciais internos com Aaron.\n- Capabilities de metodologia comercial, qualificação, playbooks, scripts, SDR, closer ou handoff de pipeline selecionam Aaron. Ele não realiza ato comercial externo nem substitui Sarah, Lucia, Robert ou Gabi em suas fronteiras especializadas.\n- Capabilities de documentos, apresentações, planilhas, processos e comparativos — ou trabalho delimitado sem capability explícita e sem escopo obrigatório — selecionam Clara como fallback operacional contínuo.\n- Um diretório chamado `components` fora dos alvos canônicos não aciona Manu. O orquestrador usa a capability solicitada e os write scopes da Task.\n- `.agents/dashboard/**` e `.local/**` não selecionam Doug nem Manu: permanecem com Rafa ou Leo até que a Task declare um escopo obrigatório; artefatos operacionais não técnicos podem selecionar Clara.\n\nO orquestrador mantém a Run raiz e cada Run delegada separadas na observabilidade. Duração, tokens e custo só são agregados quando observados ou reconciliados; ausência continua indisponível, nunca zero.\n\nO dispatch autônomo passa os `Task.write_scopes` a essa seleção **por Task** e persiste o builder escolhido na entrada de cada Task. Assim uma DAG com frontend e backend usa Doug e Will nas respectivas invocações, sem transformar a seleção de uma Task em builder global. A seleção é determinística, mas não concede autoridade: o agente ainda precisa respeitar seus write scopes e permissões do catálogo.\n\nO `budget.soft_cycles` também acompanha o agente selecionado por Task e governa seu checkpoint suave. Tokens continuam observados para telemetria e custo, mas não interrompem nem exigem checkpoint. Para comparar agentes, use `zaip run aggregate --agent agent-ID`; o resultado inclui duração coberta, ciclos de uso observados, tokens, custo, cobertura e Runs de rework.\n\nNanda (`agent-reviewer`) usa `gpt-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.\n\n## Dashboard e segurança operacional\n\nA tela **Configurações > Catálogo de agentes** apresenta a persona e mantém a identidade técnica somente leitura. Ao salvar, o runtime valida o catálogo, deriva o único nickname, sincroniza adapters e reverte a escrita se a paridade falhar. Agentes de framework permitem alteração de persona e preferências de modelo/effort; propósito, capacidades e identidade técnica continuam protegidos.\n',x=`# Assurance adaptativa e autonomia opt-in
885
+ `,x='# Catálogo de agentes\n\n`.agents/config/agents/catalog.yaml` é a única fonte canônica dos agentes ZAIP. Adapters Codex e Claude são projeções geradas: depois de qualquer alteração no catálogo, execute `node packages/cli/dist/index.js adapters build` e valide com `node packages/cli/dist/index.js adapters check --json`.\n\n## Identidade técnica e persona\n\nCada agente possui identidade técnica estável: `id` e `codex_name`. A persona editável é `persona.nome` e `persona.cargo`, ambos em snake_case. Ela produz, sem crescimento entre invocações, o `codex_task_name` e exatamente um candidato idêntico:\n\n```text\ncodex_task_name = "{nome}_{cargo}_zaip_agent"\nnickname_candidates = ["{nome}_{cargo}_zaip_agent"]\n```\n\nO schema e a API rejeitam um task name ou nickname manual, múltiplos candidatos ou valores que não sejam a derivação acima. O Dashboard omite esses campos no payload e envia somente a persona; uma edição de persona preserva a identidade técnica. Snapshots de Run usam a identidade de catálogo observada e não inventam persona.\n\n## Agentes canônicos\n\n| person | função | zaip-agent | codex_task_name | descrição resumida da função | quando chamar | quando não chamar | palavras-chave importantes para acionar agent |\n| --- | --- | --- | --- | --- | --- | --- |\n| Dave | Product Owner | `zaip-agent-orchestrator` | `dave_product_owner_zaip_agent` | Organiza a entrega, resolve a DAG e delega com menor privilégio. | Trabalho executável com mais de uma etapa ou especialista. | Implementação direta, revisão ou aprovação. | `orchestration`, `dag`, `delegation`, `lifecycle` |\n| Rafa | Tech Lead | `zaip-agent-builder` | `rafa_tech_lead_zaip_agent` | Cria/refina SPECs e executa delivery genérico, inclusive dashboard/local. | Definição técnica ou mudança sem especialista mais específico. | PRD, design central, website, frontend ou backend especializados. | `spec`, `architecture`, `decomposition`, `dashboard`, `local` |\n| Leo | Software Engineer | `zaip-agent-task-executor` | `leo_software_engineer_zaip_agent` | Executa Task genérica delimitada, inclusive dashboard/local, e produz evidência. | Task pronta, autocontida e sem escopo de especialista obrigatório. | Planejamento macro, coordenação ou revisão independente. | `task`, `implementation`, `verification`, `evidence`, `local` |\n| Bia | Product Manager | `zaip-agent-analyst` | `bia_product_manager_zaip_agent` | Cria/refina PRDs e analisa interações sem antecipar Tasks de delivery. | Problema de produto, PRD, descoberta, escopo ou refinamento. | SPEC, implementação, aprovação técnica ou deploy. | `prd`, `product`, `discovery`, `requirements`, `problem` |\n| Gui | Quality Assurance Lead | `zaip-agent-finalizer` | `gui_quality_assurance_lead_zaip_agent` | Avalia a barreira final e emite somente o resultado terminal permitido. | Último filho do responsável em delivery ou interaction delegada; não em conversa read-only sem filhos. | Antes de executor/revisor terminar ou para corrigir código. | `finalization`, `terminal`, `barrier`, `task-finalizer` |\n| Nanda | Principal Engineer | `zaip-agent-reviewer` | `nanda_principal_engineer_zaip_agent` | Revisa Requirements, diff, testes e evidências sem mutar produto. | Mudança implementada que precisa de revisão independente. | Para implementar a própria correção ou integrar worktrees. | `review`, `findings`, `requirements`, `diff` |\n| Dani | Integration Engineer | `zaip-agent-integrator` | `dani_integration_engineer_zaip_agent` | Integra trabalho revisado e executa gates combinados. | Worktrees ou mudanças independentes já revisadas. | Antes da revisão ou para criar requisitos. | `integration`, `merge`, `combined-gates`, `worktree` |\n| Ana | Quality Auditor | `zaip-agent-auditor` | `ana_quality_auditor_zaip_agent` | Reproduz evidências e emite auditoria independente. | Risco alto, release ou alegação que exige reprodução final. | Implementação, correção ou autoria da evidência. | `audit`, `reproduce`, `release`, `quality` |\n| Lia | Technical Writer | `zaip-agent-writer` | `lia_technical_writer_zaip_agent` | Produz resumo fiel, análise de transcrição com timestamps e documentação grounded em fontes. | Resumo delimitado, transcrição timestampada ou documentação com fontes declaradas. | Pesquisa sem fontes, decisão de produto ou afirmações não suportadas. | `summary`, `transcript`, `timestamps`, `source-grounding`, `documentation` |\n| Gabi | Data Analyst | `zaip-agent-data-analyst` | `gabi_data_analyst_zaip_agent` | Analisa datasets delimitados com método, incerteza e reprodução. | Métricas, dados estruturados ou diagnóstico quantitativo. | Sem dados, para implementar produto ou editar dashboard. | `data`, `metrics`, `analysis`, `dataset` |\n| Tati | Refactoring Specialist | `zaip-agent-refactoring-specialist` | `tati_refactoring_specialist_zaip_agent` | Planeja e executa refactors, migrações e modularização com inventário, mapa, slices reversíveis e gates. | Refactor, migração, arquitetura, modularização ou inventário de código. | Mudança pontual sem refactor, UI central de design ou deploy. | `refactor`, `migration`, `modularization`, `inventory`, `refactor-map`, `rollback` |\n| Doug | Frontend Specialist | `zaip-agent-frontend` | `doug_frontend_specialist_zaip_agent` | Implementa somente `apps/frontend/**`, acessibilidade e integração conforme `DESIGN.md`. | `apps/frontend/**` ou capability explícita de frontend. | Dashboard/local, website institucional, backend ou regra central de design. | `frontend`, `ui`, `accessibility`, `visual-contract` |\n| Will | Backend Specialist | `zaip-agent-backend` | `will_backend_specialist_zaip_agent` | Implementa backend, APIs, persistência e integrações. | `apps/backend/**`, `modules/**` ou capability de backend. | Frontend, website ou design visual central. | `backend`, `api`, `persistence`, `integration` |\n| Jonny | Website Developer | `zaip-agent-website-developer` | `jonny_website_developer_zaip_agent` | Cria sites/LPs com stack do framework, SEO, GEO e acesso por agentes. | `apps/site/**`, site institucional, LP, SEO, GEO ou Markdown for Agents. | App de produto, backend ou mudança da regra central de design. | `website`, `landing-page`, `seo`, `geo`, `markdown-for-agents`, `agent-readiness` |\n| Manu | Product Designer | `zaip-agent-designer` | `manu_product_designer_zaip_agent` | Governa `DESIGN.md`, design tokens (cor, tipografia, espaçamento e raio), componentes centrais e páginas de catálogo digital. | Regra central de design, Design System, tokens, `design-system` ou `componentes`. | Word, PPT, imagem de marketing ou componente local que apenas consome regras existentes. | `design-system`, `design.md`, `tokens`, `central-components`, `componentes` |\n| Dan | Cloud Engineer | `zaip-agent-cloud-engineer` | `dan_cloud_engineer_zaip_agent` | Projeta e valida infraestrutura cloud declarada. | Infraestrutura cloud, provisionamento, containers, Terraform ou Docker. | Implementação de aplicação, deploy ou infraestrutura fora do escopo declarado. | `cloud`, `terraform`, `docker`, `provisioning` |\n| Luiz | Security Auditor | `zaip-agent-security-auditor` | `luiz_security_auditor_zaip_agent` | Audita segurança de forma independente e somente leitura. | Auditoria de segurança, mudança sensível ou release que exige avaliação independente. | Implementação, autoria de remediação ou deploy. | `security`, `audit`, `risk`, `release` |\n| Lucia | Marketing Analyst | `zaip-agent-marketing-analyst` | `lucia_marketing_analyst_zaip_agent` | Planeja marketing, copy, campanhas e briefs de imagem com evidência. | Estratégia de marketing, campanha, copy de landing page ou brief de imagem. | Implementação de produto, backend ou governança central de design. | `marketing`, `copy`, `campaign`, `image-brief` |\n| Sarah | Branding Specialist | `zaip-agent-brand-strategist` | `sarah_branding_specialist_zaip_agent` | Define e governa plataforma de marca, Brandbook, posicionamento, arquétipos, diferencial semântico e arquitetura de marca com evidências. | Estratégia ou governança de marca, Brandbook, posicionamento, arquétipos, arquitetura de marca ou consistência de identidade como decisão principal. | Aplicação rotineira de marca aprovada, campanha, script comercial, análise quantitativa bruta ou documento geral sem decisão de marca. | `branding`, `brandbook`, `positioning`, `archetypes`, `semantic-differential`, `brand-architecture` |\n| Robert | Growth Strategist | `zaip-agent-growth-strategist` | `robert_growth_strategist_zaip_agent` | Orienta estratégia de crescimento, RevOps, experimentos, receita, custos e recomendações executivas baseadas em dados. | Estratégia de negócio, Growth, RevOps, modelo de negócio, priorização de portfólio ou impacto financeiro como decisão principal. | Campanha ou conteúdo, Brandbook, playbook comercial, validação quantitativa bruta ou ato comercial externo. | `growth`, `revops`, `experimentation`, `revenue`, `cost-optimization`, `business-strategy` |\n| Aaron | Sales Specialist | `zaip-agent-sales-specialist` | `aaron_sales_specialist_zaip_agent` | Cria processos, playbooks, qualificação, scripts, enablement e handoffs comerciais internos. | Metodologia comercial, qualificação, negociação preparada, processo SDR/closer, script, playbook ou handoff de pipeline. | Estratégia de Growth/RevOps, campanha ou copy de marketing, governança de marca, análise bruta de dados, política jurídica ou ato comercial externo. | `sales`, `qualification`, `sales-playbook`, `sales-script`, `sdr`, `closer`, `pipeline-handoff` |\n| Clara | Operations Generalist | `zaip-agent-general-operations` | `clara_operations_generalist_zaip_agent` | Executa artefatos operacionais delimitados fora de escopos especialistas: documentos, apresentações, planilhas, processos e comparativos. | Documento, apresentação, planilha, processo ou pesquisa comparativa sem capability especialista obrigatória. | Produto, design-system, marketing, dados, segurança, cloud, jurídico vinculante ou ato externo. | `operations`, `document`, `presentation`, `spreadsheet`, `process`, `comparison` |\n| Renata | Governance Compliance Specialist | `zaip-agent-governance-compliance` | `renata_governance_compliance_specialist_zaip_agent` | Prepara artefatos internos não vinculantes de RH, jurídico operacional, política, privacidade, fornecedores e risco. | Minuta, checklist, matriz de risco ou pacote interno de aprovação sem ato externo. | Parecer jurídico vinculante, assinatura, representação, protocolo, contratação ou decisão humana. | `governance`, `compliance`, `hr`, `legal-operations`, `privacy`, `vendor`, `risk` |\n\n## Squads organizacionais\n\nO catálogo contém 23 agentes agrupados visualmente em seis squads: **Product** (3), **Admin & Operations** (3), **Development** (6), **Delivery Assurance** (4), **Infra & Security** (2) e **Growth — Sales, Marketing and Branding** (5). A soma é 23.\n\nOs squads facilitam a leitura organizacional e a colaboração humana. Eles não são uma fonte de roteamento: `selectAgentForWork` continua a escolher o agente exclusivamente pelas capabilities mandatórias, escopos explícitos, prioridade e ID; cada agente conserva seus write scopes e permissões.\n\n## Roteamento determinístico\n\n`selectAgentForWork` deriva uma capacidade mandatória a partir de escopos explícitos antes de aplicar a seleção ordenada por prioridade e ID.\n\n- `.agents/design/*`, `.agents/design/**`, `DESIGN.md`, `tokens.json`, `apps/catalog/**` ou capability explícita de Design System/tokens/componentes/páginas seleciona Manu. Manu é a regra visual central; Doug somente a consome em `apps/frontend/**`.\n- `apps/site/**` ou capability explícita `website-delivery`, SEO, GEO, Markdown for Agents ou Agent Readiness seleciona Jonny.\n- `apps/frontend/**` seleciona Doug quando a capability é frontend; `apps/backend/**` e `modules/**` selecionam Will quando a capability é backend.\n- Capabilities de governança, RH, jurídico operacional, políticas, privacidade, fornecedores ou riscos selecionam Renata. Ela prepara o pacote revisável e a ação humana necessária, mas não executa ato vinculante ou externo.\n- Capabilities de plataforma ou governança de marca, Brandbook, posicionamento, arquitetura de marca, arquétipos ou diferencial semântico selecionam Sarah. Ela governa a identidade e encaminha aplicação de design system para Manu e ativação de marketing para Lucia.\n- Capabilities de estratégia de Growth, RevOps, experimentação, receita, custo, funil, unit economics ou recomendação executiva selecionam Robert. Dados quantitativos delimitados continuam com Gabi, e processos comerciais internos com Aaron.\n- Capabilities de metodologia comercial, qualificação, playbooks, scripts, SDR, closer ou handoff de pipeline selecionam Aaron. Ele não realiza ato comercial externo nem substitui Sarah, Lucia, Robert ou Gabi em suas fronteiras especializadas.\n- Capabilities de documentos, apresentações, planilhas, processos e comparativos — ou trabalho delimitado sem capability explícita e sem escopo obrigatório — selecionam Clara como fallback operacional contínuo.\n- Um diretório chamado `components` fora dos alvos canônicos não aciona Manu. O orquestrador usa a capability solicitada e os write scopes da Task.\n- `.agents/dashboard/**` e `.local/**` não selecionam Doug nem Manu: permanecem com Rafa ou Leo até que a Task declare um escopo obrigatório; artefatos operacionais não técnicos podem selecionar Clara.\n\nO orquestrador mantém a Run raiz e cada Run delegada separadas na observabilidade. Duração, tokens e custo só são agregados quando observados ou reconciliados; ausência continua indisponível, nunca zero.\n\nO dispatch autônomo passa os `Task.write_scopes` a essa seleção **por Task** e persiste o builder escolhido na entrada de cada Task. Assim uma DAG com frontend e backend usa Doug e Will nas respectivas invocações, sem transformar a seleção de uma Task em builder global. A seleção é determinística, mas não concede autoridade: o agente ainda precisa respeitar seus write scopes e permissões do catálogo.\n\nO `budget.soft_cycles` também acompanha o agente selecionado por Task e governa seu checkpoint suave. Tokens continuam observados para telemetria e custo, mas não interrompem nem exigem checkpoint. Para comparar agentes, use `zaip run aggregate --agent agent-ID`; o resultado inclui duração coberta, ciclos de uso observados, tokens, custo, cobertura e Runs de rework.\n\nNanda (`agent-reviewer`) usa `gpt-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.\n\n## Dashboard e segurança operacional\n\nA tela **Configurações > Catálogo de agentes** apresenta a persona e mantém a identidade técnica somente leitura. Ao salvar, o runtime valida o catálogo, deriva o único nickname, sincroniza adapters e reverte a escrita se a paridade falhar. Agentes de framework permitem alteração de persona e preferências de modelo/effort; propósito, capacidades e identidade técnica continuam protegidos.\n\n## Preset e configuração efetivamente executada\n\nDefaults do catálogo não comprovam modelo/effort efetivos. Com `autonomy-v1`,\no preset e a seleção final do despacho gerenciado também são validados:\nEssencial veda Astra automático e não herda a exceção manual do principal.\nInforme ao usuário a delegação necessária e a possibilidade de modelos\ndiferentes. Mantenha indisponível o que o host não informou.\nConsulte [modelos](23-orquestracao-de-modelos.md) e [autonomia](19-assurance-e-autonomia.md).\n',S=`# Assurance adaptativa e perfis de autonomia
886
+
887
+ Este guia descreve \`autonomy-v1\`, implementado nas fontes em preparação para a
888
+ v3. Não significa que \`@latest\` já distribua essas mudanças ou que a release
889
+ esteja qualificada. Confira a versão instalada e o caminho de execução.
890
+
891
+ ## Quatro configurações independentes
892
+
893
+ | Controle | Valores | O que decide |
894
+ | --- | --- | --- |
895
+ | Instalação | \`full\`, \`dev-lite\`, \`lite\` | Ferramentas instaladas, não orçamento de IA |
896
+ | Assurance | risco \`lite\`, \`standard\`, \`critical\` e sinais persistidos | Provas necessárias para aceitar a entrega |
897
+ | Autonomia | \`essential\`, \`balanced\`, \`persistent\` | Persistência e replanejamento por Task |
898
+ | Runtime | \`manual\`, \`managed\` ou \`autonomous\` | Sem provider, PRD/SPEC gerenciados ou também Task gerenciada explícita |
899
+
900
+ \`model_orchestration\` é a política de seleção, não o botão de ativação do
901
+ runtime. Salvar um preset não inicia uma Task, não altera o seletor do Codex e
902
+ não concede permissão externa.
903
+
904
+ ## Perfis por Task
905
+
906
+ | Perfil | Execuções máximas | Replanejamentos máximos | Rota dos replanejamentos |
907
+ | --- | --- | --- | --- |
908
+ | Essencial (\`essential\`) | **4**: 1 inicial + 3 reparações | **1** | Sol/high; nunca Astra automático |
909
+ | Equilibrado (\`balanced\`, padrão novo) | **10**: 1 inicial + 9 reparações | **3** | Sol/high → Astra/high → Astra/high |
910
+ | Persistente (\`persistent\`, opt-in) | **Sem teto** | **Sem teto** | Sol/high primeiro; Astra/high nos seguintes |
558
911
 
559
- O ZAIP-AIOS separa duas decisões que não devem ser confundidas: quanto de prova uma entrega exige e quem executa a DAG. A primeira é governada por \`assurance\`; a segunda por \`execution\`. O modo manual continua sendo o padrão seguro e econômico.
912
+ Cada replanejamento válido libera até três reparações. São tetos, não uma
913
+ obrigação de falhar ou gastar todas as tentativas. Se o aceite passar antes,
914
+ siga para revisão e fechamento. No Equilibrado não existe quarto
915
+ replanejamento; no Persistente não existe teto oculto de 10, 24 ou três planos.
916
+
917
+ Exemplo máximo do Equilibrado:
918
+
919
+ 1. Execução inicial: tentativa 1.
920
+ 2. Replanejamento 1 com Sol/high: reparações nas tentativas 2–4.
921
+ 3. Replanejamento 2 com Astra/high: reparações nas tentativas 5–7.
922
+ 4. Replanejamento 3 com Astra/high: reparações nas tentativas 8–10; Astra/high
923
+ também pode executar nesse bloco, se selecionado pela rota válida.
924
+ 5. Sem aceite, registrar entrega parcial e resultado verdadeiro; não abrir
925
+ outra rodada gratuita.
926
+
927
+ Uma SPEC com dez Tasks Equilibradas admite até **100 execuções** (10 iniciais
928
+ + 90 reparações) e **30 replanejamentos**. A quota pertence a cada Task estável,
929
+ não ao PRD, à SPEC, à Execution ou ao subagente. Calls internas, ferramentas,
930
+ testes individuais, revisões e finalização não são dez execuções de produto:
931
+ o teto não significa dez chamadas totais ao modelo.
932
+
933
+ Persistente pode continuar indefinidamente e consumir créditos até
934
+ cancelamento humano; fica desligado por padrão. Não promete ultrapassar
935
+ indisponibilidade do host, falta de autorização, segurança ou ausência de prova.
936
+
937
+ ## Configurar no projeto e no Dashboard
938
+
939
+ Mescle este bloco na raiz de \`.agents/config/project.yaml\`, sem substituir
940
+ as demais configurações:
941
+
942
+ \`\`\`yaml
943
+ autonomy:
944
+ version: 1
945
+ preset: balanced
946
+ \`\`\`
947
+
948
+ No Dashboard, abra **Configurações do projeto**, escolha **Perfil de autonomia**
949
+ e salve. A UI explica os limites e o consumo potencial do Persistente; API e
950
+ YAML usam a mesma enumeração. Recarregue e confira o valor persistido.
951
+ \`essential\` e \`persistent\` são as outras escolhas válidas. Não invente campos
952
+ para alterar cotas ou modelos da tabela: o schema desse bloco é estrito.
953
+
954
+ A mudança vale para **novas Tasks**. Tasks já iniciadas conservam seu perfil e
955
+ consumo. Projetos antigos sem \`autonomy\` conservam comportamento legado;
956
+ selecionar/salvar um perfil não migra silenciosamente estados já materializados.
957
+
958
+ ## Contagem determinística e recuperação
959
+
960
+ O coordenador gerenciado reserva a operação **antes** de chamar o provider em
961
+ \`.local/autonomous/recovery/<hash-da-task>/ledger.json\`. O diário é durável,
962
+ privado e vinculado à Task, com escrita exclusiva e transições idempotentes.
963
+ Não é cache descartável nem deve ser removido para liberar uma nova tentativa.
964
+
965
+ - Reinício, nova Execution, \`resume\`, \`rework\` ou alteração do YAML não zeram
966
+ esse consumo. O \`attempt_count\` do lifecycle não substitui o diário de
967
+ tentativas/replanejamentos do coordenador.
968
+ - Replay compatível reutiliza a reserva; resultado conflitante é rejeitado.
969
+ Resultado desconhecido permanece pendente até recuperação observável.
970
+ - Replanejamento inválido consome sua reserva e não autoriza reparação de
971
+ produto. Pode consumir o orçamento antes de alcançar dez execuções.
972
+ - O relógio, tokens, contagem de testes e \`budget.soft_cycles\` não calculam
973
+ tentativas. Tempo continua útil para diagnóstico, não para desistir da Task.
974
+ - Timeout de comando, lease, lock ou ausência de resposta do provider é um
975
+ problema operacional a investigar; não prova defeito do produto.
976
+ - Preserve logs sanitizados e a hipótese já tentada; não repita testes caros
977
+ inalterados apenas por demora, nem diminua ACs para obter aprovação.
978
+
979
+ ## Tarefas avulsas e modelos
980
+
981
+ A Task avulsa prioriza execução direta com o modelo/esforço escolhido pelo
982
+ usuário. Exemplo: Astra/ultra manual no principal não é uma escalada automática.
983
+ No Essencial essa é a única exceção Astra: não se estende a filhos, herança ou
984
+ fallback.
985
+
986
+ Delegação só por necessidade concreta, como especialidade, isolamento ou
987
+ revisão/finalização exigida. Antes de delegar, informe que a orquestração ZAIP
988
+ pode selecionar modelo/esforço diferentes para os subagentes. Não prometa que
989
+ filhos usam Astra só porque o usuário selecionou Astra no principal.
990
+ A configuração efetivamente observada permanece separada da planejada.
991
+
992
+ O replanejador recebe contexto delimitado e não implementa produto. Fora do
993
+ Essencial, Astra/high torna-se elegível como **executor a partir do terceiro
994
+ replanejamento**, sem ampliar escopo, autoridade ou orçamento. Ele não
995
+ substitui revisão independente nem Gui. Veja o [guia 23](23-orquestracao-de-modelos.md).
996
+
997
+ ## Quando continuar e quando encerrar
998
+
999
+ | Situação após recuperação aplicável | Resultado |
1000
+ | --- | --- |
1001
+ | Resultado, ACs, gates e evidências suficientes | \`completed\`, após fechamento canônico |
1002
+ | Falta de verificação, evidência, acesso, decisão ou conclusão segura | \`blocked\`, com condição objetiva de retomada |
1003
+ | Impedimento técnico ou de integridade comprovado | \`failed\`, com causa e rework necessário |
1004
+ | Pedido humano explícito para cancelar | \`cancelled\` |
1005
+
1006
+ Não reduza critérios de aceite ao esgotar tentativas. Preserve o que foi feito,
1007
+ liste ACs sem prova e informe quantas execuções/replanejamentos ocorreram.
1008
+ “Falhou após três replanejamentos” só é correto com causa técnica comprovada;
1009
+ sem prova suficiente o resultado é bloqueado. Tempo decorrido não escolhe
1010
+ entre esses estados.
1011
+
1012
+ Na DAG, continue ramos independentes elegíveis; não execute dependentes de
1013
+ Task não concluída nem entregue o macro sem seus gates. Uma Task bloqueada
1014
+ não deve causar repetição de Tasks já concluídas.
1015
+
1016
+ ## Limites atuais e adoção
1017
+
1018
+ A garantia de contagem/modelo vale **no despacho gerenciado**, antes da
1019
+ invocação. \`spawn_agent\` chamado diretamente pelo Codex fora desse caminho
1020
+ não é interceptado por prompt, hook best-effort ou captura posterior.
1021
+ Sem observar o caminho real, não alegue controle determinístico universal.
1022
+
1023
+ Novos projetos usam Equilibrado e \`execution.runtime: managed\`: PRDs/SPECs
1024
+ passam pelo executor gerenciado e avulsas permanecem diretas. \`manual\` e
1025
+ configuração legada ausente continuam sem provider. \`autonomous\` permite
1026
+ também Task avulsa gerenciada por comando explícito. Salvar não executa.
1027
+
1028
+ A captura direta usa \`conversation start ... --direct-authorization REFERÊNCIA\`
1029
+ ou \`run start\` com a mesma opção, somente para raiz de delivery atribuída a
1030
+ Task/Change/Execution e turno/modelo observados. O contrato fica imutável no
1031
+ início; não converte raízes antigas nem cria executor fictício. Gui, Evidence,
1032
+ revisão aplicável e sua barreira continuam obrigatórios. O [guia 16](16-lifecycle-e-reconciliacao.md) descreve o relay.
1033
+
1034
+ Migração explícita: \`task migrate-autonomy TASK --execution EXEC --expected-revision N
1035
+ --legacy-attempts N --legacy-replans N --reason MOTIVO\` mostra o preview;
1036
+ acrescente \`--confirm\` somente após revisar a contagem histórica. Exige Task
1037
+ inativa, inventário de Runs terminado, contagens não inferiores ao histórico
1038
+ observado e motivo. Preserva registros, estados e Evidence; congela o diário
1039
+ durável por Task. Não reaproveita planos antigos como autorização atual: exige
1040
+ novo plano dentro da quota restante. Se a quota acabou, continua esgotada.
1041
+
1042
+ Se o número histórico de replanejamentos não foi registrado, use
1043
+ \`--legacy-replans unknown --future-replans N\` com uma concessão humana explícita
1044
+ dentro do preset (até 3 no Equilibrado). O total histórico permanece desconhecido;
1045
+ \`N\` limita somente os replanejamentos futuros. \`--legacy-attempts N\` continua
1046
+ preservando as execuções já consumidas: a concessão não reinicia o limite de dez.
1047
+ No Persistente, \`--future-replans unlimited\` exige a escolha explícita desse perfil.
1048
+
1049
+ Não há economia financeira garantida pelos presets. Compare custo/tokens por
1050
+ Task aceita com cobertura real, incluindo reparos, revisão e replanejamento.
1051
+ Testes simulados de modelos não comprovam cobrança nem execução paga no host.
1052
+
1053
+ ## Assurance por domínio
1054
+
1055
+ O preset não escolhe o rigor. Desenvolvimento exige testes comportamentais,
1056
+ regressões, segurança e rollback conforme risco. Conteúdo de Marketing,
1057
+ Branding ou Vendas exige fidelidade a fontes/briefing e revisão apropriada;
1058
+ Growth e Ops exigem dados, premissas e critérios de decisão explícitos.
1059
+ Não imponha teste de código a uma peça textual, nem use “texto” para dispensar
1060
+ segurança, autorização externa ou validação factual.
560
1061
 
561
1062
  ## Matriz de validação
562
1063
 
@@ -621,11 +1122,14 @@ execution:
621
1122
 
622
1123
  O projeto ZAIP-AIOS limita a concorrência produtiva a \`max_parallelism: 3\`, mas inicia em 1. A elevação só ocorre quando existem ramos sem dependência e sem sobreposição de write scope; o coordenador reivindica cada lote novamente com os locks do scheduler. O paralelismo efetivo é sempre o menor limite entre projeto, plano independente, provider e squad. \`budget.soft_cycles\` é aplicado ao agente escolhido em cada Task; tokens permanecem telemetria e custo, não checkpoint. \`zaip run aggregate --agent agent-ID\` filtra a identidade e retorna duração, ciclos observados, tokens, custo, cobertura e rework. Telemetria não capturada permanece indisponível, nunca zero.
623
1124
 
624
- O runtime cria Executions-filhas determinísticas somente para SPECs com dependências internas e write scopes globalmente disjuntos. Cada filha possui coordinator, estado, quota de orçamento e handoff próprios, mas todas compartilham a fila limitada pelo paralelismo efetivo e o ledger de invocações do PRD. A filha termina antes do fan-in e o pai não reexecuta suas Tasks. A Execution do PRD integra os commits das filhas, executa as modalidades parentais sobre o commit combinado e bloqueia o finalizer enquanto houver filha ativa. SPECs inelegíveis continuam na DAG global, preservando locks, orçamento e segurança do coordenador.
1125
+ O runtime cria Executions-filhas determinísticas somente para SPECs com dependências internas e write scopes globalmente disjuntos. Cada filha possui coordinator, estado e handoff próprios; em \`autonomy-v1\`, o orçamento de recuperação continua no diário estável de cada Task, mas todas compartilham a fila limitada pelo paralelismo efetivo e o ledger de invocações do PRD. A filha termina antes do fan-in e o pai não reexecuta suas Tasks. A Execution do PRD integra os commits das filhas, executa as modalidades parentais sobre o commit combinado e bloqueia o finalizer enquanto houver filha ativa. SPECs inelegíveis continuam na DAG global, preservando locks, orçamento e segurança do coordenador.
625
1126
 
626
1127
  O driver autônomo:
627
1128
 
628
- - usa protocolo nativo JSONL de Codex ou Claude, sem shell;
1129
+ - usa protocolo nativo JSONL, sem shell. O contrato legado suporta Codex ou Claude;
1130
+ o despacho gerenciado com \`autonomy-v1\` atualmente exige Codex e rejeita Claude
1131
+ antes de invocar o provider. Conversas diretas continuam disponíveis no provider
1132
+ escolhido; isso não comprova suporte Claude à orquestração autônoma v1;
629
1133
  - cria worktree Git por Task a partir de uma raiz limpa;
630
1134
  - limita alterações aos write scopes;
631
1135
  - exige commit final e valida os artefatos tipados dentro da worktree;
@@ -633,7 +1137,7 @@ O driver autônomo:
633
1137
  - persiste estado com compare-and-swap;
634
1138
  - serializa somente transições do estado durável e rebaseia cada Task, permitindo que invocações de ramos independentes executem em paralelo com segurança;
635
1139
  - mantém checkpoints opacos somente em \`.local\`;
636
- - limita \`lite\` a uma tentativa e \`standard\`/\`critical\` a no máximo três tentativas de desenvolvimento ou reparo;
1140
+ - em \`autonomy-v1\`, usa exclusivamente os tetos por Task da tabela acima; somente no legado sem esse bloco mantém as quotas antigas por risco;
637
1141
  - usa verificador independente para critical, SPEC e PRD.
638
1142
 
639
1143
  Na Task autônoma, o adapter respeita o mesmo rigor calculado: \`lite\` não exige
@@ -648,8 +1152,13 @@ Ativar \`autonomous\` não afirma que o runtime está validado em produção. A
648
1152
 
649
1153
  ## Cobertura e release
650
1154
 
1155
+ Gui também pode registrar bloqueio/falha quando nenhum executor conseguiu iniciar.
1156
+ Isso evita fabricar trabalho apenas para fechar o estado. Não permite sucesso:
1157
+ \`executor_missing\` rejeita conclusão sem executor elegível ou raiz Task direta
1158
+ explicitamente autorizada, mesmo que existam Evidences aprovadas.
1159
+
651
1160
  O ratchet de cobertura nunca reduz o piso: 80% para lines, functions e statements e 75% para branches. Uma medição atual abaixo disso pode ser registrada como baseline observada para diagnóstico, mas o gate continua vermelho. Release crítica também exige unit, E2E, arquitetura, CQRS, módulos, profile, segurança, testes negativos, paridade da distribuição e cleanroom do candidato exato.
652
- `,S='# Como instalar e rodar o ZAIP-AIOS\n\nEste guia descreve o modelo de lifecycle V2 no layout V3. Durante a transição, layouts V1/V2 continuam disponíveis somente para leitura e migração; novos artefatos e seus manifests Git-native usam `.agents/records`.\n\n## Pré-requisitos\n\n- Node.js 22.16.0 ou superior, conforme o requisito do pacote, com `node:sqlite` disponível;\n- Git;\n- permissões de escrita no repositório consumidor.\n\nO consumidor não precisa compilar o monorepo nem instalar pnpm para executar\no runtime distribuído. No checkout mantenedor, use o pnpm fixado em\n`packageManager` (11.12.0 neste snapshot), com `corepack pnpm` quando disponível.\n\n## Instalação pública no projeto consumidor\n\nNa raiz do projeto-alvo:\n\n```bash\nnpx @zaip-ai/cli@latest init --dry-run\nnpx @zaip-ai/cli@latest init\nnode .agents/runtime/bin/zaip.mjs doctor --json\n```\n\nRevise o dry-run antes da instalação. `@latest` seleciona a versão publicada,\nnão alterações ainda locais neste repositório. O binário público `zaip` é o\ninstalador; nos exemplos de lifecycle deste guia, `zaip ...` é uma abreviação\nde `node .agents/runtime/bin/zaip.mjs ...` no projeto consumidor. Use o caminho\nexplícito para evitar colisão entre os dois CLIs.\n\n### Manuais e seleção de modelos\n\nAntes de usar os comandos de desenvolvimento abaixo, consulte os manuais instalados\nem `.agents/README.md` e `.agents/README-ENG.md` e o [índice local](../INDEX.md).\nO instalador preserva os READMEs do projeto na raiz. Os perfis `full`, `dev-lite`\ne `lite` selecionam ferramentas de instalação; eles não classificam a dificuldade\nde uma tarefa nem ativam um modelo mais caro.\n\nO default de seleção de modelos é `manual`. O modo `auto` exige opt-in do projeto,\npermanece restrito a SPEC/PRD e mantém Astra como consultor diagnóstico opcional em\n`high`, com teto de três invocações por Task e devolução aos executores.\nVeja o [contrato de modelos e seus limites](23-orquestracao-de-modelos.md).\n\n## Construir o CLI\n\nSomente no repositório-fonte, para manutenção do framework:\n\n```bash\ncorepack pnpm install --frozen-lockfile\ncorepack pnpm build\nnode packages/cli/dist/index.js version\n```\n\nNesse checkout compilado, use `node packages/cli/dist/index.js ...` para os\ncomandos de lifecycle. Em `--workspace`, informe o destino autorizado; não\nconfunda a raiz fonte com o projeto consumidor.\n\n## Setup pelo CLI de lifecycle\n\nFaça primeiro um dry-run e revise conflitos:\n\n```bash\nzaip setup --workspace /caminho/do/projeto --dry-run --json\nzaip setup --workspace /caminho/do/projeto\nzaip doctor --workspace /caminho/do/projeto\n```\n\nO setup V2 cria ou valida:\n\n```text\n.agents/config/{project.yaml,framework.lock.yaml}\n.agents/rules/{core,workflow,architecture,security,context}.md\n.agents/requirements/{work-lifecycle,execution-engine,cost-observability,kanban-dashboard,context-engine,software-architecture}.md\n.agents/skills/\n.agents/records/{prds,specs,changes,tasks,executions,runs}/\n.agents/records/lifecycle/\n.local/claims/ # claims idempotentes do lifecycle; não é histórico canônico\n```\n\nO runtime `.agents/runtime` usa a `.agents/` da raiz como fonte canônica das Rules, dos seis\nRequirements de área e das skills. Em uma instalação nova, o setup cria config e os seis diretórios\nvazios de data, projeta somente os arquivos portáveis do framework e registra a versão de origem em\n`source_release`. Histórico, Changes, Tasks, Runs e aliases específicos deste repositório nunca são\ncopiados para o projeto consumidor.\n\nO setup identifica a propriedade pelo `framework.lock.yaml`: Rules presentes no lock pertencem ao\nframework; as demais são locais ao projeto e são preservadas em instalações e upgrades. Conflitos\nde ID ou contradições bloqueiam a operação; não existe override silencioso.\n\nTambém gera adapters mínimos, como `AGENTS.md` e `CLAUDE.md`, sem sobrescrever conteúdo do usuário silenciosamente.\n\n## Migrar estado V1\n\n```bash\nzaip migrate plan --workspace /caminho/do/projeto --json\nzaip migrate plan --workspace /caminho/do/projeto --verbose --json\nzaip migrate apply --workspace /caminho/do/projeto --plan-hash HASH\nzaip migrate status --workspace /caminho/do/projeto\n```\n\nPor padrão, `plan` retorna somente fingerprint, contagens, findings e hash. `--verbose` acrescenta metadados e paths das operações, nunca payload base64. `apply` exige o hash revisado; uma reaplicação/retomada pode selecionar explicitamente `--migration ID`.\n\nA migração deve ser idempotente. Até ser aplicada e verificada, raízes V1 permanecem legado somente leitura. Para desfazer uma migração suportada:\n\n```bash\nzaip migrate rollback --workspace /caminho/do/projeto --migration ID\n```\n\n## Escolher a entrada certa\n\nUse Task-first para uma alteração pontual e bem delimitada. Use SPEC quando o objetivo técnico exige várias Tasks, dependências ou execução autônoma longa. Use PRD quando é necessário traduzir objetivo de negócio, usuários, métricas e restrições em uma ou mais SPECs.\n\nPRD e SPEC são opcionais. O intake captura uma vez por turno observável;\ncontinuação reutiliza o foco válido e publicação puramente Git não cria\nlifecycle. Para pergunta, feedback ou análise read-only, `conversation start`\ne `conversation finish` registram uma interaction sem Task/Change artificial.\nCriar/refinar explicitamente PRD/SPEC `draft` pode persistir macro e PreparedPlan\nna própria interaction, sem delivery. Fora dessa exceção, alterações persistentes\nde código, documentação ou configuração exigem delivery, Task materializada e\nRun raiz ativa antes da escrita; caches/builds e projeções geradas seguem as\nisenções da Rule de workflow. Interaction read-only sem descendentes não exige\nexecutor nem finalizador.\n\nUma solicitação direta de ação entra em Execução; ela não passa artificialmente por Definição ou Planejamento. Uma Task independente que foi apenas preparada e ainda não começou fica em Pronto para executar. No quadro, Definição é exclusiva de PRDs em draft e Planejamento é exclusivo de SPECs em draft. O contrato completo está em [Lifecycle de trabalho](28-lifecycle-completo.md).\n\n## Task-first\n\nCrie o draft manual, prepare e execute explicitamente:\n\n```bash\nzaip task create --title "Ajuste pontual" --short-name ajuste-pontual --objective "Resultado esperado" --requirements REQ-ID --acceptance AC-ID --write-scopes src/**\nzaip task prepare TASK-ID\nzaip task execute TASK-ID\n```\n\nTask-first não cria PRD nem SPEC sintéticas. `create` persiste somente a Task `draft`; `prepare` persiste o plano na Task; `execute` materializa Change e Execution rastreáveis antes da mutação. O prepare automático acima só aceita Task sem `depends_on`.\n\nTask-first registra objetivo, Requirements e Acceptance Criteria sem ocupar artificialmente as\ncolunas Definição ou Planejamento. Uma Task criada ou preparada, mas não iniciada, aparece em Pronto\npara executar. Em pedidos diretos de ação, Change, Execution, Task e Run raiz são materializados\nantes da primeira mutação. Verificação e evidências sempre refletem registros reais.\n\nPara uma Task manual com dependências, modele a DAG completa em um draft de plano e gere o contrato canônico antes do prepare:\n\n```bash\nzaip plan build --draft ./task-plan-draft.json --output ./task-plan.json\nzaip plan validate --plan ./task-plan.json\nzaip task prepare TASK-ID --plan ./task-plan.json\nzaip task execute TASK-ID\n```\n\nO draft fornecido a `plan build` contém origem, Changes, Tasks, Execution, Requirements/AC e locks,\nmas não precisa calcular hash ou ordem topológica. Toda Task referenciada por `depends_on` precisa\nestar no mesmo plano. `plan validate` verifica o PreparedPlan completo sem materializá-lo.\n\n## SPEC opcional\n\n```bash\nzaip spec create --title "Objetivo técnico" --short-name objetivo-tecnico --objective "Resultado esperado"\nzaip spec prepare SPEC-ID --plan ./spec-plan.json\nzaip spec show SPEC-ID\nzaip spec execute SPEC-ID\n```\n\n`prepare` persiste IDs e DAG validada, sem criar Tasks. `execute` materializa a DAG de modo idempotente. A visão macro da SPEC agrega Tasks, Executions, Runs, evidências, retrabalho, tokens e custo.\n\n## PRD opcional\n\n```bash\nzaip prd create --title "Resultado de negócio" --short-name resultado-negocio --problem "Problema a resolver"\nzaip spec create --prd PRD-ID --title "Entrega técnica" --short-name entrega-tecnica --objective "Resultado técnico"\nzaip prd prepare PRD-ID --plan ./prd-plan.json\nzaip prd show PRD-ID\nzaip prd execute PRD-ID\n```\n\nÉ válido manter vários PRDs em rascunho, refinar alguns e executar somente os selecionados. `prepare`, `execute` e `deliver` bloqueiam PRD sem ao menos uma SPEC filha e qualquer Change do plano sem `spec_id`; o plano global inclui todas as Tasks e dependências selecionadas. `deliver` avalia somente as SPECs selecionadas no PreparedPlan do PRD, portanto outras SPECs filhas ainda em draft não bloqueiam a entrega.\n\nNa criação assistida, “me ajude a pensar” permanece Conversation. “Crie um PRD” faz até cinco perguntas críticas por turno e no máximo três turnos, depois persiste PRD/SPECs/PreparedPlan `draft` e registra decisões delegáveis da IA. Use uma SPEC por padrão; novas SPECs só representam capacidades independentes e paralelizáveis, sem arestas cross-SPEC. Blueprints compactos ficam visíveis antes do `ready`, mas Tasks/Changes/Execution só são materializadas quando o usuário pede “deixe/coloque em Pronto para Executar”, “finalize/conclua esse PRD” em `draft`, ou `execute`. A Run e o `creation_run_id` ficam vinculados ao macro; duração, tokens e custo só são agregados quando observados ou reconciliados e nunca são inventados quando indisponíveis.\n\n`execute` respeita Task, SPEC ou PRD conforme o menor grão nomeado. `implemente` sem alvo abre apenas uma Conversation de planejamento, em `draft` finaliza o plano, em `ready` executa e em estados ativos/falhos continua, retoma ou cria rework. `desenvolva|melhore|aprimore` nunca executa automaticamente. PRD cancelado gera sucessor `draft` com tag `rework` e vínculo ao registro imutável.\n\n## Refinar sem executar\n\nNão existe comando `refine`. Enquanto PRD, SPEC ou Task estiver em `draft`, edite seu Markdown\ncanônico em `.agents/records`, incremente `revision` e atualize `updated_at`; em seguida use `show` e\nos validadores aplicáveis. Depois de `prepare`, não altere o plano silenciosamente: volte a um\ndraft por uma transição explicitamente suportada pela política da entidade ou cancele e crie um\nnovo draft. Isso preserva hash, auditoria e leitura humana.\n\nPara coleções grandes, use listagens compactas: `--status`, `--from`, `--to`, `--prd`, `--spec`, `--task`, `--limit` e `--after`. O padrão retorna no máximo 50 itens; `--all` é explícito.\n\n## Executar e acompanhar a DAG\n\n```bash\nzaip execution list\nzaip execution show EXEC-ID\nzaip execution start EXEC-ID\nzaip task next\nzaip task start TASK-ID\nzaip run start --short-name orquestrar-task --phase execution --run-purpose orchestration --entrypoint task --work-type new --client codex --agent zaip-agent-orchestrator --model MODEL --reasoning-effort EFFORT --conversation CONV-ID --execution EXEC-ID --task TASK-ID --change CHG-ID\n# execute e verifique o trabalho\nzaip run start --short-name finalizar-execution --phase execution --run-purpose finalization --entrypoint task --work-type new --client codex-subagent --agent zaip-agent-finalizer --model MODEL --reasoning-effort EFFORT --conversation CONV-ID --parent RUN-RAIZ-ID --execution EXEC-ID --task TASK-ID --change CHG-ID\nzaip run finish RUN-FINALIZADOR-ID --status completed\nzaip run finish RUN-ID --status completed --task-outcome completed --summary "Resultado" --evidence EVD-ID --changed-files src/arquivo.ts\nzaip run closure RUN-ID\n```\n\nTasks `planned` cujas dependências estejam concluídas podem rodar em paralelo. Declare conflitos de arquivos, módulos, migrations, recursos ou ambientes como bloqueios da DAG; paralelismo não deve depender apenas de pertencerem a SPECs diferentes.\n\nCada Run raiz representa a orquestração de uma Execution. Seus filhos são Sub-Runs: ao menos um executor elegível vem do catálogo, e o último deve ser `zaip-agent-finalizer`; ele só inicia depois dos demais descendentes e impede novos filhos. A CLI aplica sua decisão como `completed`, `blocked`, `failed` ou `cancelled`; finalizador ausente ou falho produz `blocked`. `executing` e `verifying` nunca são estados válidos depois do término da Run raiz. Uma Task bloqueada continua pela mesma identidade com `task resume`. Uma Task falhada exige `task rework`, preserva a identidade e incrementa a tentativa. Tasks concluídas ou canceladas são imutáveis.\n\n### Assurance e autonomia\n\nAtive a garantia tipada sem ativar execução por provider:\n\n```yaml\nexecution:\n runtime: manual\nassurance:\n version: 1\n standard_depth: auto\n require_final_commit: true\n```\n\nTask standalone `lite` exige no mínimo uma validação e uma Evidence — normalmente uma de cada, sem rejeitar provas extras legítimas. `standard` exige duas ou três validações conforme o `verification_scope` persistido e pelo menos uma Evidence consolidada; registros históricos sem esse sinal usam o fallback conservador de write scopes. `critical` exige três ou mais, revisão independente e os controles acionados pelos sinais de risco persistidos. SPEC/PRD exigem ainda três validações e três Evidences parentais, matriz completa, integração e review independente. Para o runtime autônomo, configuração, controles e estratégia econômica, veja [Assurance adaptativa e autonomia opt-in](19-assurance-e-autonomia.md).\n\n## Changes, decisões e evidências\n\nCada alteração possui `.agents/records/changes/YYYY/MM/CHG-.../change.md`, criado antes da primeira mutação. Ele registra:\n\n- plano e Requirement deltas;\n- implementação;\n- decisões humanas e da IA;\n- evidências por Acceptance Criterion;\n- evals e testes;\n- resultado final.\n\nCada teste, revisão, eval ou check executado também deve gerar um artefato reproduzível em\n`artifacts/tests/`, `artifacts/evals/` ou `artifacts/checks/`. O registro inclui ao menos\n`executed_at` com timezone, comando, status, Task, Run e Acceptance Criteria cobertos. Quando uma\nverificação não se aplica, registre `status: not_applicable` e a justificativa; ausência de registro\npermanece pendência. O dashboard contabiliza testes e considera uma etapa rastreada somente quando\nexiste timestamp de origem, sem substituir ausência pelo horário da consulta.\n\nQuando houver prova observável por AC, siga o contrato\n[canônico](../../skills/zaip-skill-change/references/observable-evidence.md).\n`validation observe` registra uma declaração sanitizada inline; não abre arquivo\nde entrada, não executa o procedimento e não cria Validation aprovada. Somente\numa observação `confirmed` e vinculada pode complementar Evidence já compatível.\n\nDecisões curtas ficam inline. Se uma decisão exigir ADR, salve-o em `decisions/` dentro da própria Change ou Execution e mantenha o resumo no Markdown principal.\n\n## Runs e custos\n\nUma Execution é `interaction` para conversa sem Task artificial ou `delivery` para trabalho materializado; esta última coordena a DAG quando existir. Run é a chamada raiz do `zaip-agent-orchestrator` e possui `parent_run_id: null`; Sub-Run é cada chamada de subagente e possui `parent_run_id`. Ambas usam o ledger `RUN-*`, fixam modelo e effort e podem conter várias Calls, ferramentas e segmentos de uso. `run_purpose` distingue orquestração, execução, revisão, auditoria e finalização. Calls permanecem internas e suas quantidades, tokens e custos aparecem agregados na Run/Sub-Run.\n\nOperação oferece Trabalho (Kanban) e Trabalho (Lista), ambas com os filtros Todas as Tarefas, Visão Unificada Geral, PRDs, SPECs e Tarefas Avulsas. A lista mostra status, origem, Runs, Sub-Runs, duração, tokens, custo e cobertura. Operação e Monitor de Custos apresentam Runs e Sub-Runs separadamente. Cada Execution agrega contagens de Runs, Sub-Runs, finalizadores, Tasks finalizadas e Calls conhecidas sem dupla contagem; telemetria incompleta aparece como parcial. Cada segmento de uso é atribuído uma única vez; correções de duplicidade usam supersessão sem apagar o histórico.\n\nA captura do Codex persiste primeiro um envelope sanitizado em\n`.local/codex-telemetry-spool/v1/`, que permanece fora do Git. Depois do terminal da\ninvocação, a compactação produz um `InvocationSummary` e publica chunks e manifestos por\nano/mês/writer em `.agents/records/telemetry/`. Prompts, respostas, reasoning privado e segredos não\nentram nesses arquivos.\n\nQuando o Monitor de Custos recebe `from` e `to`, ele valida hashes e consulta os manifestos antes de\ncarregar somente os chunks compatíveis com o período e os filtros. Na ausência de summaries\naplicáveis, usa a projeção de Run existente sem promover a cobertura. O contrato completo, a\nsemântica de `complete|partial|unavailable` e o procedimento de recuperação estão em\n[Telemetria Git-native do Codex](27-telemetria-git-native.md).\n\nO status técnico do Run (`completed`, `failed` ou `cancelled`) é separado do resultado da Task (`completed`, `blocked`, `failed` ou `cancelled`). Assim, um Run pode concluir tecnicamente e bloquear a Task porque um gate não passou. `execution` começa quando uma tentativa explícita se inicia, mesmo sem diff; `changed_files` e `result` registram se houve mutação.\n\n```bash\nzaip run start --short-name exemplo --phase execution --run-purpose orchestration --entrypoint task --work-type new --client codex --agent zaip-agent-orchestrator --model MODEL --reasoning-effort EFFORT --conversation CONV-ID --execution EXEC-ID --task TASK-ID --change CHG-ID\nzaip run usage RUN-ID --input-tokens N --output-tokens N\nzaip run finish RUN-ID --status completed --task-outcome completed --summary "Resultado" --evidence EVD-ID --changed-files src/arquivo.ts\nzaip run closure RUN-ID\nzaip run show RUN-ID\nzaip run list --phase execution --task TASK-ID --limit 50\nzaip run aggregate --prd PRD-ID --from 2026-07-01 --to 2026-07-31\n```\n\n`run-v2` permanece alias compatível. `run list` retorna resumos compactos e paginados; combine\n`--phase`, `--entrypoint`, `--work-type`, `--conversation`, `--execution`, `--change`, `--task`,\n`--spec`, `--prd`, período e paginação. `run aggregate` usa os mesmos filtros para totalizar uso,\ncusto e cobertura sem dupla contagem. Valores ausentes permanecem nulos; dashboards mostram\ncobertura para impedir que custo desconhecido pareça custo zero.\n\nReconciliação global não roda ao abrir o dashboard, a cada turno ou em intervalo. Ela só é executada\nquando uma pessoa confirma o popup **Reconciliar** ou chama explicitamente\n`zaip run reconcile --open`. O reconciliador usa fatos locais: pode concluir uma Task com evento\nterminal exato; marca Run órfão depois da tolerância como falha técnica; transforma ausência de gates\nem bloqueio; e nunca infere cancelamento ou sucesso sem evidência.\n\n## Organizar frontend, backend e site\n\nCrie somente as superfícies usadas pelo projeto, mas preserve seus papéis:\n\n```text\napps/frontend/ # UI do produto\napps/backend/ # APIs e workers\napps/site/ # landing page e site público independente\nmodules/<area>/ # capacidades de negócio\npackages/<library>/ # bibliotecas técnicas\ntests/e2e/ # jornadas entre aplicações\n```\n\nA dependência aponta de `apps` para `modules` e destes para `packages`. O site público não importa\no dashboard, não lê `.agents` e não acessa implementação privada do backend.\n\nO dashboard ZAIP é outra fronteira, em `.agents/dashboard`. Ele possui somente\n`apps/frontend`; o servidor loopback fica em `packages/local-runtime`, acompanhado dos módulos\n`operations`, `cost-monitor` e `traceability`, demais packages próprios e `tests/e2e`. Ele lê\nos manifests canônicos em `.agents/records/lifecycle` e abre os demais records apenas por ID. A única\nreparação global iniciada pela UI ocorre após confirmação explícita no popup Reconciliar e usa o\ncomando canônico de reconciliação; não deve ser movido para o `apps/frontend` do produto\nnem publicado como `apps/site`.\n\nNo repositório-fonte do ZAIP, o gate de tamanho é executado isoladamente com:\n\n```bash\nnode scripts/validate-source-size.mjs\n```\n\nArquivos com 401–800 linhas geram warning; arquivos com 801 ou mais geram erro. Código gerado,\n`dist`, vendor, `node_modules`, `.agents/records` e lockfiles são ignorados. Exceções temporárias\nexistem apenas para legado não-dashboard, não podem crescer e precisam declarar responsável,\nmotivo e expiração.\n\n## Contrato CLI e taxonomia publicados\n\nO lifecycle observável avança em uma única direção: `conversation → planning → execution`. Task,\nSPEC e PRD são entrypoints distintos; Change narra a mutação, Execution coordena a DAG e Run mede\numa tentativa. O manifesto público do CLI cobre estas áreas e ações:\n\n```text\nzaip setup; zaip doctor\nzaip adapters build|check\nzaip context inventory|build|inspect\nzaip manifest rebuild|refresh|show|reconcile\nzaip verify --changed --risk lite|standard|critical\nzaip architecture validate; zaip cqrs validate; zaip modules validate; zaip profile validate\nzaip eval run\nzaip migrate plan|apply|status|rollback\nzaip plan build|validate|normalize\nzaip prd create|list|show|prepare|ready|execute|activate|deliver|block|fail|cancel\nzaip spec create|list|show|prepare|ready|execute|activate|deliver|block|fail|cancel\nzaip change list|show|start|resume|block|verify|complete|fail|cancel\nzaip task create|list|next|show|prepare|execute|start|resume|rework|block|verify|complete|fail|cancel\nzaip execution list|show|start|resume|pause|block|verify|complete|fail|cancel\nzaip conversation start|finish\nzaip subagent capture\nzaip run start|list|aggregate|usage|finish|closure|reconcile|show\nzaip decision list|show|record\nzaip generate; zaip guard diff; zaip ui; zaip version\n```\n\n`pnpm test:contract` impede drift entre este guia, o manifesto de comandos, versões de packages,\nruntime distribuído e o gate de tamanho. `pnpm test:e2e` executa primeiro esse contrato e depois o\nE2E do dashboard.\n\n## Validação\n\n```bash\nzaip adapters check\nzaip context inventory\nzaip architecture validate\nzaip modules validate\nzaip profile validate\nzaip cqrs validate\nzaip eval run\n```\n\n`modules validate` verifica fronteiras entre `apps`, `modules` e `packages`. `profile validate`\nverifica o contrato de stack declarado em `.agents/config/project.yaml`. CQRS é obrigatório apenas quando o escopo contém casos de uso, estado ou separação de\ncommands/queries.\n\nNo repositório-fonte, rode também `pnpm validate:skills` e `pnpm test:encoding` após alterar Rules, Requirements, skills ou documentação.\n',C=`# Contrato de telemetria do Monitor de Custos
1161
+ `,C='# Como instalar e rodar o ZAIP-AIOS\n\nEste guia descreve o modelo de lifecycle V2 no layout V3. Durante a transição, layouts V1/V2 continuam disponíveis somente para leitura e migração; novos artefatos e seus manifests Git-native usam `.agents/records`.\n\n## Pré-requisitos\n\n- Node.js 22.16.0 ou superior, conforme o requisito do pacote, com `node:sqlite` disponível;\n- Git;\n- permissões de escrita no repositório consumidor.\n\nO consumidor não precisa compilar o monorepo nem instalar pnpm para executar\no runtime distribuído. No checkout mantenedor, use o pnpm fixado em\n`packageManager` (11.12.0 neste snapshot), com `corepack pnpm` quando disponível.\n\n## Instalação pública no projeto consumidor\n\nNa raiz do projeto-alvo:\n\n```bash\nnpx --yes @zaip-ai/cli@latest init --project-only --dry-run\nnpx --yes @zaip-ai/cli@latest init --project-only\nnode .agents/runtime/bin/zaip.mjs doctor --json\n```\n\nRevise o dry-run antes da instalação. O primeiro sucesso verificável é a saída\nde `doctor --json` com `"valid": true`; ela confirma layout, checksums e adapters\ndo projeto que recebeu a instalação. `@latest` seleciona a versão publicada,\nnão alterações ainda locais neste repositório. O binário público `zaip` é o\ninstalador; nos exemplos de lifecycle deste guia, `zaip ...` é uma abreviação\nde `node .agents/runtime/bin/zaip.mjs ...` no projeto consumidor. Use o caminho\nexplícito para evitar colisão entre os dois CLIs.\n\n### Manuais e seleção de modelos\n\nAntes de usar os comandos de desenvolvimento abaixo, consulte os manuais instalados\nem `.agents/README.md` e `.agents/README-ENG.md` e o [índice local](../INDEX.md).\nO instalador preserva os READMEs do projeto na raiz. Os perfis `full`, `dev-lite`\ne `lite` selecionam ferramentas de instalação; eles não classificam a dificuldade\nde uma tarefa nem ativam um modelo mais caro.\n\nNovos templates mantêm a seleção do principal em `manual` e configuram\n`execution.runtime: managed` para PRD/SPEC, com\n`autonomy: { version: 1, preset: balanced }`. São controles diferentes:\ninstalar/salvar o preset não inicia provider. O [guia 19](19-assurance-e-autonomia.md)\nexplica Essencial, Equilibrado e Persistente; o [guia 23](23-orquestracao-de-modelos.md)\ndetalha Astra/high nos replanejamentos e sua execução elegível no terceiro bloco.\nO Essencial nunca usa Astra automático. Principal avulso preserva a seleção\nmanual; filhos necessários seguem política divulgada. Projetos e estados legados\nnão recebem migração silenciosa de quotas.\n\n## Construir o CLI\n\nSomente no repositório-fonte, para manutenção do framework:\n\n```bash\ncorepack pnpm install --frozen-lockfile\ncorepack pnpm build\nnode packages/cli/dist/index.js version\n```\n\nNesse checkout compilado, use `node packages/cli/dist/index.js ...` para os\ncomandos de lifecycle. Em `--workspace`, informe o destino autorizado; não\nconfunda a raiz fonte com o projeto consumidor.\n\n## Setup pelo CLI de lifecycle\n\nFaça primeiro um dry-run e revise conflitos:\n\n```bash\nzaip setup --workspace /caminho/do/projeto --dry-run --json\nzaip setup --workspace /caminho/do/projeto\nzaip doctor --workspace /caminho/do/projeto\n```\n\nO setup V2 cria ou valida:\n\n```text\n.agents/config/{project.yaml,framework.lock.yaml}\n.agents/rules/{core,workflow,architecture,security,context}.md\n.agents/requirements/{work-lifecycle,execution-engine,cost-observability,kanban-dashboard,context-engine,software-architecture}.md\n.agents/skills/\n.agents/records/{prds,specs,changes,tasks,executions,runs}/\n.agents/records/lifecycle/\n.local/claims/ # claims idempotentes do lifecycle; não é histórico canônico\n```\n\nO runtime `.agents/runtime` usa a `.agents/` da raiz como fonte canônica das Rules, dos seis\nRequirements de área e das skills. Em uma instalação nova, o setup cria config e os seis diretórios\nvazios de data, projeta somente os arquivos portáveis do framework e registra a versão de origem em\n`source_release`. Histórico, Changes, Tasks, Runs e aliases específicos deste repositório nunca são\ncopiados para o projeto consumidor.\n\nO setup identifica a propriedade pelo `framework.lock.yaml`: Rules presentes no lock pertencem ao\nframework; as demais são locais ao projeto e são preservadas em instalações e upgrades. Conflitos\nde ID ou contradições bloqueiam a operação; não existe override silencioso.\n\nTambém gera adapters mínimos, como `AGENTS.md` e `CLAUDE.md`, sem sobrescrever conteúdo do usuário silenciosamente.\n\n## Migrar estado V1\n\n```bash\nzaip migrate plan --workspace /caminho/do/projeto --json\nzaip migrate plan --workspace /caminho/do/projeto --verbose --json\nzaip migrate apply --workspace /caminho/do/projeto --plan-hash HASH\nzaip migrate status --workspace /caminho/do/projeto\n```\n\nPor padrão, `plan` retorna somente fingerprint, contagens, findings e hash. `--verbose` acrescenta metadados e paths das operações, nunca payload base64. `apply` exige o hash revisado; uma reaplicação/retomada pode selecionar explicitamente `--migration ID`.\n\nA migração deve ser idempotente. Até ser aplicada e verificada, raízes V1 permanecem legado somente leitura. Para desfazer uma migração suportada:\n\n```bash\nzaip migrate rollback --workspace /caminho/do/projeto --migration ID\n```\n\n## Escolher a entrada certa\n\nUse Task-first para uma alteração pontual e bem delimitada. Use SPEC quando o objetivo técnico exige várias Tasks, dependências ou execução autônoma longa. Use PRD quando é necessário traduzir objetivo de negócio, usuários, métricas e restrições em uma ou mais SPECs.\n\nPRD e SPEC são opcionais. O intake captura uma vez por turno observável;\ncontinuação reutiliza o foco válido e publicação puramente Git não cria\nlifecycle. Para pergunta, feedback ou análise read-only, `conversation start`\ne `conversation finish` registram uma interaction sem Task/Change artificial.\nCriar/refinar explicitamente PRD/SPEC `draft` pode persistir macro e PreparedPlan\nna própria interaction, sem delivery. Fora dessa exceção, alterações persistentes\nde código, documentação ou configuração exigem delivery, Task materializada e\nRun raiz ativa antes da escrita; caches/builds e projeções geradas seguem as\nisenções da Rule de workflow. Interaction read-only sem descendentes não exige\nexecutor nem finalizador.\n\nUma solicitação direta de ação entra em Execução; ela não passa artificialmente por Definição ou Planejamento. Uma Task independente que foi apenas preparada e ainda não começou fica em Pronto para executar. No quadro, Definição é exclusiva de PRDs em draft e Planejamento é exclusivo de SPECs em draft. O contrato completo está em [Lifecycle de trabalho](28-lifecycle-completo.md).\n\n## Task-first\n\nCrie o draft manual, prepare e execute explicitamente:\n\n```bash\nzaip task create --title "Ajuste pontual" --short-name ajuste-pontual --objective "Resultado esperado" --requirements REQ-ID --acceptance AC-ID --write-scopes src/**\nzaip task prepare TASK-ID\nzaip task execute TASK-ID\n```\n\nTask-first não cria PRD nem SPEC sintéticas. `create` persiste somente a Task `draft`; `prepare` persiste o plano na Task; `execute` materializa Change e Execution rastreáveis antes da mutação. O prepare automático acima só aceita Task sem `depends_on`.\n\nTask-first registra objetivo, Requirements e Acceptance Criteria sem ocupar artificialmente as\ncolunas Definição ou Planejamento. Uma Task materializada como `planned`, nunca iniciada ou tentada, aparece em Pronto\npara executar; `task create` isolado ainda produz `draft`. Em pedidos diretos de ação, Change, Execution, Task e Run raiz são materializados\nantes da primeira mutação. Verificação e evidências sempre refletem registros reais.\n\nPara uma Task manual com dependências, modele a DAG completa em um draft de plano e gere o contrato canônico antes do prepare:\n\n```bash\nzaip plan build --draft ./task-plan-draft.json --output ./task-plan.json\nzaip plan validate --plan ./task-plan.json\nzaip task prepare TASK-ID --plan ./task-plan.json\nzaip task execute TASK-ID\n```\n\nO draft fornecido a `plan build` contém origem, Changes, Tasks, Execution, Requirements/AC e locks,\nmas não precisa calcular hash ou ordem topológica. Toda Task referenciada por `depends_on` precisa\nestar no mesmo plano. `plan validate` verifica o PreparedPlan completo sem materializá-lo.\n\n## SPEC opcional\n\n```bash\nzaip spec create --title "Objetivo técnico" --short-name objetivo-tecnico --objective "Resultado esperado"\nzaip spec prepare SPEC-ID --plan ./spec-plan.json\nzaip spec show SPEC-ID\nzaip spec execute SPEC-ID\n```\n\n`prepare` persiste IDs e DAG validada, sem criar Tasks. `execute` materializa a DAG de modo idempotente. A visão macro da SPEC agrega Tasks, Executions, Runs, evidências, retrabalho, tokens e custo.\n\n## PRD opcional\n\n```bash\nzaip prd create --title "Resultado de negócio" --short-name resultado-negocio --problem "Problema a resolver"\nzaip spec create --prd PRD-ID --title "Entrega técnica" --short-name entrega-tecnica --objective "Resultado técnico"\nzaip prd prepare PRD-ID --plan ./prd-plan.json\nzaip prd show PRD-ID\nzaip prd execute PRD-ID\n```\n\nÉ válido manter vários PRDs em rascunho, refinar alguns e executar somente os selecionados. `prepare`, `execute` e `deliver` bloqueiam PRD sem ao menos uma SPEC filha e qualquer Change do plano sem `spec_id`; o plano global inclui todas as Tasks e dependências selecionadas. `deliver` avalia somente as SPECs selecionadas no PreparedPlan do PRD, portanto outras SPECs filhas ainda em draft não bloqueiam a entrega.\n\nNa criação assistida, “me ajude a pensar” permanece Conversation. “Crie um PRD” faz até cinco perguntas críticas por turno e no máximo três turnos, depois persiste PRD/SPECs/PreparedPlan `draft` e registra decisões delegáveis da IA. Use uma SPEC por padrão; novas SPECs só representam capacidades independentes e paralelizáveis, sem arestas cross-SPEC. Blueprints compactos ficam visíveis antes do `ready`, mas Tasks/Changes/Execution só são materializadas quando o usuário pede “deixe/coloque em Pronto para Executar”, “finalize/conclua esse PRD” em `draft`, ou `execute`. A Run e o `creation_run_id` ficam vinculados ao macro; duração, tokens e custo só são agregados quando observados ou reconciliados e nunca são inventados quando indisponíveis.\n\n`execute` respeita Task, SPEC ou PRD conforme o menor grão nomeado. `implemente` sem alvo abre apenas uma Conversation de planejamento, em `draft` finaliza o plano, em `ready` executa e em estados ativos/falhos continua, retoma ou cria rework. `desenvolva|melhore|aprimore` nunca executa automaticamente. PRD cancelado gera sucessor `draft` com tag `rework` e vínculo ao registro imutável.\n\n## Refinar sem executar\n\nNão existe comando `refine`. Enquanto PRD, SPEC ou Task estiver em `draft`, edite seu Markdown\ncanônico em `.agents/records`, incremente `revision` e atualize `updated_at`; em seguida use `show` e\nos validadores aplicáveis. Depois de `prepare`, não altere o plano silenciosamente: volte a um\ndraft por uma transição explicitamente suportada pela política da entidade ou cancele e crie um\nnovo draft. Isso preserva hash, auditoria e leitura humana.\n\nPara coleções grandes, use listagens compactas: `--status`, `--from`, `--to`, `--prd`, `--spec`, `--task`, `--limit` e `--after`. O padrão retorna no máximo 50 itens; `--all` é explícito.\n\n## Executar e acompanhar a DAG\n\nConsultas de acompanhamento:\n\n```bash\nzaip execution show EXEC-ID\nzaip task show TASK-ID\nzaip run show RUN-ID\nzaip run closure RUN-ID\n```\n\nA execução deve reutilizar a identidade real capturada do turno e seu alvo.\nNão crie um `run start --agent zaip-agent-finalizer` para simular a existência\nde Gui, nem interprete `run finish --status completed` como aprovação.\nO host captura spawn/terminal reais e persiste a decisão observada antes do\nStop canônico, conforme o [guia 16](16-lifecycle-e-reconciliacao.md).\n\nTasks `planned` cujas dependências estejam concluídas podem rodar em paralelo. Declare conflitos de arquivos, módulos, migrations, recursos ou ambientes como bloqueios da DAG; paralelismo não deve depender apenas de pertencerem a SPECs diferentes.\n\nCada Run raiz representa a orquestração de uma Execution. Seus filhos são Sub-Runs: ao menos um executor elegível vem do catálogo, e o último deve ser `zaip-agent-finalizer`; ele só inicia depois dos demais descendentes e impede novos filhos. A CLI aplica sua decisão como `completed`, `blocked`, `failed` ou `cancelled`; finalizador ausente ou falho produz `blocked`. `executing` e `verifying` nunca são estados válidos depois do término da Run raiz. Uma Task bloqueada continua pela mesma identidade com `task resume`. Uma Task falhada exige `task rework`, preserva a identidade e incrementa a tentativa. Tasks concluídas ou canceladas são imutáveis.\n\n### Assurance e autonomia\n\nAtive a garantia tipada sem ativar execução por provider:\n\n```yaml\nexecution:\n runtime: manual\nassurance:\n version: 1\n standard_depth: auto\n require_final_commit: true\n```\n\nTask standalone `lite` exige no mínimo uma validação e uma Evidence — normalmente uma de cada, sem rejeitar provas extras legítimas. `standard` exige duas ou três validações conforme o `verification_scope` persistido e pelo menos uma Evidence consolidada; registros históricos sem esse sinal usam o fallback conservador de write scopes. `critical` exige três ou mais, revisão independente e os controles acionados pelos sinais de risco persistidos. SPEC/PRD exigem ainda três validações e três Evidences parentais, matriz completa, integração e review independente. Para o runtime autônomo, configuração, controles e estratégia econômica, veja [Assurance adaptativa e autonomia opt-in](19-assurance-e-autonomia.md).\n\n## Changes, decisões e evidências\n\nCada alteração possui `.agents/records/changes/YYYY/MM/CHG-.../change.md`, criado antes da primeira mutação. Ele registra:\n\n- plano e Requirement deltas;\n- implementação;\n- decisões humanas e da IA;\n- evidências por Acceptance Criterion;\n- evals e testes;\n- resultado final.\n\nCada teste, revisão, eval ou check executado também deve gerar um artefato reproduzível em\n`artifacts/tests/`, `artifacts/evals/` ou `artifacts/checks/`. O registro inclui ao menos\n`executed_at` com timezone, comando, status, Task, Run e Acceptance Criteria cobertos. Quando uma\nverificação não se aplica, registre `status: not_applicable` e a justificativa; ausência de registro\npermanece pendência. O dashboard contabiliza testes e considera uma etapa rastreada somente quando\nexiste timestamp de origem, sem substituir ausência pelo horário da consulta.\n\nQuando houver prova observável por AC, siga o contrato\n[canônico](../../skills/zaip-skill-change/references/observable-evidence.md).\n`validation observe` registra uma declaração sanitizada inline; não abre arquivo\nde entrada, não executa o procedimento e não cria Validation aprovada. Somente\numa observação `confirmed` e vinculada pode complementar Evidence já compatível.\n\nDecisões curtas ficam inline. Se uma decisão exigir ADR, salve-o em `decisions/` dentro da própria Change ou Execution e mantenha o resumo no Markdown principal.\n\n## Runs e custos\n\nUma Execution é `interaction` para conversa sem Task artificial ou `delivery` para trabalho materializado; esta última coordena a DAG quando existir. Run é a chamada raiz do `zaip-agent-orchestrator` e possui `parent_run_id: null`; Sub-Run é cada chamada de subagente e possui `parent_run_id`. Ambas usam o ledger `RUN-*`, fixam modelo e effort e podem conter várias Calls, ferramentas e segmentos de uso. `run_purpose` distingue orquestração, execução, revisão, auditoria e finalização. Calls permanecem internas e suas quantidades, tokens e custos aparecem agregados na Run/Sub-Run.\n\nOperação oferece Trabalho (Kanban) e Trabalho (Lista), ambas com os filtros Todas as Tarefas, Visão Unificada Geral, PRDs, SPECs e Tarefas Avulsas. A lista mostra status, origem, Runs, Sub-Runs, duração, tokens, custo e cobertura. Operação e Monitor de Custos apresentam Runs e Sub-Runs separadamente. Cada Execution agrega contagens de Runs, Sub-Runs, finalizadores, Tasks finalizadas e Calls conhecidas sem dupla contagem; telemetria incompleta aparece como parcial. Cada segmento de uso é atribuído uma única vez; correções de duplicidade usam supersessão sem apagar o histórico.\n\nA captura do Codex persiste primeiro um envelope sanitizado em\n`.local/codex-telemetry-spool/v1/`, que permanece fora do Git. Depois do terminal da\ninvocação, a compactação produz um `InvocationSummary` e publica chunks e manifestos por\nano/mês/writer em `.agents/records/telemetry/`. Prompts, respostas, reasoning privado e segredos não\nentram nesses arquivos.\n\nQuando o Monitor de Custos recebe `from` e `to`, ele valida hashes e consulta os manifestos antes de\ncarregar somente os chunks compatíveis com o período e os filtros. Na ausência de summaries\naplicáveis, usa a projeção de Run existente sem promover a cobertura. O contrato completo, a\nsemântica de `complete|partial|unavailable` e o procedimento de recuperação estão em\n[Telemetria Git-native do Codex](27-telemetria-git-native.md).\n\nO status técnico do Run (`completed`, `failed` ou `cancelled`) é separado do resultado da Task (`completed`, `blocked`, `failed` ou `cancelled`). Assim, um Run pode concluir tecnicamente e bloquear a Task porque um gate não passou. `execution` começa quando uma tentativa explícita se inicia, mesmo sem diff; `changed_files` e `result` registram se houve mutação.\n\n```bash\nzaip run start --short-name exemplo --phase execution --run-purpose orchestration --entrypoint task --work-type new --client codex --agent zaip-agent-orchestrator --model MODEL --reasoning-effort EFFORT --conversation CONV-ID --execution EXEC-ID --task TASK-ID --change CHG-ID\nzaip run usage RUN-ID --input-tokens N --output-tokens N\nzaip run finish RUN-ID --status completed --task-outcome completed --summary "Resultado" --evidence EVD-ID --changed-files src/arquivo.ts\nzaip run closure RUN-ID\nzaip run show RUN-ID\nzaip run list --phase execution --task TASK-ID --limit 50\nzaip run aggregate --prd PRD-ID --from 2026-07-01 --to 2026-07-31\n```\n\n`run-v2` permanece alias compatível. `run list` retorna resumos compactos e paginados; combine\n`--phase`, `--entrypoint`, `--work-type`, `--conversation`, `--execution`, `--change`, `--task`,\n`--spec`, `--prd`, período e paginação. `run aggregate` usa os mesmos filtros para totalizar uso,\ncusto e cobertura sem dupla contagem. Valores ausentes permanecem nulos; dashboards mostram\ncobertura para impedir que custo desconhecido pareça custo zero.\n\nReconciliação global não roda ao abrir o dashboard, a cada turno ou em intervalo. Ela só é executada\nquando uma pessoa confirma o popup **Reconciliar** ou chama explicitamente\n`zaip run reconcile --open`. O reconciliador usa fatos locais: pode concluir uma Task com evento\nterminal exato; marca Run órfão depois da tolerância como falha técnica; transforma ausência de gates\nem bloqueio; e nunca infere cancelamento ou sucesso sem evidência.\n\n## Organizar frontend, backend e site\n\nCrie somente as superfícies usadas pelo projeto, mas preserve seus papéis:\n\n```text\napps/frontend/ # UI do produto\napps/backend/ # APIs e workers\napps/site/ # landing page e site público independente\nmodules/<area>/ # capacidades de negócio\npackages/<library>/ # bibliotecas técnicas\ntests/e2e/ # jornadas entre aplicações\n```\n\nA dependência aponta de `apps` para `modules` e destes para `packages`. O site público não importa\no dashboard, não lê `.agents` e não acessa implementação privada do backend.\n\nO dashboard ZAIP é outra fronteira, em `.agents/dashboard`. Ele possui somente\n`apps/frontend`; o servidor loopback fica em `packages/local-runtime`, acompanhado dos módulos\n`operations`, `cost-monitor` e `traceability`, demais packages próprios e `tests/e2e`. Ele lê\nos manifests canônicos em `.agents/records/lifecycle` e abre os demais records apenas por ID. A única\nreparação global iniciada pela UI ocorre após confirmação explícita no popup Reconciliar e usa o\ncomando canônico de reconciliação; não deve ser movido para o `apps/frontend` do produto\nnem publicado como `apps/site`.\n\nNo repositório-fonte do ZAIP, o gate de tamanho é executado isoladamente com:\n\n```bash\nnode scripts/validate-source-size.mjs\n```\n\nArquivos com 401–800 linhas geram warning; arquivos com 801 ou mais geram erro. Código gerado,\n`dist`, vendor, `node_modules`, `.agents/records` e lockfiles são ignorados. Exceções temporárias\nexistem apenas para legado não-dashboard, não podem crescer e precisam declarar responsável,\nmotivo e expiração.\n\n## Contrato CLI e taxonomia publicados\n\nO lifecycle observável avança em uma única direção: `conversation → planning → execution`. Task,\nSPEC e PRD são entrypoints distintos; Change narra a mutação, Execution coordena a DAG e Run mede\numa tentativa. O manifesto público do CLI cobre estas áreas e ações:\n\n```text\nzaip setup; zaip doctor\nzaip adapters build|check\nzaip context inventory|build|inspect\nzaip manifest rebuild|refresh|show|reconcile\nzaip verify --changed --risk lite|standard|critical\nzaip architecture validate; zaip cqrs validate; zaip modules validate; zaip profile validate\nzaip eval run\nzaip migrate plan|apply|status|rollback\nzaip plan build|validate|normalize\nzaip prd create|list|show|prepare|ready|execute|activate|deliver|block|fail|cancel\nzaip spec create|list|show|prepare|ready|execute|activate|deliver|block|fail|cancel\nzaip change list|show|start|resume|block|verify|complete|fail|cancel\nzaip task create|list|next|show|prepare|execute|start|resume|rework|block|verify|complete|fail|cancel\nzaip execution list|show|start|resume|pause|block|verify|complete|fail|cancel\nzaip conversation start|finish\nzaip subagent capture\nzaip run start|list|aggregate|usage|finish|closure|reconcile|show\nzaip decision list|show|record\nzaip generate; zaip guard diff; zaip ui; zaip version\n```\n\n`pnpm test:contract` impede drift entre este guia, o manifesto de comandos, versões de packages,\nruntime distribuído e o gate de tamanho. `pnpm test:e2e` executa primeiro esse contrato e depois o\nE2E do dashboard.\n\n## Validação\n\n```bash\nzaip adapters check\nzaip context inventory\nzaip architecture validate\nzaip modules validate\nzaip profile validate\nzaip cqrs validate\nzaip eval run\n```\n\n`modules validate` verifica fronteiras entre `apps`, `modules` e `packages`. `profile validate`\nverifica o contrato de stack declarado em `.agents/config/project.yaml`. CQRS é obrigatório apenas quando o escopo contém casos de uso, estado ou separação de\ncommands/queries.\n\nNo repositório-fonte, rode também `pnpm validate:skills` e `pnpm test:encoding` após alterar Rules, Requirements, skills ou documentação.\n',w=`# Contrato de telemetria do Monitor de Custos
653
1162
 
654
1163
  Este guia descreve o contrato e não declara cobertura, totais ou preços de um período como estado atual.
655
1164
 
@@ -659,7 +1168,12 @@ O Monitor de Custos é uma visão financeira da população de Runs de Operaçã
659
1168
 
660
1169
  ## Fonte e proveniência
661
1170
 
662
- A projeção é **manifest-first**: usa os manifests e registros Git como fonte canônica e a telemetria local apenas para uma reconciliação com correspondência exata. O Dashboard não usa SQLite como fonte de dados do Monitor de Custos.
1171
+ Os registros e manifests Git-native são canônicos. No runtime atual, o Monitor
1172
+ também consulta o SQLite reconstruível: o resumo recebe agregados compactos,
1173
+ enquanto páginas de Runs combinam fatos com manifests canônicos atuais.
1174
+ Caminhos de compatibilidade preservam a leitura manifest-first.
1175
+ SQLite não é outra fonte de verdade; consulta não autoriza reconciliação
1176
+ global nem alteração do histórico.
663
1177
 
664
1178
  Tokens, custo e duração devem exibir sua proveniência. Tokens e configuração efetiva de modelo/effort só são observados quando a fonte os informa; defaults planejados não preenchem esses campos. A projeção pode exibir duração \`observed\`, \`reconciled\`, \`legacy_inferred\` ou \`estimated\`. Apenas \`observed\` é medição da fonte; as demais são derivadas e não satisfazem um critério que exija duração capturada.
665
1179
 
@@ -671,9 +1185,20 @@ Os agregados de Conversas, Providers, Agentes, Modelos, Diário, Mensal e Anual
671
1185
 
672
1186
  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.
673
1187
 
1188
+ Na Visão geral de Tasks, cobertura incompleta produz **Subtotal estimado
1189
+ conhecido**, com valor e contagem conhecida/total. Médias de custo por item/hora
1190
+ ficam indisponíveis nessa condição para não misturar populações.
1191
+ Cobertura completa permite o rótulo **Custo estimado**. Sem soma
1192
+ conhecida, o valor continua indisponível; um zero conhecido não é ocultado.
1193
+ Esses três estados não equivalem a saldo, fatura ou custo integral do provider.
1194
+
674
1195
  ## Filtros e totais
675
1196
 
676
- Filtros preenchidos somente com data são inclusivos: a data inicial começa em \`00:00:00.000Z\` e a final termina em \`23:59:59.999Z\`. O card de custo da Visão geral recebe o mesmo conjunto ativo do Monitor de Custos; por isso card, tabela e total devem coincidir para o mesmo período e moeda.
1197
+ Filtros preenchidos somente com data são inclusivos pelo calendário IANA
1198
+ \`America/Sao_Paulo\`: início à meia-noite local e fim imediatamente antes do
1199
+ próximo dia local, convertidos para UTC. Considere DST histórico; não fixe
1200
+ \`-03:00\` nem use o dia UTC como substituto. Timestamps explícitos conservam
1201
+ seu instante. O card de custo da Visão geral recebe o mesmo conjunto ativo do Monitor de Custos; por isso card, tabela e total devem coincidir para o mesmo período e moeda.
677
1202
 
678
1203
  ## Verificação operacional
679
1204
 
@@ -695,7 +1220,7 @@ Filtros preenchidos somente com data são inclusivos: a data inicial começa em
695
1220
  3. Consulte \`/api/v2/cost-monitor\` no período auditado. Confirme que os campos de cobertura e proveniência são coerentes com o objetivo da auditoria; para alegar telemetria capturada, exija tokens, custo e duração observados, não apenas totais ou estimativas. Em seguida, compare o total de custo retornado com o card da Visão geral usando exatamente os mesmos filtros.
696
1221
 
697
1222
  Se houver uma lacuna, preserve-a como ausência até existir uma correspondência exata e única. Reconciliação ou estimativa podem ser exibidas com proveniência, mas não autorizam alegar token, custo ou duração capturados.
698
- `,w=`# Fluxos e roteamento ZAIP-AIOS
1223
+ `,T=`# Fluxos e roteamento ZAIP-AIOS
699
1224
 
700
1225
  Este guia preserva a explicação operacional detalhada sem tornar a página inicial pesada ou dependente do renderizador Mermaid do GitHub. Os fluxos são texto versionado e pesquisável; os ciclos de lifecycle que precisam de leitura visual usam PNG estático.
701
1226
 
@@ -722,7 +1247,14 @@ atalho de aprovação: o registro não executa o procedimento, não transforma
722
1247
  resultado pendente em verde e não dispensa review/finalizador. Consulte o
723
1248
  [contrato canônico](../../skills/zaip-skill-change/references/observable-evidence.md).
724
1249
 
725
- Em PRD/SPEC com \`model_orchestration.mode:auto\`, trabalho simples e delimitado pode usar Luna/low, execução padrão Terra/medium e ambiguidade, transversalidade ou rework estrutural Sol/high ou xhigh. Conversation e Task-first preservam a seleção manual do host/Codex. Criticidade amplia assurance; não eleva modelo mecanicamente.
1250
+ Com \`autonomy-v1\`, a recuperação segue o preset congelado por Task:
1251
+ Essencial 4/1 sem Astra automático, Equilibrado 10/3 e Persistente ilimitado.
1252
+ Replanejamentos usam Sol/high primeiro e Astra/high nos seguintes permitidos;
1253
+ Astra/high pode executar a partir do terceiro bloco fora do Essencial.
1254
+ Principal avulso preserva a seleção manual e prefere trabalho direto;
1255
+ delegação necessária informa que filhos podem usar outra configuração.
1256
+ Criticidade amplia assurance; não define a quota.
1257
+ Veja [autonomia](19-assurance-e-autonomia.md) e [modelos](23-orquestracao-de-modelos.md).
726
1258
 
727
1259
  ## Entradas e planejamento
728
1260
 
@@ -760,7 +1292,12 @@ Task em execução → Orchestrator → Executor → Evidence e Decisions
760
1292
  → Auditor (quando necessário) → Finalizer → resultado
761
1293
  \`\`\`
762
1294
 
763
- O resultado pode ser concluído, bloqueado, falhado, cancelado ou exigir rework. Bloqueio e rework iniciam um novo ciclo controlado; cancelamento é uma decisão humana explícita. O finalizador fecha a Run somente depois da revisão e de qualquer auditoria exigida.
1295
+ O resultado pode ser concluído, bloqueado, falhado ou cancelado; rework é uma
1296
+ continuação autorizada, não outro estado terminal nem reset do orçamento.
1297
+ Sem evidência suficiente, bloqueie; com impedimento técnico comprovado, falhe.
1298
+ O host persiste a decisão de Gui e fecha pela CLI. Gui é último filho direto
1299
+ do responsável da Task, não de cada trabalhador; não aguarda recibos em loop.
1300
+ O controle de quotas depende do despacho gerenciado, não do desenho do fluxo.
764
1301
 
765
1302
  ## Lifecycle e operação
766
1303
 
@@ -769,519 +1306,220 @@ O caminho de sucesso é Definição → Planejamento → Pronto para Executar
769
1306
  ![Lifecycles de Task, SPEC e PRD](assets/diagrams/lifecycles-task-spec-prd.png)
770
1307
 
771
1308
  Para os contratos completos e comandos de lifecycle, consulte [28-lifecycle-completo.md](28-lifecycle-completo.md).
772
- `,T=`# Guia de orquestração de modelos e reasoning effort
773
-
774
- ## Objetivo
775
-
776
- Este guia define como o ZAIP-AIOS recomenda modelo, \`reasoning effort\` e velocidade para cada trabalho. A política deve equilibrar quatro resultados:
777
-
778
- - alta assertividade na entrega;
779
- - baixo percentual de bugs e rework;
780
- - validação proporcional ao risco;
781
- - economia de tokens, custo e tempo total até a entrega verificada.
782
-
783
- Na implementação atual, a política suporta \`manual\`, \`off\` e \`auto\`. No projeto ZAIP-AIOS, \`auto\` está ativado somente para Executions originadas por SPEC ou PRD; Conversation e Task-first preservam o modelo, o reasoning effort e a velocidade selecionados manualmente no Codex. \`manual\` continua disponível para rollback e permanece o default de novas instalações.
784
-
785
- Na política automática, Executions originadas por PRD ou SPEC solicitam velocidade \`standard\`, sem override para Fast. Em Conversation ou Task-first independente, a seleção de Fast pertence ao host/Codex; o ZAIP não a ativa, persiste nem herda. Velocidade do provider, paralelismo e tempo total até a tarefa aceita são medidas distintas.
786
-
787
- ## Estado atual
788
-
789
- ### Estado verificado do framework
790
-
791
- O schema canônico de \`project.yaml\` aceita \`manual\`, \`off\` e \`auto\`. O Agent Run registra agente, papel, pai, modelo e \`reasoning_effort\` planejados. O resolvedor aplica política e overrides quando a Run começa; Calls internas apenas herdam essa configuração e acumulam telemetria na própria Run.
792
-
793
- Uma mudança deliberada de modelo, effort, agente ou fase material exige uma nova Agent Run. Por isso, uma Task pode usar configurações diferentes em implementação, revisão e rework, desde que cada etapa possua sua própria Run relacionada. Retry técnico e retomada por checkpoint preservam a configuração original.
794
-
795
- ### Modo manual
796
-
797
- Quando \`model_orchestration.mode\` estiver como \`manual\`, o ZAIP:
798
-
799
- 1. usa modelo, esforço e velocidade somente quando estiverem explícitos no input ou contexto técnico do turno;
800
- 2. classifica o trabalho;
801
- 3. recomenda uma configuração;
802
- 4. informa a recomendação antes de continuar;
803
- 5. nunca altera a configuração automaticamente.
804
-
805
- O modo manual não usa hook nem tenta coletar a configuração efetiva no transcript. \`default_model\`, \`default_effort\` e \`default_velocity\` podem orientar uma recomendação, mas não comprovam o que o host executou. Quando modelo, effort ou velocidade efetivos não vierem de fonte observada, registre-os como indisponíveis/\`unknown\`; nunca os infira pelo comportamento aparente do modelo nem os substitua pelo default.
806
-
807
- Formato recomendado:
808
-
809
- \`\`\`text
810
- Você está usando o modelo <modelo>, esforço <esforço> e velocidade <velocidade>.
811
- Esta tarefa é <lite|padrão|crítico>; recomendo esforço <esforço> e velocidade
812
- <velocidade> porque <motivos observáveis>. Caso concorde, cancele esta tarefa
813
- e faça a configuração manual no Codex.
814
- \`\`\`
815
-
816
- ### Modo automático por origem
817
-
818
- O modo automático resolve uma configuração antes de cada Agent Run elegível e preserva separadamente os valores planejados e os valores efetivamente observados. A decisão é metadado estruturado do runtime; instruções em linguagem natural como “use high effort” não garantem mudança real.
819
-
820
- O campo \`automatic_sources\` é a fronteira de aplicação. O contrato aceita exatamente \`spec\` e \`prd\`: somente as Tasks materializadas dentro dessas Executions recebem seleção automática, sempre com velocidade \`standard\`. Uma Execution originada diretamente de \`task\`, uma Conversation ou uma Task avulsa não recebe a política e não herda \`default_model\`, \`default_effort\` nem \`default_velocity\`; preserva os três valores escolhidos manualmente no Codex.
821
-
822
- Cada Task ou fase materialmente distinta deve executar em seu próprio Agent Run. Calls produzidas durante a Run usam o mesmo modelo e effort. Tasks paralelas podem usar configurações diferentes simultaneamente quando estiverem isoladas em Runs próprias.
823
-
824
- O modo automático é híbrido e governado: o modelo pode propor a configuração a partir dos metadados da Task elegível, mas um resolvedor determinístico limita a decisão à allowlist, aos caps e à precedência do projeto. Isso preserva a flexibilidade documentada pelo Codex sem transformar uma decisão de custo e qualidade em texto não auditável.
825
-
826
- ### Escolha manual no Codex
827
-
828
- Um \`.codex/config.toml\` sem cabeçalho \`zaip-managed\` é tratado como overlay local do usuário. \`adapters build\` o preserva e \`adapters check\` o aceita sem mascarar drift nos hooks, regras, instruções e demais projeções gerenciadas. Isso impede que uma atualização do framework restaure silenciosamente um pin de modelo ou apague preferências locais.
829
-
830
- Os registros e perfis \`zaip-agent-*\` pertencem exclusivamente ao catálogo do projeto em \`.agents/config/agents/catalog.yaml\`. Para Codex, os perfis gerados ficam em \`.agents/config/clients/codex/agents/*.toml\`, e \`.codex/config.toml\` mantém apenas os registros que os referenciam e o bootstrap nativo. A inicialização não copia configuração de projeto para \`~/.codex\`; somente remove registros globais legados que reutilizem essas identidades técnicas e poderiam prevalecer ou conflitar com o projeto confiável.
831
-
832
- O Codex trata \`model\` e \`model_reasoning_effort\` em \`config.toml\` como defaults duráveis. A precedência relevante é: flags/overrides da CLI, \`.codex/config.toml\` do projeto confiável e \`~/.codex/config.toml\`. Portanto, o pin que bloqueia a preferência pessoal é o do projeto, porque ele prevalece sobre o global.
833
-
834
- Para permitir escolha manual em Conversation e Task-first, não fixe \`model\`, \`model_reasoning_effort\` nem \`service_tier\` no \`.codex/config.toml\` do projeto. O arquivo global pode guardar a última preferência escolhida manualmente pelo usuário; remova esses campos globais somente quando quiser voltar aos valores recomendados. Reinicie o Codex depois de uma edição externa e use \`/debug-config\` ou \`codex --strict-config\` quando houver dúvida sobre precedência.
835
-
836
- ## Princípios de decisão
837
-
838
- 1. **Qualidade é uma restrição, não uma média com custo.** Acceptance Criteria, testes e gates precisam passar antes de otimizar tokens.
839
- 2. **Use o menor effort que entrega a qualidade necessária.** Aumente somente por necessidade observável ou ganho medido.
840
- 3. **Modelo, effort e risco são dimensões diferentes.** O modelo segue a forma e a complexidade da Task; o agente fornece o effort-base; o risco define gates.
841
- 4. **Validação reduz bugs melhor que effort isolado.** Testes determinísticos, revisão independente e auditoria não podem ser substituídos por mais reasoning.
842
- 5. **Custo relevante é o total até a entrega verificada.** Planejamento barato que gera muitos reparos pode custar mais que um planejamento mais profundo.
843
- 6. **Escalada exige evidência.** Ambiguidade, falha estrutural, finding ou rework justificam elevar um nível; volume mecânico não.
844
- 7. **Toda decisão deve ser observável.** Registre a configuração planejada no Agent Run e, quando disponível, a configuração efetiva agregada de suas Calls.
1309
+ `,E=`# Guia de orquestração de modelos e reasoning effort
1310
+
1311
+ ## Objetivo e versão do contrato
1312
+
1313
+ A política busca resolver a entrega com prova suficiente e reduzir retrabalho,
1314
+ sem economia acima da qualidade nem persistência ilimitada por padrão.
1315
+ Este guia descreve as fontes em preparação para a v3, não uma release publicada.
1316
+ O [guia 19](19-assurance-e-autonomia.md) contém configuração, contagem e limites
1317
+ de \`autonomy-v1\`. A configuração efetiva do projeto e a versão instalada
1318
+ prevalecem sobre exemplos.
1319
+
1320
+ Há três decisões independentes: modelo/esforço da invocação, persistência por
1321
+ Task e rigor da verificação. Risco não é quantidade de tentativas; preset de
1322
+ autonomia não é perfil de instalação nem permissão.
1323
+
1324
+ ## Principal avulso e delegação
1325
+
1326
+ Conversation e principal de Task avulsa preservam o modelo e esforço escolhidos
1327
+ manualmente no Codex. Priorize execução direta. O ZAIP não troca silenciosamente
1328
+ o seletor do usuário nem exige subagente para responder uma pergunta simples.
1329
+
1330
+ Se a entrega precisar de especialidade, isolamento ou revisão/finalização
1331
+ exigida, delegue pelo catálogo com escopo e responsabilidade explícitos. Antes,
1332
+ informe:
1333
+
1334
+ > Orquestração ZAIP: subagentes podem usar modelo e esforço diferentes do agente
1335
+ > principal, conforme o perfil de autonomia. A configuração efetivamente
1336
+ > observada será informada.
1337
+
1338
+ Não há obrigação de herdar o modelo do principal. Selecionar Astra/ultra no
1339
+ Codex não significa que todos os filhos executarão Astra/ultra. Modelo/effort
1340
+ planejados e efetivos são campos distintos; só a observação do host/provider
1341
+ comprova os efetivos. Reutilizar um UUID nativo não comprova que o modelo da
1342
+ nova invocação permaneceu igual.
1343
+
1344
+ Delegação flexível não autoriza outro chat, identidade inventada, alteração de
1345
+ permissões, perda da revisão independente ou segundo responsável pela mesma
1346
+ Task. Delivery exige executor capturado ou contrato de raiz direta autorizada
1347
+ desde o início; a preferência direta não dispensa Evidence, revisão ou Gui.
1348
+
1349
+ ## Escalada em autonomy-v1
1350
+
1351
+ | Preset | Replanejamento 1 | Replanejamento 2 | Replanejamento 3 | Execução Astra |
1352
+ | --- | --- | --- | --- | --- |
1353
+ | \`essential\` | Sol/high | Não existe | Não existe | Nunca automática |
1354
+ | \`balanced\` | Sol/high | Astra/high | Astra/high | Elegível no bloco do terceiro replanejamento |
1355
+ | \`persistent\` | Sol/high | Astra/high | Astra/high, e seguintes sem teto | Elegível a partir do terceiro replanejamento |
1356
+
1357
+ O Essencial permite no máximo quatro execuções de produto e um
1358
+ replanejamento. O Equilibrado permite dez execuções e três replanejamentos.
1359
+ O Persistente é opt-in genuinamente ilimitado; não recebe o teto legado de
1360
+ três diagnósticos Astra. Cada plano válido libera até três reparações.
1361
+
1362
+ A única exceção Astra no Essencial é o **principal avulso selecionado
1363
+ manualmente**. A seleção automática final é revalidada depois de herança,
1364
+ fallback e configuração. Um modelo Astra configurado num agente não libera
1365
+ Astra automático no Essencial.
1366
+
1367
+ Nos demais presets, Astra automático usa somente \`high\`: não \`xhigh\`,
1368
+ \`max\` ou \`ultra\`. Pode replanejar a partir do segundo plano e executar a
1369
+ partir do terceiro, quando a rota válida o selecionar; não se torna reviewer
1370
+ ou finalizer. A exceção de execução não acrescenta tentativas nem amplia
1371
+ write scopes.
1372
+
1373
+ O primeiro replanejamento usa \`gpt-5.6-sol\`; os seguintes permitidos usam
1374
+ \`gpt-6-astra\`. Executor e replanejador são invocações diferentes. Planejar
1375
+ com Astra não obriga a executar com Astra no segundo bloco.
1376
+
1377
+ ## Replanejar não é repetir sem diagnóstico
1378
+
1379
+ O replanejador recebe objetivo, ACs, falha observada, evidência, restrições e
1380
+ histórico compacto do que foi tentado. O retorno gerenciado é JSON estrito com
1381
+ \`hypothesis\`, \`test\` e \`executor_model\`; a rota conserva o escopo autorizado.
1382
+ O adaptador isola suas ferramentas e MCPs; esse papel não
1383
+ edita produto nem cria outros filhos.
1384
+
1385
+ No gerenciado, o pacote serializado é delimitado a 48.000 bytes e declara
1386
+ 8.000 tokens de saída. Bytes não são tokens faturados. O modelo/esforço e a
1387
+ reserva são validados antes do despacho, e o resultado é persistido de forma
1388
+ imutável. Plano inválido consome a reserva e não libera reparação.
1389
+
1390
+ Uma reparação aplica uma hipótese verificável, testa o comportamento relevante
1391
+ e preserva os ACs. Ausência de progresso exige diagnóstico novo dentro do
1392
+ orçamento; testes repetidos sem mudança não constituem nova evidência.
1393
+ Falha de ferramenta, credencial ou ambiente não comprova falha de raciocínio.
1394
+
1395
+ Não existe abandono da Task por 15 ou 60 minutos. Timeouts técnicos, leases,
1396
+ telemetria de duração e checkpoints têm outras funções. Resultado desconhecido
1397
+ não libera despacho duplicado. Para retomada, consulte o diário existente,
1398
+ não crie outra Task ou apague \`.local\` para renovar a quota.
845
1399
 
846
1400
  ## Família de modelos
847
1401
 
848
- A política preserva GPT-5.6 para execução e acrescenta Astra somente para diagnóstico difícil evidenciado:
849
-
850
- | Modelo | Uso preferencial |
851
- | --- | --- |
852
- | \`gpt-5.6-luna\` | trabalho claro, repetitivo, determinístico e de alto volume |
853
- | \`gpt-5.6-terra\` | implementação, teste, diagnóstico e integração cotidiana |
854
- | \`gpt-5.6-sol\` | trabalho ambíguo, transversal, arquitetural, crítico ou de alto valor |
855
- | \`gpt-6-astra\` | diagnóstico excepcional, somente \`high\`, seguido de devolução ao executor |
856
-
857
- Os defaults iniciais ficam definidos assim:
858
-
859
- | Campo | Default |
860
- | --- | --- |
861
- | modelo fallback/baseline | \`gpt-5.6-terra\` |
862
- | effort fallback/baseline | \`medium\` |
863
- | velocidade fallback/baseline | \`standard\` |
864
- | modelo eficiente elegível | \`gpt-5.6-luna\` |
865
- | modelo frontier elegível | \`gpt-5.6-sol\` |
866
- | consultor diagnóstico excepcional | \`gpt-6-astra high\`; até três diagnósticos por Task |
867
- | teto automático de effort | \`xhigh\` |
868
- | \`xhigh\` automático | habilitado somente pelos critérios de elegibilidade |
869
- | \`max\` e \`Ultra\` automáticos | fora de escopo |
870
- | velocidade solicitada | sempre \`standard\`; não participa da seleção |
871
-
872
- Terra \`medium\` é o fallback quando os sinais forem insuficientes ou conflitantes. Sol não deve ser usado em tudo; Luna não deve ser usado quando a Task depende de julgamento arquitetural ou ambiguidade relevante.
873
-
874
- \`ultra\` e \`max\` não fazem parte da política: o ZAIP-AIOS nunca os seleciona. Luna, Terra e Sol usam effort \`low\`, \`medium\`, \`high\` ou \`xhigh\` conforme elegibilidade. Astra usa somente \`high\`; nem um override libera \`xhigh\`, \`max\` ou \`ultra\` para ele.
875
-
876
- ### Astra: diagnóstico, correção de rota e devolução
877
-
878
- Sol permanece como escolha normal da faixa difícil. Astra recebe uma questão diagnóstica delimitada quando o ganho potencial de evitar novo reparo justifica seu uso. A regra canônica é [RULE-ASTRA-DIAGNOSTIC](../../rules/astra-diagnostic.md), carregada apenas nessa avaliação; o kernel e os prompts de Marketing, Sales, Growth e Ops não incorporam essa expansão.
879
-
880
- | Situação observada | Rota |
881
- | --- | --- |
882
- | Pergunta direta, copy, análise comercial simples, alteração mecânica | Luna/Terra conforme perfil existente |
883
- | Arquitetura ou problema difícil com caminho conhecido | Sol; execução delimitada em Luna/Terra |
884
- | Tentativa executora falhou por hipótese/raciocínio; complexidade ou ambiguidade alta e evidência disponível | Um diagnóstico Astra high antes do reparo seguinte |
885
- | Impacto material crítico e diagnóstico difícil, ambos evidenciados | Astra high preventivamente, antes da primeira implementação |
886
- | Falha de ambiente, credencial, ferramenta, sintaxe ou ausência de prova | Corrigir a condição ou obter prova com o executor; não acionar Astra |
887
- | Mesmo diagnóstico/plano sem progresso, ou três diagnósticos já reservados | Parar a escalada; executar rota útil ou registrar bloqueio concreto |
888
-
889
- A expressão “tarefa crítica”, o risco isolado, o departamento, a quantidade de arquivos e o tamanho do pedido nunca bastam. A política usa metadados estruturados e prova referenciada. Um reparo localizado não se torna diagnóstico difícil só porque a primeira tentativa falhou.
890
-
891
- Cada ciclo significa **uma invocação diagnóstica Astra governada**, com reserva atômica antes do dispatch. O teto é três por ID estável de Task, somando retomadas, Runs e Executions; normalmente basta uma consulta. Uma reserva consumida não permite repetir o dispatch nem é devolvida após timeout. Call interna, evento de uso e checkpoint não são contadores de diagnóstico.
892
-
893
- O pacote de entrada contém falha observada, tentativa anterior, evidência, restrições e critérios de aceite. É uma sessão nova, sem herdar histórico integral, sem ferramentas de execução nem filhos. O envelope limita a entrada serializada a 48000 bytes, declara até 8000 tokens de saída e termina após até 180 segundos. Bytes não equivalem a tokens; o runtime verifica o consumo informado pelo provider, sem transformar orçamento declarado em economia medida.
894
-
895
- Astra retorna JSON com \`findings\`, \`evidence\`, \`cause_or_hypothesis\`, \`route\`, \`scope\`, \`test_plan\`, \`executor\` e \`recommended_model\` restrito a Luna/Terra/Sol. O coordenador valida o retorno e entrega a correção ao executor. Astra não implementa, não substitui a revisão normal e não finaliza a entrega.
896
-
897
- O objetivo da segunda tentativa é aplicar uma hipótese corrigida e testável. Outra consulta precisa de evidência nova e mudança de hipótese/rota; não se permite repetir o mesmo plano alternando Astra e Sol. Se faltar prova para avançar, o retorno identifica a prova faltante, sem prometer resolução automática.
898
-
899
- A política \`model-orchestration-v2\` mantém legível a configuração anterior com três modelos. Incluir Astra na allowlist habilita apenas essa rota condicionada; removê-lo desativa novos diagnósticos preservando histórico e quota. Novas instalações continuam em \`manual\`. O modo automático permanece restrito a SPEC/PRD. O framework controla processos que ele próprio despacha; não consegue alterar ou limitar uma sessão manual já selecionada no aplicativo Codex.
900
-
901
- O isolamento é aplicado pelo adapter Codex antes da inferência: configuração transitória, sandbox de leitura, ferramentas de shell/apps/browser/multi-agent desabilitadas e cada servidor MCP efetivo desabilitado individualmente. Se a configuração não puder ser verificada, o diagnóstico não inicia. Um evento inesperado de ferramenta provoca cancelamento adicional; essa verificação posterior não substitui a restrição anterior.
902
-
903
- ## Reasoning effort
904
-
905
- | Effort | Uso recomendado |
906
- | --- | --- |
907
- | \`low\` | execução clara, roteamento, busca delimitada, transformação e integração sem conflito |
908
- | \`medium\` | padrão para agentic coding, planejamento delimitado, implementação e revisão cotidiana |
909
- | \`high\` | debugging complexo, planejamento profundo, síntese final e auditoria crítica delimitada |
910
- | \`xhigh\` | exceção para planejamento, replanejamento, segurança, code review ou auditoria em problemas excepcionalmente difíceis |
911
-
912
- Regras adicionais:
913
-
914
- - \`xhigh\` é aceito pelo framework automático, mas permanece inelegível para trabalho comum.
915
- - \`xhigh\` e \`high\` não devem ser defaults de implementação extensa.
916
- - \`xhigh\` pode ser selecionado automaticamente somente quando os critérios de elegibilidade forem satisfeitos; os evals devem calibrar os gatilhos sem liberar uso genérico.
917
- - \`high\` e \`xhigh\` devem receber contexto e saída delimitados para evitar turnos abertos e excessivamente longos.
918
- - \`max\` não pertence à primeira versão automática e \`ultra\` é explicitamente inválido no modo \`auto\`.
919
-
920
- ## Velocidade por origem
921
-
922
- Modelo e effort podem variar entre Agent Runs, nunca entre Calls da mesma Run. A origem da Execution define quem controla a velocidade:
923
-
924
- | Origem | Modelo e effort | Velocidade | Execução Fast |
925
- | --- | --- | --- | --- |
926
- | Conversation | seleção manual do Codex | seleção manual do Codex | não é execução de produto |
927
- | Task-first | seleção manual do Codex | seleção manual do Codex | somente por seleção manual no Codex |
928
- | SPEC | política automática ZAIP | sempre \`standard\` | não suportada |
929
- | PRD | política automática ZAIP | sempre \`standard\` | não suportada |
930
-
931
- No modo \`auto\`, toda Run de PRD ou SPEC solicita velocidade \`standard\`, e nenhum override de Task, PreparedPlan ou Execution pode mudá-la durante sua vigência. Tasks descendentes não podem escapar dessa regra. O \`service_tier\` efetivo retornado pelo host/provider continua sendo registrado como observação, mas não altera \`default_velocity\` nem retroalimenta o seletor.
932
-
933
- Selecionar Fast manualmente no Codex afeta somente Conversation ou Task-first, conforme o estado do host. O ZAIP não muda o seletor, não grava Fast em configuração persistente e não propaga a seleção para uma futura Execution de PRD ou SPEC. Se um trabalho urgente exige a DAG ou os gates parentais de uma SPEC/PRD, ele continua em \`standard\`; não fragmente artificialmente o macro em Task-first apenas para obter mais velocidade.
934
-
935
- ## Separação entre risco e complexidade
936
-
937
- O ZAIP usa duas classificações independentes:
938
-
939
- - risco: \`lite\`, \`standard\`, \`critical\`;
940
- - complexidade: \`simple\`, \`standard\`, \`complex\`.
941
-
942
- O risco governa verificação e proteção. A complexidade influencia modelo e effort.
943
-
944
- | Risco | Gates mínimos esperados |
1402
+ | Modelo | Papel dentro da política ZAIP |
945
1403
  | --- | --- |
946
- | \`lite\` | verificação scoped e Acceptance Criteria aplicáveis |
947
- | \`standard\` | testes dos packages afetados, revisão e evidência |
948
- | \`critical\` | verificação completa, revisão independente, segurança quando aplicável, rollout e rollback |
949
-
950
- Uma Task \`critical\` e mecânica pode ser executada em Terra \`medium\`, desde que receba gates críticos. Uma Task de risco \`standard\`, mas altamente ambígua e transversal, pode exigir Sol \`medium\` ou \`high\` no planejamento.
951
-
952
- ## Política por agente
953
-
954
- O agente define um baseline, nunca a decisão inteira. A política combina papel, fase e metadados da Task quando o Agent Run começa:
955
-
956
- O catálogo mantém IDs internos estáveis como \`agent-builder\`, enquanto o adapter Codex os registra como \`zaip-agent-builder\`. O nome exibido vem de \`codex_task_name\` e coincide com o único \`nickname_candidates\`: \`nome_funcao_por_extenso_zaip_agent\`, sem repetir o cargo técnico. O adapter configura \`max_depth = 2\` e \`max_concurrent_threads_per_session = 5\`: essa é capacidade estrutural da squad, não permissão para executar cinco Tasks. A execução autônoma começa com uma Task e só eleva até três ramos realmente independentes.
957
-
958
- | Agente | Configuração-base | Elevação típica |
959
- | --- | --- | --- |
960
- | \`agent-orchestrator\` | Terra \`low\` | Sol \`medium\` para DAG complexa; \`high\` para síntese final crítica |
961
- | \`agent-builder\` | Terra \`medium\` | Sol \`medium\` para arquitetura, segurança ou migração |
962
- | \`agent-reviewer\` | Terra \`medium\` no catálogo | Sol quando a política e os sinais da revisão justificarem elevação; \`high\` para revisão complexa delimitada |
963
- | \`agent-integrator\` | Terra \`medium\` | Sol \`medium\` somente quando outra regra explícita exigir raciocínio transversal |
964
- | \`agent-auditor\` e \`agent-security-auditor\` | Sol \`high\` | \`xhigh\` apenas quando elegível e medido |
965
- | \`agent-finalizer\` | Terra \`medium\` | sem elevação automática; avalia evidência já produzida |
966
- | fallback \`codex\` | Terra \`medium\` | resolver novamente pela Task e pelos gates |
967
-
968
- Se nenhum agente do catálogo for selecionado, o nome do cliente/host é usado como fallback de identidade. No Codex:
969
-
970
- \`\`\`yaml
971
- agent: codex
972
- client: codex
973
- provider: openai
974
- \`\`\`
975
-
976
- \`agent\`, \`client\` e provider de inferência são dimensões diferentes. O fallback de agente continua \`codex\`; a inferência dos modelos GPT-5.6 usa provider \`openai\`. Identidade do agente e configuração do modelo são decisões separadas.
977
-
978
- ## PRD e SPEC
979
-
980
- ### PRD
981
-
982
- Use \`medium\` para descoberta e primeiro rascunho. Use \`high\` quando o PRD tiver múltiplos stakeholders, trade-offs relevantes ou várias SPECs. Reserve \`xhigh\` para uma passagem final em PRDs críticos que governem múltiplas SPECs, decisões de alto custo de reversão, compliance, segurança ou rollout complexo.
983
-
984
- ### SPEC
985
-
986
- A SPEC tem maior potencial de retorno para reasoning elevado porque seus erros se propagam para DAG, Tasks e implementação. Use \`high\` em SPECs transversais ou arquiteturais. Uma passagem final \`xhigh\` pode ser elegível quando houver:
987
-
988
- - frontend, backend e persistência ou infraestrutura;
989
- - mudança de contrato de API;
990
- - múltiplos módulos dependentes;
991
- - migração e compatibilidade temporária;
992
- - autenticação, autorização, segurança ou dados críticos;
993
- - rollout e rollback complexos;
994
- - muitas Tasks paralelas ou locks relevantes;
995
- - rework anterior causado por falha de arquitetura;
996
- - Acceptance Criteria difíceis de transformar em testes.
997
-
998
- ### Fluxo econômico de planejamento
999
-
1000
- \`\`\`text
1001
- Descoberta e rascunho -> Terra ou Sol medium
1002
- Estruturação do PRD/SPEC -> Sol high, quando complexo
1003
- Crítica e consolidação final -> Sol xhigh, somente quando elegível
1004
- Execução da DAG -> Luna low ou Terra medium
1005
- Auditoria final -> Sol medium ou high
1006
- \`\`\`
1007
-
1008
- O melhor uso de \`xhigh\` é como crítico final de um documento já estruturado, não como autor a partir de uma página em branco. O turno deve receber Requirements, Acceptance Criteria, decisões, restrições, contratos, riscos, testes, rollout e rollback. A saída deve ficar limitada a contradições, lacunas, riscos, correções e decisão de prontidão.
1009
-
1010
- ## DAG e múltiplas Tasks
1011
-
1012
- O resolvedor executa antes de cada Task pronta e novamente quando uma etapa materialmente distinta abre outro Agent Run:
1013
-
1014
- \`\`\`text
1015
- Task pronta
1016
- -> resolver agente
1017
- -> resolver modelo e effort
1018
- -> validar capacidades do modelo
1019
- -> iniciar Agent Run
1020
- -> registrar configuração solicitada
1021
- -> executar e verificar
1022
- -> registrar configuração efetiva
1023
- \`\`\`
1024
-
1025
- Se Tasks paralelas exigirem configurações diferentes, cada uma deve usar Agent Run isolada. Em uma mesma thread sequencial, cada nova Run recebe explicitamente modelo e effort para impedir herança acidental da configuração anterior.
1026
-
1027
- Para PRDs, o runtime materializa Executions-filhas somente quando as dependências permanecem dentro da SPEC e os write scopes são globalmente disjuntos. Cada filha recebe Agent Runs, estado, orçamento e handoff próprios. O pai aguarda os terminais, integra os commits sem reexecutar Tasks e aplica validação cross-SPEC antes do finalizer; ramos inelegíveis permanecem em sua DAG global.
1028
-
1029
- ## Rework e escalada
1030
-
1031
- Comece na configuração mais barata considerada segura:
1032
-
1033
- \`\`\`text
1034
- Luna low -> Terra medium -> Sol medium -> Sol high -> Sol xhigh
1035
- \`\`\`
1036
-
1037
- Eleve apenas um nível por vez, em novo turno, quando houver:
1038
-
1039
- - ambiguidade material não resolvida;
1040
- - falha de teste após tentativa válida de correção;
1041
- - conflito arquitetural ou entre módulos;
1042
- - finding de segurança;
1043
- - rejeição do reviewer;
1044
- - invalidação do PreparedPlan por aumento de complexidade;
1045
- - evidência insuficiente para Acceptance Criteria;
1046
- - rework estrutural causado por dependência, contrato, sequência, migração ou escopo.
1047
-
1048
- Não eleve por erro de sintaxe, teste localizado, código gerado, refatoração repetitiva ou simples quantidade de arquivos.
1049
-
1050
- ### Elegibilidade para xhigh
1051
-
1052
- Exija as quatro condições:
1053
-
1054
- 1. alta complexidade ou ambiguidade arquitetural;
1055
- 2. alto custo esperado de rework;
1056
- 3. efeito transversal ou crítico;
1057
- 4. turno delimitado de planejamento, replanejamento ou auditoria.
1058
-
1059
- Além disso, exija pelo menos dois gatilhos observáveis:
1060
-
1061
- - frontend, backend e persistência ou infraestrutura;
1062
- - três ou mais módulos com contratos compartilhados;
1063
- - migração, segurança, autenticação ou dados críticos;
1064
- - rollout parcial e rollback necessário;
1065
- - dois ciclos de reparo falharam pela mesma causa estrutural;
1066
- - finding arquitetural do reviewer;
1067
- - PreparedPlan invalidado;
1068
- - alternativas arquiteturais com trade-offs materiais.
1069
-
1070
- Os números são critérios operacionais iniciais do ZAIP, não limites publicados pela OpenAI. Eles devem ser recalibrados por evals.
1071
-
1072
- ## Medição e break-even
1073
-
1074
- O KPI principal é \`tokens totais até entrega verificada\`:
1075
-
1076
- \`\`\`text
1077
- custo total = planejamento
1078
- + implementação
1079
- + testes e diagnóstico
1080
- + revisão e auditoria
1081
- + ciclos de reparo
1082
- \`\`\`
1083
-
1084
- O break-even de \`xhigh\` é:
1085
-
1086
- \`\`\`text
1087
- custo adicional do planejamento xhigh / custo médio de um ciclo de rework
1088
- \`\`\`
1089
-
1090
- Se \`xhigh\` adicionar \`E\` tokens ao planejamento e um ciclo médio de rework custar \`R\`, ele precisa evitar ao menos \`E / R\` ciclos por Task para empatar em tokens. Latência, custo monetário e criticidade continuam como guardrails separados.
1091
-
1092
- ### Métricas obrigatórias
1404
+ | \`gpt-5.6-luna\` | Execução clara e delimitada, conforme catálogo e capacidade |
1405
+ | \`gpt-5.6-terra\` | Implementação, testes e integração cotidianos |
1406
+ | \`gpt-5.6-sol\` | Planejamento difícil, revisão especializada e primeiro replanejamento |
1407
+ | \`gpt-6-astra\` | Replanejamentos e exceção de execução permitidos pelo preset |
1093
1408
 
1094
- - sucesso da Task e dos Acceptance Criteria;
1095
- - tokens totais e tokens de reasoning;
1096
- - latência total até conclusão;
1097
- - custo total até entrega verificada;
1098
- - aprovação na primeira revisão;
1099
- - quantidade de repair cycles;
1100
- - findings arquiteturais e de segurança;
1101
- - falhas de integração;
1102
- - invalidações do PreparedPlan;
1103
- - completude das evidências;
1104
- - bugs encontrados depois da entrega.
1409
+ Esses são papéis configurados pelo ZAIP, não alegações de benchmark dos
1410
+ modelos. Disponibilidade e esforços aceitos precisam ser confirmados no host.
1411
+ Mais reasoning não substitui teste, reviewer ou evidência.
1105
1412
 
1106
- ### Piloto recomendado
1413
+ O catálogo define baselines por agente. Uma seleção deliberadamente diferente
1414
+ abre nova Run com sua identidade real. Calls internas preservam a configuração
1415
+ solicitada da Run; fallback do provider aparece como observado, sem reescrever
1416
+ o cabeçalho. Sem fonte efetiva, mantenha \`null\`/\`unavailable\`.
1107
1417
 
1108
- Compare \`Sol high\` e \`Sol xhigh\` somente no planejamento, mantendo execução e revisão iguais:
1418
+ ## Configuração e ativação
1109
1419
 
1110
- \`\`\`text
1111
- Grupo A: planejamento Sol high -> execução Terra medium -> revisão Sol medium
1112
- Grupo B: planejamento Sol xhigh -> execução Terra medium -> revisão Sol medium
1113
- \`\`\`
1114
-
1115
- Ative \`xhigh\` para uma classe de trabalho somente quando o grupo correspondente demonstrar ganho de qualidade ou confiabilidade que compense tokens, custo e latência adicionais.
1116
-
1117
- ## Contrato de configuração automática
1118
-
1119
- A configuração automática usada pelo projeto é:
1120
-
1121
- \`\`\`yaml
1122
- model_orchestration:
1123
- mode: auto
1124
- default_model: gpt-5.6-terra
1125
- default_effort: medium
1126
- default_velocity: standard
1127
- allowed_models:
1128
- - gpt-5.6-luna
1129
- - gpt-5.6-terra
1130
- - gpt-5.6-sol
1131
- allowed_efforts:
1132
- - low
1133
- - medium
1134
- - high
1135
- - xhigh
1136
- max_auto_effort: xhigh
1137
- automatic_sources:
1138
- - spec
1139
- - prd
1140
- notice: mismatch
1141
- \`\`\`
1142
-
1143
- Projetos novos continuam em \`manual\` até o rollout provar qualidade e custo. A mudança para \`auto\` é opt-in por projeto e por origem; \`task\` é rejeitado pelo schema. Rollback consiste em voltar para \`manual\`, sem reescrever Runs anteriores.
1144
-
1145
- Um novo PreparedPlan de PRD/SPEC não declara apenas \`risk: standard\`. Cada blueprint fornece \`model_signals\`, e \`createPreparedPlanV2\` calcula e persiste \`model_profile.risk\`, \`risk_policy_version: task-risk-v1\` e \`risk_reasons\`. Uma declaração de risco conflitante falha; PreparedPlans históricos sem perfil continuam legíveis, mas não entram em execução automática sem perfil.
1146
-
1147
- \`\`\`yaml
1148
- model_signals:
1149
- phase: implementation
1150
- complexity: complex
1151
- transversality: cross_system
1152
- ambiguity: high
1153
- rework: none
1154
- rework_cost: high
1155
- bounded: true
1156
- high_volume: false
1157
- xhigh_triggers:
1158
- - shared_contracts_3_plus
1159
- - rollout_and_rollback
1160
- risk_signals:
1161
- production_impact: false
1162
- external_action: false
1163
- irreversible_change: false
1164
- security_or_critical_data: true
1165
- data_migration: false
1166
- broad_audit: false
1167
- rollback: planned
1168
- verification_scope: full
1169
- \`\`\`
1170
-
1171
- O classificador retorna \`critical\` para impacto explícito em produção, ação externa, irreversibilidade, segurança/dados críticos, migração, auditoria ampla, rollback complexo, ambiguidade \`high\` transversal ou rework estrutural de alto custo. Retorna \`lite\` somente para trabalho simples, local, delimitado, reversível e com verificação scoped; todo caso restante é \`standard\`, sempre com motivo enumerado.
1172
-
1173
- O PreparedPlan pode declarar um override da Execution e cada Task pode sobrescrever campos:
1420
+ Mescle na raiz de \`.agents/config/project.yaml\`:
1174
1421
 
1175
1422
  \`\`\`yaml
1176
- policy:
1177
- runtime_defaults:
1178
- client: codex
1179
- provider: openai
1180
- model: gpt-5.6-terra
1181
- reasoning_effort: medium
1182
-
1183
- blueprints:
1184
- tasks:
1185
- - id: TASK-IMPLEMENTAR
1186
- runtime:
1187
- model: gpt-5.6-terra
1188
- reasoning_effort: medium
1189
-
1190
- - id: TASK-AUDITAR
1191
- runtime:
1192
- model: gpt-5.6-sol
1193
- reasoning_effort: high
1194
- \`\`\`
1195
-
1196
- Precedência executada:
1197
-
1198
- \`\`\`text
1199
- policy.runtime_defaults explícito da Execution
1200
- -> runtime explícito da Task
1201
- -> política automática por perfil, fase e agente
1202
- -> defaults do projeto
1203
- \`\`\`
1204
-
1205
- O runtime anuncia modelos, efforts e velocidades antes do dispatch. Modelo fora da allowlist, effort desconhecido, \`ultra\`, \`max\`, velocidade diferente de \`standard\` ou capacidade incompatível produzem erro tipado; não existe fallback silencioso.
1206
-
1207
- Quando a seleção foi registrada, o cabeçalho da Run ou Sub-Run preserva a configuração resolvida e \`model.selection.recorded\` registra a decisão antes do dispatch; o default do catálogo não pode substituir o modelo realmente invocado. Telemetria efetiva e Calls conhecidas permanecem dentro da mesma chamada de agente. Capturas terminais sem metadados ricos mantêm modelo e effort indisponíveis; não devem receber uma seleção reconstruída. Run raiz é a chamada do orquestrador e possui \`parent_run_id: null\`; Sub-Run possui pai:
1208
-
1209
- \`\`\`yaml
1210
- agent_run:
1211
- run_id: RUN-EXEC-TASK-BUILD-1
1212
- run_kind: sub_run
1213
- run_purpose: execution
1214
- parent_run_id: RUN-EXEC-TASK-ORCHESTRATOR
1215
- client: codex
1216
- provider: openai
1217
- agent: agent-task-executor
1218
- agent_name: zaip-agent-task-executor
1219
- requested_model: gpt-5.6-terra
1220
- requested_reasoning_effort: medium
1221
- effective_model: gpt-5.6-terra
1222
- effective_reasoning_effort: medium
1223
- call_count: 3
1224
- tokens: 42000
1225
- cost_brl: 1.84
1226
- selection_source: execution-override
1227
- selection_reasons:
1228
- - execution-override
1229
- - terra-implementation-baseline
1423
+ autonomy:
1424
+ version: 1
1425
+ preset: balanced
1426
+ execution:
1427
+ runtime: manual
1230
1428
  \`\`\`
1231
1429
 
1232
- Requested e effective não devem ser confundidos, pois o runtime ou serviço pode aplicar fallback ou reroteamento. \`effective_*\` só pode ser preenchido por fonte observada; ausência dessa fonte não autoriza copiar \`requested_*\`.
1233
-
1234
- No dashboard, Runs e Sub-Runs são separados por \`parent_run_id\` e ordenados por \`started_at\` decrescente, independentemente do shard físico da projeção. A Run raiz usa a identidade visível \`zaip-agent-orchestrator\`; Sub-Runs usam o \`zaip-agent-*\` efetivamente selecionado. O Monitor de Custos agrupa e filtra pela identidade visível, mantém o modelo configurado de cada chamada em destaque e mostra o modelo efetivo separadamente. Quando o host não informou a configuração planejada, o modelo efetivo é rotulado como observado, nunca apresentado como se tivesse sido selecionado pelo catálogo.
1235
-
1236
- ### Calls como telemetria interna
1237
-
1238
- O dashboard cria visões separadas para Runs e Sub-Runs, mas não cria entidade ou aba separada para Calls. Quando o host fornece eventos por \`invocation_id\`, o ledger os conserva dentro da respectiva Run/Sub-Run para calcular:
1430
+ Esse exemplo configura o preset **sem iniciar provider**. Novos templates
1431
+ também mantêm seleção \`model_orchestration.mode: manual\`. O coordenador
1432
+ gerenciado usa \`execution.runtime: managed\` para PRD/SPEC (padrão novo), ou
1433
+ \`autonomous\` também para Task gerenciada explícita, provider/configuração
1434
+ válidos, execução autorizada e worktree elegível. Salvar o preset no Dashboard
1435
+ não faz essa ativação automaticamente.
1436
+
1437
+ O bloco \`autonomy\` aceita somente \`version\` e \`preset\`. As sequências
1438
+ 4/1, 10/3 e ilimitada vêm da política compartilhada, não de um campo de
1439
+ tentativas inventado no YAML. As Tasks iniciadas congelam a política; alteração
1440
+ no projeto vale para novas Tasks. Estados legados não são convertidos
1441
+ silenciosamente.
1442
+
1443
+ A allowlist e as capacidades do provider continuam sendo verificadas.
1444
+ Não remova uma restrição para fazer uma seleção impossível parecer válida.
1445
+ No caminho gerenciado, o worker não pode contornar o orçamento iniciando
1446
+ filhos nativos não contabilizados via \`multi_agent\`.
1447
+
1448
+ ## Fronteira de garantia
1449
+
1450
+ O runtime gerenciado controla o processo **antes** da inferência. Essa é a
1451
+ fronteira da contagem determinística e da seleção automática. Uma chamada
1452
+ nativa \`spawn_agent\` externa, feita diretamente pelo Codex, não é interceptada
1453
+ pelo diário: instrução e captura posterior não equivalem a controle preventivo.
1454
+
1455
+ O padrão novo \`managed\` já seleciona PRD/SPEC gerenciados, sem prometer
1456
+ controle externo numa sessão manual. \`task migrate-autonomy\` exige preview,
1457
+ contagem histórica revisada e confirmação; não reinicia quotas ou aprova legados.
1458
+
1459
+ A preferência do principal avulso, o catálogo gerado do filho e a configuração
1460
+ efetivamente observada devem aparecer separados. Se o host não suporta o
1461
+ override necessário, relate a limitação real; não afirme que um prompt mudou
1462
+ o modelo e não fabrique telemetria.
1463
+
1464
+ ## Compatibilidade: model_orchestration sem autonomy
1465
+
1466
+ Configurações antigas mantêm o contrato legado, não os presets acima:
1467
+
1468
+ - \`manual\` recomenda sem alterar o seletor; \`off\` desativa essa recomendação.
1469
+ - \`auto\` usa \`automatic_sources: [spec, prd]\`; \`task\` não é aceito nessa
1470
+ allowlist legada. Isso não proíbe a política de filhos avulsos de
1471
+ \`autonomy-v1\`.
1472
+ - Sinais persistidos de complexidade, ambiguidade, transversalidade, rework,
1473
+ risco e papel definem o perfil e motivos. Quantidade de arquivos ou
1474
+ departamento não substitui esses sinais.
1475
+ - Luna/Terra/Sol usam esforços permitidos pelo projeto; \`xhigh\` é
1476
+ excepcional para planejamento/auditoria difícil, não um padrão para tudo.
1477
+ - Astra legado é diagnóstico read-only condicionado e limitado a três
1478
+ invocações por Task estável. Esse teto **não se aplica** ao Persistente.
1479
+ - Overrides e allowlist legados não se sobrepõem às restrições de
1480
+ \`autonomy-v1\`, em especial à proibição de Astra automático no Essencial.
1481
+
1482
+ Consulte [RULE-ASTRA-DIAGNOSTIC](../../rules/astra-diagnostic.md),
1483
+ [RULE-AUTONOMY-DECISION](../../rules/autonomy-decision.md) e
1484
+ [RULE-MODEL-ORCHESTRATION](../../rules/model-orchestration.md), apenas quando
1485
+ aplicáveis. Não carregue o diagnóstico difícil para uma pergunta comercial
1486
+ simples.
1239
1487
 
1240
- 1. quantidade de Calls conhecida e quantidade terminal;
1241
- 2. falhas, cancelamentos, retries e latência observáveis;
1242
- 3. modelo, effort e service tier efetivos;
1243
- 4. tokens e custo agregados na Run;
1244
- 5. divergência requested/effective sem dupla contagem.
1488
+ ## Velocidade por origem
1245
1489
 
1246
- Todas as Calls da mesma Run reutilizam a configuração planejada. Se o provider aplicar fallback, a diferença aparece como configuração efetiva observada e não muda o cabeçalho. Valores indisponíveis permanecem \`null\`; prompt e reasoning privado nunca são armazenados.
1490
+ A seleção automática solicita \`standard\`. Fast manual de uma Conversation ou
1491
+ Task avulsa independente pertence ao host; o ZAIP não o ativa nem propaga
1492
+ para o runtime automático de SPEC/PRD. Não fragmente uma DAG para fugir de sua
1493
+ política. O tier efetivamente retornado é observação separada, não prova de
1494
+ que o catálogo ou o preset o selecionou.
1247
1495
 
1248
- ## Garantias implementadas
1496
+ ## Medir resultado, sem prometer economia
1249
1497
 
1250
- 1. \`project.yaml\` possui branch \`auto\` estrito e mantém \`manual\` como default de distribuição.
1251
- 2. \`automatic_sources\` restringe a política a \`spec\` e \`prd\`; o schema rejeita \`task\`.
1252
- 3. Novos PreparedPlans de PRD/SPEC calculam risco e motivos a partir de sinais persistidos; planos históricos permanecem legíveis.
1253
- 4. O coordenador injeta a política somente em Executions elegíveis e resolve novamente no início de cada Agent Run de Task/fase.
1254
- 5. A captura de conversa registra o modelo explicitamente observado ou \`unknown\`; modelo e effort efetivos não são inferidos a partir do baseline automático, do catálogo ou de uma Task avulsa.
1255
- 6. O resolvedor determinístico aplica allowlist, capacidades, overrides e motivos observáveis antes do dispatch.
1256
- 7. Testes cobrem a matriz de risco/modelo/effort, precedência, capacidades, rejeições e atribuição sem inferência.
1257
- 8. O ledger rejeita Calls com modelo, effort ou decisão de seleção solicitados diferentes dentro da mesma Agent Run.
1258
- 9. O Sub-Run registra no cabeçalho e no ledger a seleção realmente enviada ao runtime.
1259
- 10. CLI, Rules, adapters e templates distribuídos descrevem a mesma fronteira.
1498
+ Compare Tasks equivalentes com os mesmos ACs e qualidade mínima, somando
1499
+ planejamento, implementação, reparos, testes e revisão. Inclua cobertura,
1500
+ configurações observadas e falhas; não compare só o preço do primeiro turno.
1260
1501
 
1261
- ## Não objetivos da primeira automação
1502
+ Tokens, tempo e custo continuam úteis para diagnóstico. Nenhum deles vira
1503
+ teto de abandono por tempo em \`autonomy-v1\`. Custo equivalente de API não é
1504
+ cobrança comprovada da assinatura. \`null\` não é zero e teste com runtime
1505
+ simulado não comprova economia real.
1262
1506
 
1263
- - aceitar \`ultra\` no modo automático;
1264
- - usar \`max\` como default;
1265
- - selecionar ou sobrescrever velocidade diferente de \`standard\`;
1266
- - mudar modelo ou effort dentro de uma Agent Run;
1267
- - criar uma tela ou lifecycle independente para Calls;
1268
- - escolher \`high\` ou \`xhigh\` apenas por quantidade de arquivos;
1269
- - substituir testes, reviewer ou auditor por reasoning mais alto;
1270
- - inferir configuração ausente pelo comportamento do modelo;
1271
- - otimizar somente o custo do primeiro turno e ignorar rework.
1507
+ ## Fontes executáveis para manutenção
1272
1508
 
1273
- ## Referências oficiais
1509
+ No repositório-fonte:
1274
1510
 
1275
- - [GPT-5.6: seleção de modelo e effort](https://developers.openai.com/api/docs/guides/latest-model#update-api-and-model-parameters)
1276
- - [Reasoning effort](https://developers.openai.com/api/docs/guides/reasoning#reasoning-effort)
1277
- - [Modelos do Codex](https://learn.chatgpt.com/docs/models#pick-a-reasoning-effort)
1278
- - [Codex App Server](https://learn.chatgpt.com/docs/app-server)
1279
- - [Subagentes: escolha automática de modelos e reasoning](https://learn.chatgpt.com/docs/agent-configuration/subagents#choosing-models-and-reasoning)
1280
- - [Configuração e precedência do Codex](https://learn.chatgpt.com/docs/config-file/config-basic#configuration-precedence)
1281
- - [Checklist de deployment e comparação por custo por sucesso](https://developers.openai.com/api/docs/guides/deployment-checklist#choose-a-gpt-56-model)
1511
+ - \`packages/core/src/autonomy-policy.ts\`: presets, modelos e divulgação.
1512
+ - \`packages/core/src/autonomy-recovery.ts\`: reservas, contagens e resultados.
1513
+ - \`packages/tasks/src/autonomous/recovery-ledger.ts\`: diário persistente.
1514
+ - \`packages/tasks/src/autonomous/coordinator-autonomy.ts\`: replanejamento.
1515
+ - \`packages/tasks/src/autonomous/coordinator-autonomy-selection.ts\`: seleção.
1516
+ - \`packages/adapters/src/agent-runtime/autonomy-envelope.ts\`: isolamento.
1517
+ - \`AutonomySettings.tsx\` no frontend do Dashboard: UI dos mesmos presets.
1282
1518
 
1283
- As referências oficiais orientam usar o menor effort que atinja a qualidade necessária, começar em \`medium\` para equilíbrio e reservar \`high\` ou \`xhigh\` para ganho de qualidade medido. A política operacional deste guia deve continuar sendo validada pela telemetria e pelos evals do ZAIP.
1284
- `,E=`# Auditoria do cálculo de custo equivalente via API
1519
+ Esses paths são referências de mantenedor, não dependências que o consumidor
1520
+ precise compilar. Validação local, TGZ exato, revisão, fechamento canônico e
1521
+ produção são provas distintas; veja [qualidade e release](26-qualidade-e-release.md).
1522
+ `,D=`# Auditoria do cálculo de custo equivalente via API
1285
1523
 
1286
1524
  Este documento usa o snapshot versionado em \`.agents/config/pricing/models.json\`; não declara que as tarifas ou a cotação de exemplo são atuais fora desse snapshot.
1287
1525
 
@@ -1366,7 +1604,7 @@ Para conferir a soma: \`USD estimado API = USD entrada + USD cache + USD saída
1366
1604
  - Cálculo: \`packages/costs/src/pricing-math.ts\` e \`packages/costs/src/index.ts\`
1367
1605
  - Projeção: \`.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts\`
1368
1606
  - Testes: \`pnpm --filter @zaip-ai/costs test\` e \`pnpm --filter @zaip-ai/dashboard-cost-monitor test\`
1369
- `,D=`# Fontes oficiais de preços OpenAI
1607
+ `,O=`# Fontes oficiais de preços OpenAI
1370
1608
 
1371
1609
  Registro local de consulta em 15 de julho de 2026. Valores operacionais ficam no catálogo versionado \`.agents/config/pricing/models.json\`; esta página preserva as fontes usadas naquele registro, não confirma preços atuais sem nova consulta.
1372
1610
 
@@ -1385,7 +1623,7 @@ Registro local de consulta em 15 de julho de 2026. Valores operacionais ficam no
1385
1623
  4. Não crie tarifa para uma combinação que a tabela oficial não publique.
1386
1624
  5. Não transforme créditos Codex em USD sem uma regra oficial explícita.
1387
1625
  6. Preserve modelo, tier e effort efetivos como indisponíveis quando não forem retornados por fonte observada; defaults de configuração não os substituem.
1388
- `,O=`# Qualidade e qualificação de release
1626
+ `,k=`# Qualidade e qualificação de release
1389
1627
 
1390
1628
  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.
1391
1629
 
@@ -1404,18 +1642,32 @@ O ratchet usa o maior valor entre o floor atual e o baseline versionado. Uma med
1404
1642
 
1405
1643
  ## Gates agregados e diagnósticos
1406
1644
 
1407
- O gate de PR é o job único \`github-equivalent\` de
1408
- \`.github/workflows/quality.yml\`, em \`ubuntu-latest\`: instala dependências,
1409
- instala Chromium e executa \`validate:github:prepared\`, auditoria de produção,
1410
- cobertura, release E2E e dashboard E2E. Esses subchecks são etapas desse gate
1411
- agregado; não são uma receita adicional que, isoladamente, aprove uma release.
1412
-
1413
- O workflow \`.github/workflows/publish-cli.yml\` é separado: seu job \`verify\`
1414
- usa matriz real Node 22 e 24 para \`pnpm verify\`; a auditoria e o artefato de
1415
- release ocorrem somente na linha Node 24, ambas em Ubuntu. Publicação e smoke
1416
- só seguem após a matriz aprovada. Esse \`verify\` roda dentro de \`public-cli\`,
1417
- não é o script homônimo da raiz. Os comandos abaixo são do checkout mantenedor;
1418
- não presuma que existam no \`package.json\` do projeto consumidor.
1645
+ A preparação local do mantenedor executa a bateria completa \`full-v2\`, incluindo
1646
+ \`pnpm qualify:full\`, cobertura com ratchet, contratos, clean-room, Dashboard E2E
1647
+ e identidade do consumidor. Somente o SHA limpo aprovado recebe recibo assinado,
1648
+ manifesto, SBOM e TGZ. Falha ou dados incompletos não produzem aprovação.
1649
+
1650
+ No GitHub, checks de fonte (\`quality.yml\`), commits (\`commit-policy.yml\`) e matriz
1651
+ completa (\`qualify-cli.yml\`) ficam manuais. As mesmas validações principais são
1652
+ executadas localmente pelo Codex/scripts antes da release.
1653
+
1654
+ Após qualificação local assinada e cadastro autorizado da chave pública/política,
1655
+ o mantenedor ativa \`ZAIP_LOCAL_RELEASE_ENABLED=true\`. O deploy publica os quatro
1656
+ artefatos assinados no GitHub; \`publish-cli.yml\` confere assinatura, versão e SHA,
1657
+ executa um único smoke automático (instalação + doctor do runtime) sem credenciais
1658
+ de escrita e só então publica o mesmo TGZ no npm. A integridade no registry continua
1659
+ obrigatória; outra instalação remota é opcional por \`extended_verification=true\`
1660
+ no despacho manual. Não há teste de acesso ao rascunho privado.
1661
+
1662
+ Chave privada nunca sai da máquina. Sem flag, o caminho legado exige qualificação
1663
+ remota manual; não é fallback para assinatura ausente. Uma Release GitHub publicada
1664
+ não prova publicação npm: acompanhe o job até a confirmação do registry. Os comandos
1665
+ abaixo são do mantenedor; não presuma que existam no projeto consumidor.
1666
+
1667
+ Dados históricos incompletos do Dashboard conservam \`null\`/indisponível e sua
1668
+ cobertura conhecida. Não se exige reconstruir fatos que nunca foram capturados.
1669
+ Isso não dispensa paridade entre records, API e UI para o mesmo conjunto conhecido,
1670
+ testes dos dados novos, nem fechamento canônico de Tasks sem sucesso inventado.
1419
1671
 
1420
1672
  A publicação compara \`dist.integrity\` do registro com o SHA-512 do tarball
1421
1673
  verificado. Uma versão já existente só é aceita quando o conteúdo é idêntico.
@@ -1450,7 +1702,9 @@ contra o manifest do próprio pacote, incluindo a Rule Astra, e verifica que
1450
1702
  os READMEs da raiz do consumidor sobrevivem à instalação e à reinstalação.
1451
1703
  O relatório registra a quantidade de arquivos documentais conferidos.
1452
1704
 
1453
- Novas instalações continuam em \`manual\`; a documentação não deve confundir
1705
+ Novos templates mantêm seleção do principal em \`manual\`, runtime \`managed\`
1706
+ para PRD/SPEC e preset Equilibrado; avulsas preferem execução direta.
1707
+ A documentação não deve confundir
1454
1708
  perfil de instalação com modelo/effort nem apresentar estimativas de tokens
1455
1709
  como economia financeira medida. O escopo automático e os limites Astra
1456
1710
  devem coincidir com o [guia 23](23-orquestracao-de-modelos.md).
@@ -1561,7 +1815,39 @@ Testes passando comprovam validação técnica. Maturidade formal máxima exige
1561
1815
  - CI terminal correspondente ao commit publicado.
1562
1816
 
1563
1817
  Ausência de uma dessas provas permanece explícita; não é convertida em sucesso.
1564
- `,k=`# Telemetria Git-native do Codex
1818
+
1819
+ ## Novidades da v3 e qualificação pendente
1820
+
1821
+ As fontes em preparação incluem presets, diário durável por Task, replanejamento
1822
+ governado, relay de decisão Gui e configuração no Dashboard. Os manifests
1823
+ continuam em 2.6.0; este guia não promove versão nem certifica produção.
1824
+
1825
+ Para qualificar essas novidades, preserve um candidato único e comprove:
1826
+
1827
+ - Essencial 4/1 sem Astra automático, Equilibrado 10/3 e Persistente sem teto;
1828
+ - reservas antes do provider, replay/restart sem reset e resultado desconhecido
1829
+ sem despacho duplicado;
1830
+ - plano inválido sem reparação gratuita, ausência de abandono por tempo e
1831
+ preservação dos ACs;
1832
+ - API/UI/YAML dos três presets com reload, além de isolamento e modelos efetivos;
1833
+ - decisão real imutável antes do Stop, fechamento pendente sem repetir agentes
1834
+ e casos negativos de Evidence/identidade/candidato;
1835
+ - instalação/reinstalação/rollback pelo TGZ exato, preservação do consumidor e
1836
+ matriz de upgrade com origem publicada ou build de tag identificada;
1837
+ - performance real e comparação equivalente, sem transformar redução de payload
1838
+ em economia financeira.
1839
+
1840
+ A qualificação local dessa manutenção foi delimitada a Windows por decisão
1841
+ humana. Linux/macOS/Docker não executados não contam como aprovados; isso não
1842
+ altera silenciosamente matrizes de CI publicadas. Relatórios de candidatos
1843
+ anteriores, testes simulados de modelos e evidência local não certificam
1844
+ o candidato final nem seu uso em produção.
1845
+
1846
+ O [guia 19](19-assurance-e-autonomia.md) registra duas fronteiras ainda
1847
+ importantes: controle preventivo só no despacho gerenciado e compatibilidade
1848
+ do trabalho avulso direto com a barreira de executor capturado. Uma revisão
1849
+ documental não resolve esses limites por declaração.
1850
+ `,A=`# Telemetria Git-native do Codex
1565
1851
 
1566
1852
  Este documento descreve o comportamento implementado da telemetria do Codex no ZAIP-AIOS. O
1567
1853
  objetivo é preservar métricas auditáveis por invocação de agente sem versionar prompts, respostas,
@@ -1733,7 +2019,25 @@ node scripts/validate-text-encoding.mjs
1733
2019
 
1734
2020
  Os comandos acima são gates de desenvolvimento. A confirmação operacional continua sendo a
1735
2021
  combinação de hashes válidos, cobertura explícita e leitura do período real no Dashboard.
1736
- `,A='# Lifecycle de Conversations, Tasks, SPECs e PRDs\n\nEste documento é a referência pública do lifecycle implementado pelo ZAIP-AIOS. Status persistido, Run, coluna do Kanban e reconciliação possuem responsabilidades distintas e não devem ser inferidos uns dos outros.\n\n## Classificação de entrada\n\nAliases são resolvidos com alvo e status persistido, nunca por palavra isolada. `pronto`, `deixe/coloque em Pronto para Executar` e `ready-to-execute` resolvem para `ready`. `finalizar|concluir|finalize|conclude` em PRD/SPEC `draft|ready` lapidam e resolvem para `ready`; em trabalho ativo, “conclua a execução/finalize a implementação” continua Tasks e gates. Somente `entregar|deliver` após gates solicita entrega terminal.\n\n`implemente` sem alvo abre somente uma Conversation de planejamento; em `draft` finaliza o plano sem executar, em `ready` executa e em `active|blocked|failed` continua, retoma ou cria rework. `desenvolva|melhore|aprimore` sempre planeja/refina/rework. PRD cancelado é imutável e recebe sucessor `draft` com tag `rework` e `rework_of_prd_id`.\n\n## Criação completa de PRD e SPEC\n\n“Me ajude a pensar” é Conversation. “Crie um PRD” revisa o prompt, faz até cinco perguntas críticas por turno durante no máximo três turnos e então persiste PRD `draft`, SPECs técnicas `draft` e PreparedPlan com blueprints de Tasks. Decisões delegáveis restantes são registradas como IA; autoridade externa/destrutiva, credenciais e riscos não delegáveis continuam bloqueantes.\n\nUse uma SPEC por padrão. Outra só existe quando pode ser implementada e verificada em paralelo contra contrato estável, sem depender de outra SPEC ou disputar write scopes. Dependências e ordem ficam entre Tasks da mesma SPEC.\n\nAntes de `ready`, blueprints aparecem apenas como lista compacta no PRD/SPEC; `prd create --plan` e `spec create --plan` validam o pacote antes da escrita, usam criação exclusiva por arquivo e rollback compensatório se uma etapa falhar, mas não prometem uma transação atômica multiarquivo contra interrupção abrupta. Não existem registros Task, Change ou Execution `delivery` nessa etapa. `prd create|rework|prepare` exige uma Run delegada da Bia (`zaip-agent-analyst`) e `spec create|rework|prepare` exige uma Run delegada do Rafa (`zaip-agent-builder`), sempre ativas e vinculadas ao turno raiz atual, com propósito `execution`. Em criação composta, `prd create --plan --run <bia-run> --spec-run <rafa-run>` exige duas Runs distintas sob o mesmo orquestrador: o PRD recebe a autoria da Bia e as SPECs recebem a autoria do Rafa. Replays históricos e identidades trocadas falham antes de escrever artefatos. Duração, tokens e custo são agregados quando observados ou reconciliados e permanecem `null` quando indisponíveis. `ready` materializa Tasks/Changes/Execution como `planned` em operação idempotente; `execute` inicia o menor grão nomeado.\n\n| Entrada | Quando usar | Cria Task? | Estado inicial visível |\n| --- | --- | --- | --- |\n| Conversation | Pergunta, feedback, status ou análise pontual read-only; cria Execution `interaction` | Não | Sem card |\n| Task avulsa executável | Pedido direto de alteração ou resultado independente | Sim | Execução antes da primeira mutação |\n| Task avulsa preparada | Pedido explícito de planejamento sem autorização de executar | Sim | Pronto para Executar |\n| SPEC | Entrega técnica com múltiplos blueprints ou DAG | Tasks em `ready|execute` | Planejamento enquanto `draft` |\n| PRD | Definição de produto organizada em SPECs independentes | Tasks em `ready|execute` | Definição enquanto `draft` |\n\nConversa de análise nunca altera código, documentação ou configuração. A criação ou o refinamento explícito de PRD/SPEC `draft` é a única exceção de definição: a Execution `interaction` pode persistir o macro e seu PreparedPlan sem Task, Change ou Execution `delivery`. Fora dessa exceção, qualquer mutação persistente intencional exige Task materializada e Run raiz de orquestração ativa antes da escrita.\n\nSão isentos apenas deploy/publicação Git sem mudança de produto, manifests e telemetria ZAIP gerados pelo lifecycle, metadados `.git`, caches, builds, testes e arquivos temporários descartáveis. Editar fontes ou documentação do ZAIP não é isento.\n\n## Colunas do Kanban\n\n| Coluna | Regra |\n| --- | --- |\n| Definição | Exclusiva de PRD `draft` |\n| Planejamento | Exclusiva de SPEC `draft` |\n| Pronto para Executar | PRD/SPEC `ready` e toda Task `planned` nunca iniciada ou tentada, avulsa ou vinculada a SPEC |\n| Execução | Task `executing`; SPEC/PRD `active` |\n| Verificação | Task `verifying` ou macro executando gates parentais |\n| Concluído | Task `completed` ou macro `delivered` |\n| Bloqueado | Resultado retomável com condição objetiva |\n| Falhado | Erro técnico impeditivo; exige rework |\n| Cancelado | Cancelamento humano explícito e imutável |\n\nActivity local nunca prevalece sobre um status final persistido. Uma invocação obsoleta não pode reviver Task concluída, bloqueada, falhada ou cancelada.\n\n## Trabalho, Execution, Run, Sub-Run e Call\n\nAs cinco camadas possuem responsabilidades diferentes:\n\n| Camada | Responsabilidade |\n| --- | --- |\n| Trabalho | Task, SPEC ou PRD que descreve o resultado e seu lifecycle |\n| Execution | `interaction` registra uma conversa; `delivery` coordena Task, Change e DAG quando aplicável |\n| Run | Chamada raiz do `zaip-agent-orchestrator`; possui `parent_run_id: null` |\n| Sub-Run | Chamada de subagente feita dentro da Run; possui `parent_run_id` |\n| Call | Invocação interna de modelo LLM; herda a configuração da Run/Sub-Run |\n\nRun e Sub-Run compartilham o mesmo ledger canônico `RUN-*`; a distinção é derivada de `parent_run_id`, sem entidade duplicada. `run_role` usa somente `intake`, `orchestrator` ou `subagent`; valores históricos `owner` e `contributor` são aceitos apenas na leitura e normalizados imediatamente. `run_purpose` informa se a chamada executa `orchestration`, `execution`, `review`, `audit` ou `finalization`.\n\nCada Run/Sub-Run fixa agente, modelo e effort até terminar. Mudança deliberada de agente, modelo, effort ou fase material abre outra chamada de agente; retry técnico preserva a configuração corrente. Calls podem ser várias dentro da mesma chamada de agente e não possuem lifecycle nem tela própria.\n\nQuando o host expõe Calls, a Run/Sub-Run agrega quantidade conhecida, terminais, falhas, cancelamentos, configuração efetiva, tokens e custo. Ausência de telemetria permanece `null`; nunca se presume zero e nunca se cria `CallProjection`.\n\n### Barreira do finalizador\n\nCada Execution usa uma Run raiz do `zaip-agent-orchestrator`. 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`.\n\nO finalizador é read-only: avalia resultados, gates e Evidence e retorna somente o status terminal proposto, motivo e referências. A CLI aplica deterministicamente a transição. O início do finalizador cria uma barreira: ele não pode começar com descendentes ativos e nenhum filho novo pode iniciar depois dele. Finalizador ausente, incompleto ou falho resulta em `blocked`, nunca em Task presa em `executing` ou `verifying`.\n\nNo modo nativo do Codex, a orquestração materializa essa etapa como um envelope de delegação com `purpose: finalization`, `agent_id: agent-finalizer`, escopo de escrita vazio e chave de idempotência própria. Uma Execution em `verifying` só recebe esse envelope; o host deve iniciar a Sub-Run real correspondente e registrar a telemetria dela. O framework não cria Run, Call, custo ou resultado sintético quando o host não a executa.\n\nO status técnico da Run/Sub-Run (`completed`, `failed`, `cancelled`) é diferente do resultado da Task (`completed`, `blocked`, `failed`, `cancelled`). Uma Run tecnicamente concluída pode bloquear a Task porque um gate ou Evidence não passou.\n\nUma observação por AC não altera esse lifecycle nem substitui os gates. Ela é\numa declaração versionada cujo vínculo só pode complementar Evidence quando\n`confirmed` e coerente; os demais estados preservam pendência ou falha. Veja o\n[contrato de prova observável](../../skills/zaip-skill-change/references/observable-evidence.md).\n\nExemplo:\n\n```bash\nzaip run finish RUN-ID \\\n --status completed \\\n --task-outcome blocked \\\n --summary "Gate de integração pendente"\nzaip run closure RUN-ID\n```\n\n## Fechamento e retomada de Tasks\n\nAntes de uma Run raiz terminar, sua Task deve estar em um destes estados:\n\n- `completed`: resultado e gates aprovados;\n- `blocked`: inconclusão retomável, dependência externa ou gate insuficiente;\n- `failed`: erro técnico/integridade que impediu a execução válida;\n- `cancelled`: pedido humano explícito.\n\n`executing` e `verifying` nunca são estados válidos no fim da tentativa. Use `task resume` para `blocked` e `task rework` para `failed`; ambas preservam a Task, e cada nova entrada em execução incrementa a tentativa. `completed` e `cancelled` não reabrem.\n\nInterromper a geração é uma interrupção retomável e resulta em `blocked`. “Cancelar a Task” é uma decisão explícita e resulta em `cancelled`.\n\n## Agregação de SPEC e PRD\n\nQuando a primeira Task filha inicia, SPEC e PRD relacionados passam para `active` e permanecem em Execução enquanto restar trabalho macro, inclusive entre Runs. O resultado isolado de uma Task não terminaliza o pai.\n\n- Task bloqueada/falhada mantém o macro em Execução para que outras Tasks e decisões parentais continuem.\n- SPEC/PRD aguardam todas as Tasks e Runs filhas.\n- Depois que todas as Tasks concluem, o macro entra em Verificação.\n- Delivery exige gates, integração, Acceptance Criteria, outcomes e Evidence próprios do pai.\n\n## Reconciliação manual\n\nO dashboard executa `zaip run reconcile --open --json` somente depois que o usuário confirma o popup Reconciliar. Não há reconciliação global ao abrir o dashboard, em cada turno ou em intervalo automático.\n\nO algoritmo é idempotente e conservador:\n\n- `task_complete` local exato permite finalizar tecnicamente a Run e tentar os gates;\n- gate insuficiente produz `blocked`, nunca sucesso inventado;\n- Run sem invocação ativa por dez minutos é órfã e termina como `failed`;\n- `cancelled` nunca é inferido;\n- Tasks apenas prontas, sem Run terminal atribuída, não são reavaliadas como travadas.\n\nO hook pre-write é diferente da reconciliação: ele verifica localmente se o turno atual possui Run raiz e Task em execução antes de permitir mutação. Essa checagem não chama modelo, não consome tokens e não percorre o backlog.\n\n## Projeção no dashboard\n\nEm Operação e Monitor de Custos, “Chamadas do agente orquestrador” e “Chamadas de subagentes” possuem filtros separados. A tabela de Executions agrega, sem dupla contagem, Runs de orquestrador, Sub-Runs, Sub-Runs finalizadores, Tasks finalizadas e Calls de LLM conhecidas. Quando nem todas as Calls são observáveis, a contagem é marcada como parcial em vez de assumir zero.\n\nTrabalho possui duas leituras da mesma projeção: Trabalho (Kanban), por estágio, e Trabalho (Lista), tabular. As duas mantêm os filtros Todas as Tarefas, Visão Unificada Geral, PRDs, SPECs e Tarefas Avulsas. A lista expõe indicadores operacionais por item, incluindo status, origem, Runs, Sub-Runs, duração, tokens, custo e cobertura.\n\nCada segmento de telemetria possui uma chave de origem e só pode ser atribuído uma vez. Correções de duplicidade preservam o evento histórico e registram uma supersessão; projeções nunca devem somar os dois eventos.\n\n## Persistência compacta da telemetria\n\nMicroeventos observáveis do Codex são sanitizados e gravados primeiro no spool local ignorado pelo\nGit. Depois de um terminal ou erro, eles são compactados em um `InvocationSummaryV1` por invocação\nde agente. Os summaries são organizados em chunks imutáveis e manifestos mensais por writer em\n`.agents/records/telemetry/<ano>/<mês>/writers/<writer-id>/`.\n\nEssa compactação não substitui o ledger `RUN-*`: a Run continua sendo a fonte de lifecycle,\natribuição e evidência. O summary é a fonte compacta de métricas observadas. O Dashboard combina as\nduas leituras sem dupla contagem; tokens e custos do summary são autoritativos quando válidos, mas\numa duração delimitada do lifecycle é preservada se a fonte compacta não conhece a duração.\n\nCobertura é independente por métrica. Tokens, Calls, custo, duração e latência podem ter estados\ndiferentes na mesma invocação. `known_sum`, `unknown_count` e `coverage_ratio` precisam viajar\njuntos; `null` nunca é normalizado para zero. Detalhes de armazenamento, integridade, fallback e\nrecuperação estão em [Telemetria Git-native do Codex](27-telemetria-git-native.md).\n',j=e(),M=`# ZAIP-AIOS (6 Squads + 23 Agents)
2022
+
2023
+ ## Caminho atual de consulta e limites de performance
2024
+
2025
+ A descrição manifest-first acima inclui o caminho de compatibilidade.
2026
+ No runtime SQLite, a primeira dobra do Monitor usa agregados compactos;
2027
+ detalhes de Runs ficam em endpoints paginados explícitos. Queries preservam
2028
+ os mesmos filtros, moeda e população, sem reabrir streams canônicos de Run
2029
+ indiscriminadamente. O SQLite é derivado, não substitui Git-native.
2030
+
2031
+ O spool e o diário de autonomia são diferentes. O primeiro guarda uso
2032
+ sanitizado; o segundo reserva tentativas/replanejamentos antes do provider.
2033
+ Não derive quota de tokens ou duração nem apague um deles para renovar consumo.
2034
+
2035
+ Existência de índice/cache não comprova leitura O(1) por invocação. Escritores
2036
+ legados, substituição, truncamento, exclusão e concorrência exigem verificações
2037
+ de integridade e fallback completos. Redução mensurada, baseline equivalente,
2038
+ cobertura e carga concorrente precisam constar do benchmark; não declarar a
2039
+ matriz de performance aprovada apenas porque consultas focadas passaram.
2040
+ `,j='# Lifecycle de Conversations, Tasks, SPECs e PRDs\n\nEste documento é a referência pública do lifecycle implementado pelo ZAIP-AIOS. Status persistido, Run, coluna do Kanban e reconciliação possuem responsabilidades distintas e não devem ser inferidos uns dos outros.\n\n## Classificação de entrada\n\nAliases são resolvidos com alvo e status persistido, nunca por palavra isolada. `pronto`, `deixe/coloque em Pronto para Executar` e `ready-to-execute` resolvem para `ready`. `finalizar|concluir|finalize|conclude` em PRD/SPEC `draft|ready` lapidam e resolvem para `ready`; em trabalho ativo, “conclua a execução/finalize a implementação” continua Tasks e gates. Somente `entregar|deliver` após gates solicita entrega terminal.\n\n`implemente` sem alvo abre somente uma Conversation de planejamento; em `draft` finaliza o plano sem executar, em `ready` executa e em `active|blocked|failed` continua, retoma ou cria rework. `desenvolva|melhore|aprimore` sempre planeja/refina/rework. PRD cancelado é imutável e recebe sucessor `draft` com tag `rework` e `rework_of_prd_id`.\n\n## Criação completa de PRD e SPEC\n\n“Me ajude a pensar” é Conversation. “Crie um PRD” revisa o prompt, faz até cinco perguntas críticas por turno durante no máximo três turnos e então persiste PRD `draft`, SPECs técnicas `draft` e PreparedPlan com blueprints de Tasks. Decisões delegáveis restantes são registradas como IA; autoridade externa/destrutiva, credenciais e riscos não delegáveis continuam bloqueantes.\n\nUse uma SPEC por padrão. Outra só existe quando pode ser implementada e verificada em paralelo contra contrato estável, sem depender de outra SPEC ou disputar write scopes. Dependências e ordem ficam entre Tasks da mesma SPEC.\n\nAntes de `ready`, blueprints aparecem apenas como lista compacta no PRD/SPEC; `prd create --plan` e `spec create --plan` validam o pacote antes da escrita, usam criação exclusiva por arquivo e rollback compensatório se uma etapa falhar, mas não prometem uma transação atômica multiarquivo contra interrupção abrupta. Não existem registros Task, Change ou Execution `delivery` nessa etapa. `prd create|rework|prepare` exige uma Run delegada da Bia (`zaip-agent-analyst`) e `spec create|rework|prepare` exige uma Run delegada do Rafa (`zaip-agent-builder`), sempre ativas e vinculadas ao turno raiz atual, com propósito `execution`. Em criação composta, `prd create --plan --run <bia-run> --spec-run <rafa-run>` exige duas Runs distintas sob o mesmo orquestrador: o PRD recebe a autoria da Bia e as SPECs recebem a autoria do Rafa. Replays históricos e identidades trocadas falham antes de escrever artefatos. Duração, tokens e custo são agregados quando observados ou reconciliados e permanecem `null` quando indisponíveis. `ready` materializa Tasks/Changes/Execution como `planned` em operação idempotente; `execute` inicia o menor grão nomeado.\n\n| Entrada | Quando usar | Cria Task? | Estado inicial visível |\n| --- | --- | --- | --- |\n| Conversation | Pergunta, feedback, status ou análise pontual read-only; cria Execution `interaction` | Não | Sem card |\n| Task avulsa executável | Pedido direto de alteração ou resultado independente | Sim | Execução antes da primeira mutação |\n| Task avulsa preparada | Pedido explícito de planejamento sem autorização de executar | Sim | Pronto para Executar |\n| SPEC | Entrega técnica com múltiplos blueprints ou DAG | Tasks em `ready|execute` | Planejamento enquanto `draft` |\n| PRD | Definição de produto organizada em SPECs independentes | Tasks em `ready|execute` | Definição enquanto `draft` |\n\nConversa de análise nunca altera código, documentação ou configuração. A criação ou o refinamento explícito de PRD/SPEC `draft` é a única exceção de definição: a Execution `interaction` pode persistir o macro e seu PreparedPlan sem Task, Change ou Execution `delivery`. Fora dessa exceção, qualquer mutação persistente intencional exige Task materializada e Run raiz de orquestração ativa antes da escrita.\n\nSão isentos apenas deploy/publicação Git sem mudança de produto, manifests e telemetria ZAIP gerados pelo lifecycle, metadados `.git`, caches, builds, testes e arquivos temporários descartáveis. Editar fontes ou documentação do ZAIP não é isento.\n\n## Colunas do Kanban\n\n| Coluna | Regra |\n| --- | --- |\n| Definição | Exclusiva de PRD `draft` |\n| Planejamento | Exclusiva de SPEC `draft` |\n| Pronto para Executar | PRD/SPEC `ready` e toda Task `planned` nunca iniciada ou tentada, avulsa ou vinculada a SPEC |\n| Execução | Task `executing`; SPEC/PRD `active` |\n| Verificação | Task `verifying` ou macro executando gates parentais |\n| Concluído | Task `completed` ou macro `delivered` |\n| Bloqueado | Resultado retomável com condição objetiva |\n| Falhado | Erro técnico impeditivo; exige rework |\n| Cancelado | Cancelamento humano explícito e imutável |\n\nActivity local nunca prevalece sobre um status final persistido. Uma invocação obsoleta não pode reviver Task concluída, bloqueada, falhada ou cancelada.\n\n## Trabalho, Execution, Run, Sub-Run e Call\n\nAs cinco camadas possuem responsabilidades diferentes:\n\n| Camada | Responsabilidade |\n| --- | --- |\n| Trabalho | Task, SPEC ou PRD que descreve o resultado e seu lifecycle |\n| Execution | `interaction` registra uma conversa; `delivery` coordena Task, Change e DAG quando aplicável |\n| Run | Chamada raiz do `zaip-agent-orchestrator`; possui `parent_run_id: null` |\n| Sub-Run | Chamada de subagente feita dentro da Run; possui `parent_run_id` |\n| Call | Invocação interna de modelo LLM; herda a configuração da Run/Sub-Run |\n\nRun e Sub-Run compartilham o mesmo ledger canônico `RUN-*`; a distinção é derivada de `parent_run_id`, sem entidade duplicada. `run_role` usa somente `intake`, `orchestrator` ou `subagent`; valores históricos `owner` e `contributor` são aceitos apenas na leitura e normalizados imediatamente. `run_purpose` informa se a chamada executa `orchestration`, `execution`, `review`, `audit` ou `finalization`.\n\nCada Run/Sub-Run fixa agente, modelo e effort até terminar. Mudança deliberada de agente, modelo, effort ou fase material abre outra chamada de agente; retry técnico preserva a configuração corrente. Calls podem ser várias dentro da mesma chamada de agente e não possuem lifecycle nem tela própria.\n\nQuando o host expõe Calls, a Run/Sub-Run agrega quantidade conhecida, terminais, falhas, cancelamentos, configuração efetiva, tokens e custo. Ausência de telemetria permanece `null`; nunca se presume zero e nunca se cria `CallProjection`.\n\n### Barreira do finalizador\n\nCada tentativa de Task tem um orquestrador responsável. Uma raiz física Task-scoped é esse responsável; uma raiz macro delega um por Task, preservando ancestry real. Um executor é escolhido pelas capacidades e pela elegibilidade declarada no catálogo: `zaip-agent-builder` e `zaip-agent-task-executor` podem executar delivery, e `zaip-agent-analyst` pode executar interaction. Revisão, auditoria e integração podem participar. Depois que todos os demais descendentes terminarem, o orquestrador deve chamar `zaip-agent-finalizer` como último Sub-Run, com propósito `finalization`, como filho direto do responsável da Task, não do executor.\n\nO finalizador é read-only: avalia resultados, gates e Evidence e retorna somente o status terminal proposto, motivo e referências. A CLI aplica deterministicamente a transição. O início do finalizador cria uma barreira: ele não pode começar com descendentes ativos e nenhum filho novo pode iniciar depois dele. Finalizador ausente, incompleto ou falho resulta em `blocked`, nunca em Task presa em `executing` ou `verifying`.\n\nNo modo nativo do Codex, a orquestração materializa essa etapa como um envelope de delegação com `purpose: finalization`, `agent_id: agent-finalizer`, escopo de escrita vazio e chave de idempotência própria. Uma Execution em `verifying` só recebe esse envelope; o host deve iniciar a Sub-Run real correspondente e registrar a telemetria dela. O framework não cria Run, Call, custo ou resultado sintético quando o host não a executa.\n\nO status técnico da Run/Sub-Run (`completed`, `failed`, `cancelled`) é diferente do resultado da Task (`completed`, `blocked`, `failed`, `cancelled`). Uma Run tecnicamente concluída pode bloquear a Task porque um gate ou Evidence não passou.\n\nUma observação por AC não altera esse lifecycle nem substitui os gates. Ela é\numa declaração versionada cujo vínculo só pode complementar Evidence quando\n`confirmed` e coerente; os demais estados preservam pendência ou falha. Veja o\n[contrato de prova observável](../../skills/zaip-skill-change/references/observable-evidence.md).\n\nExemplo:\n\n```bash\nzaip run finish RUN-ID \\\n --status completed \\\n --task-outcome blocked \\\n --summary "Gate de integração pendente"\nzaip run closure RUN-ID\n```\n\n## Fechamento e retomada de Tasks\n\nAntes de uma Run raiz terminar, sua Task deve estar em um destes estados:\n\n- `completed`: resultado e gates aprovados;\n- `blocked`: inconclusão retomável, dependência externa ou gate insuficiente;\n- `failed`: erro técnico/integridade que impediu a execução válida;\n- `cancelled`: pedido humano explícito.\n\n`executing` e `verifying` nunca são estados válidos no fim da tentativa. Use `task resume` para `blocked` e `task rework` para `failed`; ambas preservam a Task, e cada nova entrada em execução incrementa a tentativa. `completed` e `cancelled` não reabrem.\n\nInterromper a geração é uma interrupção retomável e resulta em `blocked`. “Cancelar a Task” é uma decisão explícita e resulta em `cancelled`.\n\n## Agregação de SPEC e PRD\n\nQuando a primeira Task filha inicia, SPEC e PRD relacionados passam para `active` e permanecem em Execução enquanto restar trabalho macro, inclusive entre Runs. O resultado isolado de uma Task não terminaliza o pai.\n\n- Task bloqueada/falhada mantém o macro em Execução para que outras Tasks e decisões parentais continuem.\n- SPEC/PRD aguardam todas as Tasks e Runs filhas.\n- Depois que todas as Tasks concluem, o macro entra em Verificação.\n- Delivery exige gates, integração, Acceptance Criteria, outcomes e Evidence próprios do pai.\n\n## Reconciliação manual\n\nO dashboard executa `zaip run reconcile --open --json` somente depois que o usuário confirma o popup Reconciliar. Não há reconciliação global ao abrir o dashboard, em cada turno ou em intervalo automático.\n\nO algoritmo é idempotente e conservador:\n\n- `task_complete` local exato permite finalizar tecnicamente a Run e tentar os gates;\n- gate insuficiente produz `blocked`, nunca sucesso inventado;\n- Run sem invocação ativa por dez minutos é órfã e termina como `failed`;\n- `cancelled` nunca é inferido;\n- Tasks apenas prontas, sem Run terminal atribuída, não são reavaliadas como travadas.\n\nO hook pre-write é diferente da reconciliação: ele verifica localmente se o turno atual possui Run raiz e Task em execução antes de permitir mutação. Essa checagem não chama modelo, não consome tokens e não percorre o backlog.\n\n## Projeção no dashboard\n\nEm Operação e Monitor de Custos, “Chamadas do agente orquestrador” e “Chamadas de subagentes” possuem filtros separados. A tabela de Executions agrega, sem dupla contagem, Runs de orquestrador, Sub-Runs, Sub-Runs finalizadores, Tasks finalizadas e Calls de LLM conhecidas. Quando nem todas as Calls são observáveis, a contagem é marcada como parcial em vez de assumir zero.\n\nTrabalho possui duas leituras da mesma projeção: Trabalho (Kanban), por estágio, e Trabalho (Lista), tabular. As duas mantêm os filtros Todas as Tarefas, Visão Unificada Geral, PRDs, SPECs e Tarefas Avulsas. A lista expõe indicadores operacionais por item, incluindo status, origem, Runs, Sub-Runs, duração, tokens, custo e cobertura.\n\nCada segmento de telemetria possui uma chave de origem e só pode ser atribuído uma vez. Correções de duplicidade preservam o evento histórico e registram uma supersessão; projeções nunca devem somar os dois eventos.\n\n## Persistência compacta da telemetria\n\nMicroeventos observáveis do Codex são sanitizados e gravados primeiro no spool local ignorado pelo\nGit. Depois de um terminal ou erro, eles são compactados em um `InvocationSummaryV1` por invocação\nde agente. Os summaries são organizados em chunks imutáveis e manifestos mensais por writer em\n`.agents/records/telemetry/<ano>/<mês>/writers/<writer-id>/`.\n\nEssa compactação não substitui o ledger `RUN-*`: a Run continua sendo a fonte de lifecycle,\natribuição e evidência. O summary é a fonte compacta de métricas observadas. O Dashboard combina as\nduas leituras sem dupla contagem; tokens e custos do summary são autoritativos quando válidos, mas\numa duração delimitada do lifecycle é preservada se a fonte compacta não conhece a duração.\n\nCobertura é independente por métrica. Tokens, Calls, custo, duração e latência podem ter estados\ndiferentes na mesma invocação. `known_sum`, `unknown_count` e `coverage_ratio` precisam viajar\njuntos; `null` nunca é normalizado para zero. Detalhes de armazenamento, integridade, fallback e\nrecuperação estão em [Telemetria Git-native do Codex](27-telemetria-git-native.md).\n\n## Recuperação e autonomia v1\n\nO [guia 16](16-lifecycle-e-reconciliacao.md) detalha a decisão imutável do Gui\ne o relay antes do Stop: não exija que um finalizador read-only permaneça\nativo esperando recibos. Ele é último filho direto do responsável da Task,\nnão de cada executor. Um orquestrador delegado conserva a ancestry real.\n\nOs [presets](19-assurance-e-autonomia.md) pertencem à Task estável:\nEssencial 4/1, Equilibrado 10/3, Persistente ilimitado. Reinício e `resume`\nnão renovam quota; `attempt_count` do lifecycle não substitui o diário\nde reservas do runtime. Ausência de Evidence é bloqueio, erro técnico\ncomprovado é falha e tempo não determina abandono.\n\nFechamento técnico, estado canônico da Task, projeções e entrega parental\nprecisam ser confirmados separadamente. A preferência avulsa direta não remove\no gate de executor capturado ainda exigido pelo contrato atual.\n',M=e(t(),1),N=`# ZAIP-AIOS (6 Squads + 23 Agents)
1737
2041
 
1738
2042
  [English](README-ENG.md) | Português
1739
2043
 
@@ -1743,7 +2047,7 @@ combinação de hashes válidos, cobertura explícita e leitura do período real
1743
2047
 
1744
2048
  O ZAIP-AIOS é um sistema operacional para execução autônoma de trabalho com agentes de IA, que coordena 23 agentes especializados, organizados em 6 squads, dentro do Codex.
1745
2049
 
1746
- Os agentes planejam, executam, revisam, testam e validam o trabalho sob coordenação do orquestrador. A execução autorizada avança até atender aos critérios definidos ou registrar um bloqueio, falha ou limite de orçamento. Dependências externas e decisões fora da autoridade recebida continuam exigindo intervenção humana; autonomia não significa execução indefinida nem garantia de acerto.
2050
+ Os agentes planejam, executam, revisam, testam e validam o trabalho sob coordenação do orquestrador. A execução autorizada avança até atender aos critérios ou registrar bloqueio/falha conforme evidências e orçamento. O perfil Persistente permite execução indefinida por escolha explícita; os demais têm cotas por Task. Nenhum perfil garante acerto nem amplia autoridade para ações externas.
1747
2051
 
1748
2052
  Essa abordagem busca reduzir intervenções, contexto desnecessário e retrabalho. Os percentuais de 34% e 62% apresentados adiante se referem a custo médio por tarefa e por hora nas séries históricas ilustradas, respectivamente; não medem diretamente redução de tokens nem garantem economia em uma nova entrega.
1749
2053
 
@@ -1788,22 +2092,34 @@ No ZAIP-AIOS, uma Task não é considerada concluída apenas porque um agente te
1788
2092
 
1789
2093
  ### Como interpretar esta documentação
1790
2094
 
2095
+ Os dois READMEs são mantidos em português e inglês. Na Ajuda do Dashboard,
2096
+ o README inglês vem de \`README-ENG.md\`; guias sem tradução mostram a fonte
2097
+ portuguesa atual com aviso de idioma, sem resumos paralelos desatualizados.
2098
+
1791
2099
  Este README e o [handbook](.agents/zaip-aios/INDEX.md) descrevem o código-fonte deste repositório. Configuração efetiva, suporte do host, pacote instalado e candidato qualificado são dimensões distintas. \`@latest\` aponta para a versão publicada, que pode não conter alterações locais. As imagens do Dashboard são ilustrações de estados anteriores, não prova visual do candidato atual.
1792
2100
 
1793
2101
  A atualização documental não aprova uma release. Consulte o [registro de limites de qualificação](docs/PRODUCTION-COMMERCIAL-READINESS.md#limites-conhecidos-da-qualificação) antes de promover o código; testes locais, paridade, CI e validação em produção devem ser comprovados separadamente.
1794
2102
 
2103
+ Na entrega v3, a bateria completa fica na preparação local assinada (\`full-v2\`). O GitHub verifica o pacote exato, sua instalação e a publicação, sem repetir a bateria de fonte a cada push. A ativação exige qualificação local completa e confiança cadastrada. Há um único smoke automático de instalação antes do npm; checks de fonte e matriz remota ficam manuais, sem teste sobre rascunho privado. Veja o [guia de qualidade e release](.agents/zaip-aios/guides/26-qualidade-e-release.md). Lacunas históricas de telemetria permanecem explícitas, sem inventar números ou dispensar testes de dados novos.
2104
+
1795
2105
  ## Instalação em um comando
1796
2106
 
1797
2107
  Com Node.js 22.16.0 ou superior e npm, execute a instalação na raiz do projeto que receberá o ZAIP-AIOS. Em uma instalação nova, o \`init\` usa o perfil completo (\`full\`): instala as dependências ausentes da stack e prepara o Terraform. Todos os perfis verificam os runtimes distribuídos e preparam e validam o SQLite local, sem driver separado. Versões de pacotes existentes no projeto são preservadas, com aviso das versões atual e configurada no ZAIP-AIOS:
1798
2108
 
1799
2109
  \`\`\`bash
1800
- npx @zaip-ai/cli@latest init
2110
+ npx --yes @zaip-ai/cli@latest init --project-only
2111
+ node .agents/runtime/bin/zaip.mjs doctor --json
1801
2112
  \`\`\`
1802
2113
 
1803
- Também é possível aceitar automaticamente o download inicial do CLI pelo \`npx\`:
2114
+ Esses são os dois passos do primeiro resultado verificável: \`init\` instala o
2115
+ framework no projeto selecionado sem alterar a configuração global do Codex, e
2116
+ \`doctor --json\` confirma o layout, checksums e adapters instalados. O resultado
2117
+ só está pronto quando o JSON retornar \`"valid": true\`.
2118
+
2119
+ Antes de escrever no projeto, revise o plano:
1804
2120
 
1805
2121
  \`\`\`bash
1806
- npx --yes @zaip-ai/cli@latest init
2122
+ npx --yes @zaip-ai/cli@latest init --project-only --dry-run
1807
2123
  \`\`\`
1808
2124
 
1809
2125
  Os dois comandos usam o perfil salvo no projeto ou \`full\` quando ainda não existe uma escolha. A opção \`--yes\` antes do nome do pacote apenas aceita o download inicial do CLI pelo \`npx\`; ela não força a substituição de dependências, arquivos ou versões já existentes.
@@ -1973,6 +2289,42 @@ A configuração da plataforma apresenta o estado de ativação do ZAIP-AIOS e u
1973
2289
 
1974
2290
  <img src=".agents/config/src/dashboard_pt_configuracao_plataforma.png" alt="Dashboard ZAIP-AIOS, configuração da plataforma" width="100%">
1975
2291
 
2292
+ ### Perfis de autonomia da v3
2293
+
2294
+ As fontes em preparação para a v3 acrescentam um preset por Task, separado de
2295
+ instalação e assurance:
2296
+
2297
+ | Perfil | Execuções de produto por Task | Replanejamentos | Modelos dos replanejamentos |
2298
+ | --- | --- | --- | --- |
2299
+ | Essencial (\`essential\`) | 4: 1 inicial + 3 reparações | 1 | Sol/high; nunca Astra automático |
2300
+ | Equilibrado (\`balanced\`, padrão novo) | 10: 1 inicial + 9 reparações | 3 | Sol/high → Astra/high → Astra/high |
2301
+ | Persistente (\`persistent\`, opt-in) | Sem teto | Sem teto | Sol/high primeiro; Astra/high nos seguintes |
2302
+
2303
+ Mescle no arquivo \`.agents/config/project.yaml\` ou selecione **Perfil de
2304
+ autonomia** em **Configurações do projeto** no Dashboard e salve:
2305
+
2306
+ \`\`\`yaml
2307
+ autonomy:
2308
+ version: 1
2309
+ preset: balanced
2310
+ \`\`\`
2311
+
2312
+ O diário durável reserva antes do despacho gerenciado; reiniciar ou retomar
2313
+ não zera a quota. A alteração vale para novas Tasks. Não há abandono por tempo
2314
+ nem redução automática de critérios de aceite. Persistente pode consumir
2315
+ créditos indefinidamente até cancelamento humano; não amplia permissões.
2316
+
2317
+ Uma SPEC de dez Tasks Equilibradas admite até 100 execuções (10 iniciais +
2318
+ 90 reparações) e 30 replanejamentos; testes e Calls internas não são tentativas.
2319
+ A falta de verificação/conclusão segura termina \`blocked\`; impedimento técnico
2320
+ comprovado termina \`failed\`. Ramos independentes continuam elegíveis.
2321
+
2322
+ **Limite atual:** os contadores são impostos no runtime gerenciado, não em
2323
+ \`spawn_agent\` externo feito diretamente pelo Codex. Novos projetos usam
2324
+ \`execution.runtime: managed\`: PRD/SPEC gerenciados e avulsas diretas. Salvar
2325
+ o preset não inicia provider. Legados exigem migração explícita, sem zerar
2326
+ consumo. Veja [autonomia e suas garantias](.agents/zaip-aios/guides/19-assurance-e-autonomia.md).
2327
+
1976
2328
  ### Stack de desenvolvimento
1977
2329
 
1978
2330
  A stack de desenvolvimento descreve cada responsabilidade separadamente, com tecnologia, versão exata e referência do pacote, imagem ou serviço. No projeto, esse contrato inclui TypeScript, Node.js, Hono, Kysely, PostgreSQL via Supabase, Supabase Auth + Storage, Redis e BullMQ, permitindo que as escolhas de desenvolvimento permaneçam registradas junto da configuração do projeto.
@@ -2012,7 +2364,7 @@ Por padrão, cada PRD utiliza apenas uma SPEC, buscando economia.
2012
2364
 
2013
2365
  Uma nova SPEC só deve ser criada quando existir uma capacidade que possa ser implementada e validada de forma independente e paralela. Quando existe dependência entre partes do trabalho, elas permanecem na mesma SPEC e são organizadas pela DAG de Tasks.
2014
2366
 
2015
- No runtime atual, um PRD materializa uma Execution-filho determinística para cada SPEC elegível: suas dependências permanecem dentro da SPEC e seus write scopes não conflitam com nenhum outro ramo. Cada filha executa com coordinator, estado, quota de orçamento e handoff próprios, sob uma fila limitada pelo paralelismo efetivo e por um ledger parental único de invocações; a Execution do PRD aguarda os estados terminais, integra os candidatos no handoff parental e só então aplica validação cross-SPEC e finalização. SPECs com dependência externa ou conflito de escopo permanecem na DAG global coordenadora.
2367
+ No runtime atual, um PRD materializa uma Execution-filho determinística para cada SPEC elegível: suas dependências permanecem dentro da SPEC e seus write scopes não conflitam com nenhum outro ramo. Cada filha executa com coordinator, estado e handoff próprios; em \`autonomy-v1\`, a quota de recuperação continua por Task estável, sob uma fila limitada pelo paralelismo efetivo e por um ledger parental único de invocações; a Execution do PRD aguarda os estados terminais, integra os candidatos no handoff parental e só então aplica validação cross-SPEC e finalização. SPECs com dependência externa ou conflito de escopo permanecem na DAG global coordenadora.
2016
2368
 
2017
2369
  Antes de o PRD chegar ao estado \`ready\`, as Tasks são apenas definições de trabalho, ainda sem execução.
2018
2370
 
@@ -2049,6 +2401,17 @@ Toda criação de PRD ou SPEC é vinculada à Run responsável por meio do campo
2049
2401
 
2050
2402
  Tempo, tokens e custo são agregados sempre que essas informações estiverem disponíveis ou forem reconciliadas. Quando não houver dados suficientes, os valores permanecem como \`unknown\` ou \`null\`.
2051
2403
 
2404
+ Na Visão geral, uma cobertura incompleta não esconde a soma disponível: o Dashboard
2405
+ mantém o cartão compacto **Custo Estimado**, sem ícone. A descrição acessível e o
2406
+ tooltip informam a cobertura. O subtítulo divide o subtotal conhecido pelo número
2407
+ de tarefas e pelas horas registradas no mesmo recorte: são taxas estimadas de
2408
+ alocação, não médias de custos completos por tarefa. Com cobertura parcial, não
2409
+ estima os valores ausentes. Cada taxa fica \`—\` apenas se sua base estiver indisponível
2410
+ ou for zero; uma taxa válida não é escondida porque a outra está indisponível.
2411
+ O subtotal não é o custo integral nem a fatura da conta. Zero observado continua sendo zero;
2412
+ ausência de medição continua indisponível. Rascunhos de Task ficam na lista de
2413
+ trabalho, fora do Kanban executável e dos indicadores operacionais sem rascunhos.
2414
+
2052
2415
 
2053
2416
  ## Qualidade e evidências
2054
2417
 
@@ -2197,24 +2560,33 @@ Essa progressão permite começar de forma simples e acrescentar planejamento ap
2197
2560
 
2198
2561
  **Políticas técnicas de execução e assurance**
2199
2562
 
2200
- Conversation e Task-first preservam a seleção manual do host; o default do projeto não é aplicado automaticamente a uma Task avulsa. A política automática aceita origens SPEC/PRD configuradas em \`automatic_sources\`, com velocidade \`standard\`. Modelo e effort ficam fixos em cada Run/Sub-Run; capacidade ou velocidade indisponível no host não pode ser presumida pelo ZAIP. Consulte a [política de modelos](.agents/zaip-aios/guides/23-orquestracao-de-modelos.md).
2563
+ Conversation e o principal de Task avulsa preservam a seleção manual do host, priorizando trabalho direto. Quando delegar for necessário, informe que os filhos podem usar modelos/esforços diferentes pela política ZAIP; não há obrigação de herdar o principal. Modelo e effort ficam fixos por Run, com observação efetiva separada da seleção planejada. A seleção automática solicita \`standard\`; capacidade não observada do host não pode ser presumida. Consulte a [política de modelos](.agents/zaip-aios/guides/23-orquestracao-de-modelos.md).
2201
2564
 
2202
2565
  ### Política Astra
2203
2566
 
2204
- Luna, Terra e Sol permanecem as rotas de uso simples e de execução. Astra não executa produto, não faz revisão geral nem finaliza uma Task: é uma rota read-only de diagnóstico ou replanejamento, com effort \`high\` como teto. Ela só pode ser usada após sinais estruturados — tentativa executora com falha de raciocínio/hipótese e ambiguidade ou complexidade difícil, ou impacto crítico material acompanhado de diagnóstico difícil. Palavras como “crítico” ou “complexo”, departamento, tamanho ou risco isolado não a habilitam.
2567
+ No Essencial, Astra nunca é selecionado automaticamente, inclusive em filhos ou fallback. A única exceção é o principal avulso com Astra escolhido manualmente pelo usuário. No Equilibrado, os três replanejamentos usam Sol/high, Astra/high e Astra/high; no terceiro bloco Astra/high também pode executar a reparação, sem ampliar a quota. Persistente mantém essa progressão sem teto total.
2568
+
2569
+ O replanejador é isolado e não edita produto; executor, revisor e Gui são papéis distintos. Astra automático usa somente \`high\`, não substitui revisão/finalização e depende do despacho gerenciado. A regra antiga de até três diagnósticos Astra somente leitura permanece apenas no contrato legado sem \`autonomy\`; não limita Persistente. Contexto e assurance seguem o domínio: conteúdo exige fontes/briefing, engenharia exige comportamento verificável. Economia real precisa ser medida, não inferida do preset.
2205
2570
 
2206
- Há no máximo três ciclos Astra cumulativos por Task. Cada diagnóstico produz provas, findings, causa ou hipótese, rota recomendada, escopo, plano curto de teste/correção e handback para executor Luna, Terra ou Sol. Prova repetida ou falta de progresso bloqueia novo ciclo. Hosts manuais podem não permitir que o framework imponha a seleção; Conversations e Task-first preservam essa escolha. Contexto comercial é condicional ao pedido e não recebe requisitos técnicos por padrão. Métricas históricas de custo não prometem economia real em uma nova Task.
2571
+ O intake correlaciona o turno observável à Execution. \`prepare\` valida o plano, sem autorizar implementação; \`ready\` materializa trabalho preparado e \`execute\` inicia a entrega autorizada. Toda delivery e interaction delegada exige executor elegível (ou raiz Task direta autorizada) e \`zaip-agent-finalizer\` por último. Interaction read-only sem descendentes termina após a resposta, sem esse circuito. Publicação puramente Git é uma exceção: não materializa lifecycle. SPEC/PRD permanecem ativos entre Runs filhas e só são entregues por gates parentais.
2207
2572
 
2208
- O intake correlaciona o turno observável à Execution. \`prepare\` valida o plano, sem autorizar implementação; \`ready\` materializa trabalho preparado e \`execute\` inicia a entrega autorizada. Toda delivery e interaction com descendentes exigem executor elegível e \`zaip-agent-finalizer\` por último. Interaction read-only sem descendentes termina após a resposta, sem esse circuito. Publicação puramente Git é uma exceção: não materializa lifecycle. SPEC/PRD permanecem ativos entre Runs filhas e só são entregues por gates parentais.
2573
+ Cada tentativa de Task tem exatamente um orquestrador responsável. Gui é seu
2574
+ último filho direto, irmão dos executores, não finalizador de cada trabalhador.
2575
+ O host persiste a decisão real antes do Stop canônico; pode retransmitir Gui
2576
+ já terminal enquanto o responsável estiver aberto, sem obrigá-lo a esperar
2577
+ recibos. Ausência de decisão não é aprovação. A preferência por execução
2578
+ avulsa direta usa uma raiz observada com \`--direct-authorization REFERÊNCIA\`
2579
+ explícita; não cria executor fictício nem dispensa Evidence e Gui. Veja
2580
+ [fechamento e recuperação](.agents/zaip-aios/guides/16-lifecycle-e-reconciliacao.md).
2209
2581
 
2210
- A profundidade de prova é adaptativa: Task standalone \`lite\` exige no mínimo uma validação tipada e uma Evidence, normalmente uma de cada, mas aceita provas adicionais legítimas. \`standard\` exige duas ou três validações conforme \`verification_scope\` e pelo menos uma Evidence consolidada; \`critical\` exige três ou mais, revisão independente e os sinais de risco persistidos que determinam controles adicionais. Entregas de SPEC e PRD acrescentam matriz parental, pelo menos três validações e três Evidences, integração real e revisão independente. O runtime manual continua padrão; a autonomia por Codex ou Claude é opt-in, isolada em worktrees e limitada por write scopes, commits, budgets e gates tipados. Consulte [Assurance adaptativa e autonomia opt-in](.agents/zaip-aios/guides/19-assurance-e-autonomia.md).
2582
+ A profundidade de prova é adaptativa: Task standalone \`lite\` exige no mínimo uma validação tipada e uma Evidence, normalmente uma de cada, mas aceita provas adicionais legítimas. \`standard\` exige duas ou três validações conforme \`verification_scope\` e pelo menos uma Evidence consolidada; \`critical\` exige três ou mais, revisão independente e os sinais de risco persistidos que determinam controles adicionais. Entregas de SPEC e PRD acrescentam matriz parental, pelo menos três validações e três Evidences, integração real e revisão independente. Novos projetos usam runtime gerenciado para PRD/SPEC e direto para avulsas; a execução por Codex ou Claude é autorizada por pedido, isolada em worktrees e limitada por write scopes, commits, budgets e gates tipados. Consulte [Assurance adaptativa e autonomia opt-in](.agents/zaip-aios/guides/19-assurance-e-autonomia.md).
2211
2583
 
2212
2584
 
2213
2585
  ## Princípios de engenharia autônoma
2214
2586
 
2215
2587
  O ZAIP-AIOS combina velocidade com limites explícitos. Seus princípios mantêm o código sustentável, distribuem apenas o contexto necessário e exigem comprovação proporcional ao risco.
2216
2588
 
2217
- O padrão do schema é \`execution.runtime: manual\` quando a opção está ausente; este checkout optou por \`autonomous\` em \`project.yaml\`. A configuração não dispensa pedido de execução nem autoriza publicar. Consulte sempre o arquivo efetivo do projeto, não apenas o default descrito no guia.
2589
+ O padrão do schema é \`execution.runtime: manual\` quando a opção está ausente; este checkout usa \`managed\` em \`project.yaml\`. A configuração não dispensa pedido de execução nem autoriza publicar. Consulte sempre o arquivo efetivo do projeto, não apenas o default descrito no guia.
2218
2590
 
2219
2591
  - **Clean Architecture:** domínio, aplicação, adapters e infraestrutura permanecem separados; regras de negócio não dependem de frameworks ou detalhes externos, as dependências apontam para as camadas internas e composition roots conectam implementações concretas nas bordas.
2220
2592
  - **CQRS:** commands e queries seguem fluxos explícitos e independentes; comandos alteram estado por casos de uso e ports apropriados, enquanto consultas não produzem efeitos colaterais e retornam read models adequados à leitura.
@@ -2235,7 +2607,7 @@ O **Graph Engineering** transforma uma entrega complexa em uma sequência coorde
2235
2607
 
2236
2608
  Essa autonomia permanece governada: Dave coordena, cada executor recebe apenas o escopo necessário, Nanda realiza a revisão independente, especialistas adicionais entram quando existem sinais objetivos e Gui encerra o fluxo por último. O resultado é uma equipe ajustada à demanda, sem multiplicar agentes e custo sem necessidade.
2237
2609
 
2238
- O **Loop Engineering** orienta o que acontece quando a primeira tentativa não satisfaz os critérios de qualidade. A falha ou o bloqueio é classificado, o próximo ciclo recebe uma configuração proporcional à dificuldade observada e cada tentativa permanece auditável. Em execuções originadas de PRD ou SPEC, o sistema pode evoluir de **Luna → Terra → Sol** e de **low → medium → high → xhigh**; Conversations e Tasks avulsas preservam a seleção manual do host/Codex. O modelo nunca muda silenciosamente dentro da mesma Run.
2610
+ O **Loop Engineering** usa o perfil congelado da Task para reservar execução e replanejamento antes do provider, registrar o resultado e escolher uma rota corrigida. No Equilibrado são 1 + 9 execuções e três planos Sol/high → Astra/high → Astra/high; Essencial não escala para Astra, Persistente não tem teto. O modelo não muda silenciosamente dentro da mesma Run. A preferência manual do principal avulso não obriga seus filhos a usar a mesma configuração.
2239
2611
 
2240
2612
  ### Fluxo resumido
2241
2613
 
@@ -2424,7 +2796,7 @@ Antes de integrar uma mudança relevante ou preparar um release, \`pnpm verify\`
2424
2796
 
2425
2797
  Use a versão de pnpm fixada em \`packageManager\` (\`corepack pnpm\` quando disponível). Para uma alteração delimitada, selecione os checks pertinentes ao risco e ao diff; a lista acima não exige repetir todos os testes a cada edição documental. Qualificação de release usa os gates completos do [guia 26](.agents/zaip-aios/guides/26-qualidade-e-release.md) no candidato exato. Não confunda \`validate:github:prepared\`, execução local, push e CI terminal verde.
2426
2798
 
2427
- O pacote público \`@zaip-ai/cli\` usa a versão de produto \`2.2\`; nos metadados npm e nos artefatos SemVer ela é registrada como \`2.2.0\`. Consulte o npm para identificar o \`latest\` publicado. A versão em um checkout não comprova publicação: a qualificação deve registrar a revisão exata, o resultado terminal do CI, a integridade do TGZ e uma instalação nova do registro. Publicação manual com token autorizado não equivale a atestado OIDC. Resultados e ressalvas ficam nas evidências da Change de release, preservando as tentativas anteriores.
2799
+ Os manifests deste checkout registram o candidato \`3.0.0\` (produto \`3.0\`). A identificação do candidato não significa que o \`latest\` já foi publicado nem certifica produção. A release exige revisão exata, CI terminal, integridade do TGZ e instalação real do artefato. Tentativas e limitações ficam nas evidências da Change; resultados locais e publicação são estados distintos.
2428
2800
 
2429
2801
  A arquitetura detalhada está resumida na seção [Arquitetura das aplicações](#arquitetura-das-aplicações) deste README.
2430
2802
 
@@ -2466,12 +2838,29 @@ Todo deploy GitHub consulta \`.agents/config/project.yaml\`. Para escolher a bra
2466
2838
 
2467
2839
  \`\`\`yaml
2468
2840
  deploy:
2469
- branch: main
2841
+ # Publicação automatizada: ambiente de validação.
2842
+ branch: beta
2843
+ # Produção: somente promoção humana.
2844
+ production_branch: main
2470
2845
  \`\`\`
2471
2846
 
2472
- Troque \`main\` por outra branch, como \`production\`, quando necessário. Se o arquivo ou a chave
2473
- não existir, o destino será \`main\`. A branch atual e o upstream não substituem essa configuração.
2474
- O preflight valida o destino e o agente relê o arquivo antes do push, usando um refspec explícito.
2847
+ \`beta\` é o padrão editável: use outro nome de validação, como \`staging\` ou \`homolog\`, se o
2848
+ projeto precisar. O banco usa somente \`beta\` e a promoção para produção requer ação humana no
2849
+ GitHub. Frontend e backend seguem sua branch configurada, inclusive \`main\` quando essa escolha
2850
+ estiver salva na configuração.
2851
+
2852
+ \`deploy.frontend.branch\` e \`deploy.backend.branch\` são autorização persistida e podem ser \`main\`.
2853
+ Migrations usam somente \`deploy.database.branch: beta\`, sem fallback para produção. A instalação
2854
+ não cria ambiente beta nem custo: integração GitHub/Supabase beta verificada e confirmação
2855
+ informada de custo são pré-requisitos; a promoção \`beta -> main\` continua humana.
2856
+
2857
+ Se a pessoa recusar explicitamente a beta hospedada, use o [modo manual](.agents/skills/zaip-skill-database-migrations/references/manual-mode.md): ele exporta SQL em \`db-migrations/\` para execução humana no SQL Editor. O agente, pipeline e startup não aplicam esse arquivo. Após sucesso humano registrado, retome as dependências; o relato humano não substitui comprovação independente.
2858
+
2859
+ Consultas Supabase usam contextos separados \`READ-ONLY-BETA\` e \`READ-ONLY-PROD\`, cada qual com
2860
+ \`project_ref\` próprio, permissões mínimas de leitura e credencial distinta da credencial do
2861
+ pipeline. Referência ausente, destinos iguais ou capacidade read-only não demonstrada significam
2862
+ "não configurado", sem fallback entre ambientes. Os snippets MCP documentam configuração e não
2863
+ criam conexão autenticada. Consulte o [contrato de ambientes e acessos](.agents/skills/zaip-skill-backend/references/deployment-environments.md), que usa o formato do [MCP oficial do Supabase](https://supabase.com/docs/guides/getting-started/mcp).
2475
2864
 
2476
2865
  ### Defesa em profundidade
2477
2866
 
@@ -2525,9 +2914,9 @@ node .agents/skills/criar-pasta-obsidian/scripts/generate-obsidian-vault.mjs
2525
2914
  \`\`\`
2526
2915
 
2527
2916
  O [guia de Obsidian para rastreabilidade ZAIP](guide/CRIAR-PASTA-OBSIDIAN.md) documenta a instalação do aplicativo, a abertura da pasta como vault, a geração de uma única Task e a atualização da projeção após um \`git pull\`.
2528
- `,N=t(),P=Object.assign({"../../../../zaip-aios/guides/01-primeiros-passos.md":r,"../../../../zaip-aios/guides/02-requirements.md":i,"../../../../zaip-aios/guides/03-tasks.md":a,"../../../../zaip-aios/guides/04-specs.md":o,"../../../../zaip-aios/guides/05-prds.md":s,"../../../../zaip-aios/guides/06-execucao.md":c,"../../../../zaip-aios/guides/07-revisao-e-validacao.md":l,"../../../../zaip-aios/guides/08-contexto-e-tokens.md":u,"../../../../zaip-aios/guides/09-agentes-e-squads.md":d,"../../../../zaip-aios/guides/10-seguranca.md":f,"../../../../zaip-aios/guides/11-observabilidade-e-custos.md":p,"../../../../zaip-aios/guides/12-instalacao-e-upgrade.md":m,"../../../../zaip-aios/guides/13-boas-praticas.md":h,"../../../../zaip-aios/guides/14-troubleshooting.md":g,"../../../../zaip-aios/guides/15-tools-e-codex.md":_,"../../../../zaip-aios/guides/16-lifecycle-e-reconciliacao.md":v,"../../../../zaip-aios/guides/17-como-o-custo-e-calculado.md":y,"../../../../zaip-aios/guides/18-catalogo-de-agentes.md":b,"../../../../zaip-aios/guides/19-assurance-e-autonomia.md":x,"../../../../zaip-aios/guides/20-instalacao-detalhada.md":S,"../../../../zaip-aios/guides/21-telemetria-monitor-custos.md":C,"../../../../zaip-aios/guides/22-fluxos-e-roteamento.md":w,"../../../../zaip-aios/guides/23-orquestracao-de-modelos.md":T,"../../../../zaip-aios/guides/24-calculo-de-custos-openai.md":E,"../../../../zaip-aios/guides/25-fontes-de-precos-openai.md":D,"../../../../zaip-aios/guides/26-qualidade-e-release.md":O,"../../../../zaip-aios/guides/27-telemetria-git-native.md":k,"../../../../zaip-aios/guides/28-lifecycle-completo.md":A});function F({locale:e,onClose:t}){let r=(0,j.useMemo)(()=>n(e,M,P),[e]),i=r.filter(e=>e.id!==`readme`),[a,o]=(0,j.useState)(`readme`),[s,c]=(0,j.useState)(`rendered`),l=r.find(e=>e.id===a)??r[0];return(0,N.jsx)(`div`,{className:`dashboard-help-backdrop`,children:(0,N.jsxs)(`section`,{"aria-label":e===`pt-BR`?`Ajuda do ZAIP-AIOS`:`ZAIP-AIOS help`,"aria-modal":`true`,className:`dashboard-help`,role:`dialog`,children:[(0,N.jsxs)(`header`,{children:[(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`span`,{children:e===`pt-BR`?`Documentação local`:`Local documentation`}),(0,N.jsx)(`h2`,{children:e===`pt-BR`?`Ajuda e guides do framework`:`Framework help and guides`})]}),(0,N.jsx)(`button`,{"aria-label":e===`pt-BR`?`Fechar ajuda`:`Close help`,onClick:t,type:`button`,children:`×`})]}),(0,N.jsxs)(`div`,{className:`dashboard-help-layout`,children:[(0,N.jsxs)(`nav`,{"aria-label":e===`pt-BR`?`Documentos de ajuda`:`Help documents`,children:[(0,N.jsx)(`strong`,{children:e===`pt-BR`?`Visão geral`:`Overview`}),(0,N.jsx)(`button`,{className:a===`readme`?`is-active`:void 0,onClick:()=>o(`readme`),type:`button`,children:`README · ZAIP-AIOS`}),(0,N.jsx)(`strong`,{children:e===`pt-BR`?`Aprofundar no framework`:`Framework guides`}),i.map(e=>(0,N.jsx)(`button`,{className:a===e.id?`is-active`:void 0,onClick:()=>o(e.id),type:`button`,children:e.title},e.id))]}),(0,N.jsxs)(`article`,{children:[(0,N.jsxs)(`div`,{className:`dashboard-help-document-header`,children:[(0,N.jsx)(`h3`,{children:l?.title}),(0,N.jsxs)(`fieldset`,{"aria-label":e===`pt-BR`?`Visualização do documento`:`Document view`,children:[(0,N.jsx)(`button`,{"aria-pressed":s===`rendered`,className:s===`rendered`?`is-active`:void 0,onClick:()=>c(`rendered`),type:`button`,children:e===`pt-BR`?`Renderizado`:`Rendered`}),(0,N.jsx)(`button`,{"aria-pressed":s===`source`,className:s===`source`?`is-active`:void 0,onClick:()=>c(`source`),type:`button`,children:`Markdown`})]})]}),(0,N.jsx)(`div`,{className:`dashboard-help-sections`,children:U(l?.content??``,e).map(e=>(0,N.jsxs)(`section`,{children:[(0,N.jsx)(`h4`,{children:e.title}),s===`rendered`?(0,N.jsx)(I,{content:e.content}):(0,N.jsx)(`pre`,{children:e.content})]},e.title))})]})]})]})})}function I({content:e}){return H(L(e),V).map(({key:e,value:t})=>t.kind===`table`?(0,N.jsx)(`div`,{className:`dashboard-help-table-scroll`,children:(0,N.jsxs)(`table`,{children:[(0,N.jsx)(`thead`,{children:(0,N.jsx)(`tr`,{children:H(t.headers,e=>e).map(({key:e,value:t})=>(0,N.jsx)(`th`,{children:B(t)},e))})}),(0,N.jsx)(`tbody`,{children:H(t.rows,e=>e.join(``)).map(({key:e,value:t})=>(0,N.jsx)(`tr`,{children:H(t,e=>e).map(({key:e,value:t})=>(0,N.jsx)(`td`,{children:B(t)},e))},e))})]})},e):(0,N.jsx)(`pre`,{children:t.content},e))}function L(e){let t=e.split(`
2917
+ `,P=n(),F=Object.assign({"../../../../zaip-aios/guides/01-primeiros-passos.md":i,"../../../../zaip-aios/guides/02-requirements.md":a,"../../../../zaip-aios/guides/03-tasks.md":o,"../../../../zaip-aios/guides/04-specs.md":s,"../../../../zaip-aios/guides/05-prds.md":c,"../../../../zaip-aios/guides/06-execucao.md":l,"../../../../zaip-aios/guides/07-revisao-e-validacao.md":u,"../../../../zaip-aios/guides/08-contexto-e-tokens.md":d,"../../../../zaip-aios/guides/09-agentes-e-squads.md":f,"../../../../zaip-aios/guides/10-seguranca.md":p,"../../../../zaip-aios/guides/11-observabilidade-e-custos.md":m,"../../../../zaip-aios/guides/12-instalacao-e-upgrade.md":h,"../../../../zaip-aios/guides/13-boas-praticas.md":g,"../../../../zaip-aios/guides/14-troubleshooting.md":_,"../../../../zaip-aios/guides/15-tools-e-codex.md":v,"../../../../zaip-aios/guides/16-lifecycle-e-reconciliacao.md":y,"../../../../zaip-aios/guides/17-como-o-custo-e-calculado.md":b,"../../../../zaip-aios/guides/18-catalogo-de-agentes.md":x,"../../../../zaip-aios/guides/19-assurance-e-autonomia.md":S,"../../../../zaip-aios/guides/20-instalacao-detalhada.md":C,"../../../../zaip-aios/guides/21-telemetria-monitor-custos.md":w,"../../../../zaip-aios/guides/22-fluxos-e-roteamento.md":T,"../../../../zaip-aios/guides/23-orquestracao-de-modelos.md":E,"../../../../zaip-aios/guides/24-calculo-de-custos-openai.md":D,"../../../../zaip-aios/guides/25-fontes-de-precos-openai.md":O,"../../../../zaip-aios/guides/26-qualidade-e-release.md":k,"../../../../zaip-aios/guides/27-telemetria-git-native.md":A,"../../../../zaip-aios/guides/28-lifecycle-completo.md":j});function I({locale:e,onClose:t}){let n=(0,M.useMemo)(()=>r(e,N,F),[e]),i=n.filter(e=>e.id!==`readme`),[a,o]=(0,M.useState)(`readme`),[s,c]=(0,M.useState)(`rendered`),l=n.find(e=>e.id===a)??n[0];return(0,P.jsx)(`div`,{className:`dashboard-help-backdrop`,children:(0,P.jsxs)(`section`,{"aria-label":e===`pt-BR`?`Ajuda do ZAIP-AIOS`:`ZAIP-AIOS help`,"aria-modal":`true`,className:`dashboard-help`,role:`dialog`,children:[(0,P.jsxs)(`header`,{children:[(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`span`,{children:e===`pt-BR`?`Documentação local`:`Local documentation`}),(0,P.jsx)(`h2`,{children:e===`pt-BR`?`Ajuda e guides do framework`:`Framework help and guides`})]}),(0,P.jsx)(`button`,{"aria-label":e===`pt-BR`?`Fechar ajuda`:`Close help`,onClick:t,type:`button`,children:`×`})]}),(0,P.jsxs)(`div`,{className:`dashboard-help-layout`,children:[(0,P.jsxs)(`nav`,{"aria-label":e===`pt-BR`?`Documentos de ajuda`:`Help documents`,children:[(0,P.jsx)(`strong`,{children:e===`pt-BR`?`Visão geral`:`Overview`}),(0,P.jsx)(`button`,{className:a===`readme`?`is-active`:void 0,onClick:()=>o(`readme`),type:`button`,children:`README · ZAIP-AIOS`}),(0,P.jsx)(`strong`,{children:e===`pt-BR`?`Aprofundar no framework`:`Framework guides`}),i.map(e=>(0,P.jsx)(`button`,{className:a===e.id?`is-active`:void 0,onClick:()=>o(e.id),type:`button`,children:e.title},e.id))]}),(0,P.jsxs)(`article`,{children:[(0,P.jsxs)(`div`,{className:`dashboard-help-document-header`,children:[(0,P.jsx)(`h3`,{children:l?.title}),(0,P.jsxs)(`fieldset`,{"aria-label":e===`pt-BR`?`Visualização do documento`:`Document view`,children:[(0,P.jsx)(`button`,{"aria-pressed":s===`rendered`,className:s===`rendered`?`is-active`:void 0,onClick:()=>c(`rendered`),type:`button`,children:e===`pt-BR`?`Renderizado`:`Rendered`}),(0,P.jsx)(`button`,{"aria-pressed":s===`source`,className:s===`source`?`is-active`:void 0,onClick:()=>c(`source`),type:`button`,children:`Markdown`})]})]}),(0,P.jsx)(`div`,{className:`dashboard-help-sections`,children:W(l?.content??``,e).map(e=>(0,P.jsxs)(`section`,{children:[(0,P.jsx)(`h4`,{children:e.title}),s===`rendered`?(0,P.jsx)(L,{content:e.content}):(0,P.jsx)(`pre`,{children:e.content})]},e.title))})]})]})]})})}function L({content:e}){return U(R(e),H).map(({key:e,value:t})=>t.kind===`table`?(0,P.jsx)(`div`,{className:`dashboard-help-table-scroll`,children:(0,P.jsxs)(`table`,{children:[(0,P.jsx)(`thead`,{children:(0,P.jsx)(`tr`,{children:U(t.headers,e=>e).map(({key:e,value:t})=>(0,P.jsx)(`th`,{children:V(t)},e))})}),(0,P.jsx)(`tbody`,{children:U(t.rows,e=>e.join(``)).map(({key:e,value:t})=>(0,P.jsx)(`tr`,{children:U(t,e=>e).map(({key:e,value:t})=>(0,P.jsx)(`td`,{children:V(t)},e))},e))})]})},e):(0,P.jsx)(`pre`,{children:t.content},e))}function R(e){let t=e.split(`
2529
2918
  `),n=[],r=[],i=()=>{let e=r.join(`
2530
- `).trim();e&&n.push({kind:`text`,content:e}),r=[]};for(let e=0;e<t.length;e+=1){let a=t[e],o=t[e+1];if(a?.includes(`|`)&&o&&R(o)){i();let r=z(a),o=[];for(e+=2;e<t.length&&t[e]?.includes(`|`);)o.push(z(t[e]??``)),e+=1;--e,n.push({kind:`table`,headers:r,rows:o});continue}r.push(a??``)}return i(),n}function R(e){return z(e).every(e=>/^:?-{3,}:?$/.test(e.replace(/\s/g,``)))}function z(e){return e.trim().replace(/^\|/,``).replace(/\|$/,``).split(`|`).map(e=>e.trim())}function B(e){return H(e.split(/(\*\*[^*]+\*\*)/g),e=>e).map(({key:e,value:t})=>t.startsWith(`**`)&&t.endsWith(`**`)?(0,N.jsx)(`strong`,{children:t.slice(2,-2)},e):(0,N.jsx)(j.Fragment,{children:t},e))}function V(e){return e.kind===`text`?`text:${e.content}`:`table:${e.headers.join(``)}:${e.rows.map(e=>e.join(``)).join(``)}`}function H(e,t){let n=new Map;return e.map(e=>{let r=t(e),i=(n.get(r)??0)+1;return n.set(r,i),{key:`${r}#${i}`,value:e}})}function U(e,t){return e.split(/\n(?=##?\s)/).filter(Boolean).map((e,n)=>{let r=e.trim().split(`
2919
+ `).trim();e&&n.push({kind:`text`,content:e}),r=[]};for(let e=0;e<t.length;e+=1){let a=t[e],o=t[e+1];if(a?.includes(`|`)&&o&&z(o)){i();let r=B(a),o=[];for(e+=2;e<t.length&&t[e]?.includes(`|`);)o.push(B(t[e]??``)),e+=1;--e,n.push({kind:`table`,headers:r,rows:o});continue}r.push(a??``)}return i(),n}function z(e){return B(e).every(e=>/^:?-{3,}:?$/.test(e.replace(/\s/g,``)))}function B(e){return e.trim().replace(/^\|/,``).replace(/\|$/,``).split(`|`).map(e=>e.trim())}function V(e){return U(e.split(/(\*\*[^*]+\*\*)/g),e=>e).map(({key:e,value:t})=>t.startsWith(`**`)&&t.endsWith(`**`)?(0,P.jsx)(`strong`,{children:t.slice(2,-2)},e):(0,P.jsx)(M.Fragment,{children:t},e))}function H(e){return e.kind===`text`?`text:${e.content}`:`table:${e.headers.join(``)}:${e.rows.map(e=>e.join(``)).join(``)}`}function U(e,t){let n=new Map;return e.map(e=>{let r=t(e),i=(n.get(r)??0)+1;return n.set(r,i),{key:`${r}#${i}`,value:e}})}function W(e,t){return e.split(/\n(?=##?\s)/).filter(Boolean).map((e,n)=>{let r=e.trim().split(`
2531
2920
  `),i=r[0]?.match(/^#{1,2}\s+(.+)$/)?.[1];return{title:i??(n===0?t===`pt-BR`?`Introdução`:`Introduction`:t===`pt-BR`?`Seção ${n+1}`:`Section ${n+1}`),content:i?r.slice(1).join(`
2532
2921
  `).trim():r.join(`
2533
- `).trim()}})}export{F as DashboardHelpDialog};
2922
+ `).trim()}})}export{I as DashboardHelpDialog};