@zaip-ai/cli 1.0.8 → 1.3.1

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 (360) hide show
  1. package/README.md +1 -1
  2. package/dist/services/adapters.d.ts +1 -1
  3. package/dist/services/adapters.js +1 -1
  4. package/dist/services/agent-adapters.js +3 -3
  5. package/dist/services/agent-adapters.js.map +1 -1
  6. package/dist/services/agent-adapters.test.js +7 -1
  7. package/dist/services/agent-adapters.test.js.map +1 -1
  8. package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
  9. package/dist/services/codex-pre-tool-hook-template.js +89 -7
  10. package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
  11. package/dist/services/codex-rules.d.ts +1 -1
  12. package/dist/services/codex-rules.d.ts.map +1 -1
  13. package/dist/services/codex-rules.js +7 -0
  14. package/dist/services/codex-rules.js.map +1 -1
  15. package/dist/services/install-agents-template.d.ts.map +1 -1
  16. package/dist/services/install-agents-template.js +1 -0
  17. package/dist/services/install-agents-template.js.map +1 -1
  18. package/dist/services/logger.test.js +2 -2
  19. package/dist/services/runtime-template.test.js +31 -7
  20. package/dist/services/runtime-template.test.js.map +1 -1
  21. package/dist/services/template-manifest.d.ts.map +1 -1
  22. package/dist/services/template-manifest.js +12 -3
  23. package/dist/services/template-manifest.js.map +1 -1
  24. package/package.json +1 -1
  25. package/templates/.agents/architecture/software-architecture.md +131 -0
  26. package/templates/.agents/branding/brandbook.docx +0 -0
  27. package/templates/.agents/branding/brandbook.md +60 -0
  28. package/templates/.agents/config/agents/catalog.yaml +7 -7
  29. package/templates/.agents/config/clients/codex/agents/zaip-agent-backend.toml +2 -2
  30. package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +2 -2
  31. package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +1 -1
  32. package/templates/.agents/config/clients/codex/agents/zaip-agent-frontend.toml +8 -8
  33. package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +1 -1
  34. package/templates/.agents/dashboard/.tmp-run-list.json +254 -0
  35. package/templates/.agents/dashboard/.zaip-managed.json +457 -173
  36. package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-Z60df2r-.js → CostCalculationGuidePage-ovxurkIk.js} +1 -1
  37. package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-BgVgrfhQ.js +2310 -0
  38. package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-Coc6pA-1.js → PricingSettingsDialog-vSvvOHQp.js} +1 -1
  39. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-BomxqCBU.css +1 -0
  40. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-zH758vfs.js +3 -0
  41. package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-DLn-Mz2M.js +1 -0
  42. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-CaKwQP43.css → TraceabilityWorkspace-DvvavDLY.css} +1 -1
  43. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-DKwP1stV.js +68 -0
  44. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-PoJA2PI1.css +1 -0
  45. package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-DFBuc_qp.js → icons-vendor-B_lDDHn1.js} +1 -1
  46. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-B31GMG5O.css +1 -0
  47. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-CZQlsLV9.js +2 -0
  48. package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-CCQOHdVI.js → react-vendor-B3TJrD4O.js} +1 -1
  49. package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-pC2_0J8x.js → traceability-7f1j5wx3.js} +1 -1
  50. package/templates/.agents/dashboard/apps/frontend/dist/index.html +7 -7
  51. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  52. package/templates/.agents/dashboard/apps/frontend/playwright.dom.config.ts +32 -0
  53. package/templates/.agents/dashboard/apps/frontend/src/App.tsx +199 -140
  54. package/templates/.agents/dashboard/apps/frontend/src/AppOverlays.tsx +0 -21
  55. package/templates/.agents/dashboard/apps/frontend/src/DashboardAlternateContent.tsx +20 -11
  56. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +14 -7
  57. package/templates/.agents/dashboard/apps/frontend/src/ProjectStackEditor.tsx +4 -2
  58. package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.dom.e2e.ts +56 -0
  59. package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.test.ts +21 -2
  60. package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.tsx +89 -19
  61. package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +19 -4
  62. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +49 -3
  63. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.ts +29 -10
  64. package/templates/.agents/dashboard/apps/frontend/src/operations-period-render.test.ts +4 -4
  65. package/templates/.agents/dashboard/apps/frontend/src/overview-status-page.test.ts +4 -2
  66. package/templates/.agents/dashboard/apps/frontend/src/project-settings-page.css +36 -26
  67. package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +2 -2
  68. package/templates/.agents/dashboard/apps/frontend/src/snapshot-banner-semantics.test.ts +47 -6
  69. package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +59 -9
  70. package/templates/.agents/dashboard/apps/frontend/src/sqlite-page-export.test.ts +32 -0
  71. package/templates/.agents/dashboard/apps/frontend/src/sqlite-page-export.ts +21 -0
  72. package/templates/.agents/dashboard/apps/frontend/src/styles.css +19 -0
  73. package/templates/.agents/dashboard/apps/frontend/src/traceability-task-pagination.test.ts +32 -0
  74. package/templates/.agents/dashboard/apps/frontend/src/traceability-task-pagination.ts +36 -0
  75. package/templates/.agents/dashboard/apps/frontend/src/traceability-workspace.css +6 -2
  76. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.test.ts +137 -23
  77. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.ts +229 -35
  78. package/templates/.agents/dashboard/apps/frontend/src/use-app-effects.ts +61 -7
  79. package/templates/.agents/dashboard/apps/frontend/src/use-app-operations-pages.ts +3 -6
  80. package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-documents.ts +7 -1
  81. package/templates/.agents/dashboard/apps/frontend/src/use-app-work-list-page.test.ts +163 -0
  82. package/templates/.agents/dashboard/apps/frontend/src/use-app-work-list-page.ts +136 -0
  83. package/templates/.agents/dashboard/apps/frontend/src/use-operations-detail-export.ts +76 -0
  84. package/templates/.agents/dashboard/apps/frontend/src/work-list-load-dedup.test.ts +23 -0
  85. package/templates/.agents/dashboard/apps/frontend/src/work-list-load-dedup.ts +27 -0
  86. package/templates/.agents/dashboard/apps/frontend/src/work-list-pagination.test.ts +39 -15
  87. package/templates/.agents/dashboard/apps/frontend/src/work-list-pagination.ts +3 -4
  88. package/templates/.agents/dashboard/apps/frontend/vite.config.ts +4 -1
  89. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  90. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.test.ts +89 -19
  91. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.tsx +31 -16
  92. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.test.ts +43 -14
  93. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.tsx +5 -5
  94. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostDeveloperAttributionPanel.tsx +60 -0
  95. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostDeveloperAttributionTable.tsx +191 -0
  96. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.loading.test.ts +14 -0
  97. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.run-page.test.ts +18 -0
  98. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.tsx +18 -3
  99. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostModelsAuditTable.tsx +1 -1
  100. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorContent.tsx +75 -44
  101. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorLoadErrors.tsx +35 -0
  102. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.test.ts +162 -40
  103. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +221 -79
  104. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTableLoading.test.ts +132 -0
  105. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTableLoading.tsx +70 -0
  106. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +203 -155
  107. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.tsx +164 -125
  108. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-copy.ts +2 -0
  109. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-views.ts +3 -1
  110. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor.css +5 -2
  111. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-page-range.ts +35 -0
  112. package/templates/.agents/dashboard/modules/cost-monitor/src/react/index.ts +2 -2
  113. package/templates/.agents/dashboard/modules/cost-monitor/src/react/period-cost-groups.ts +2 -1
  114. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-compact-cost-page.ts +32 -9
  115. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-group-page.test.ts +37 -2
  116. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-group-page.ts +131 -9
  117. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-run-page.ts +34 -17
  118. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.test.ts +0 -24
  119. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.test.ts +225 -424
  120. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +24 -15
  121. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-terminal-day.test.ts +6 -1
  122. package/templates/.agents/dashboard/modules/cost-monitor/src/server/source-size-cost-server/build-cost-monitor-projection-agents.test.ts +31 -0
  123. package/templates/.agents/dashboard/modules/cost-monitor/src/server/source-size-cost-server/build-cost-summary-projection-duration.test.ts +414 -0
  124. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  125. package/templates/.agents/dashboard/modules/operations/src/contracts.ts +46 -26
  126. package/templates/.agents/dashboard/modules/operations/src/react/DeveloperAttributionPanel.test.ts +54 -0
  127. package/templates/.agents/dashboard/modules/operations/src/react/DeveloperAttributionPanel.tsx +247 -0
  128. package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +31 -11
  129. package/templates/.agents/dashboard/modules/operations/src/react/OperationsMainContent.tsx +39 -13
  130. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.helpers.tsx +107 -2
  131. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.macro-metrics.test.ts +55 -0
  132. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +23 -29
  133. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +211 -184
  134. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewTopPanel.tsx +127 -0
  135. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +60 -51
  136. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageNavigation.tsx +1 -4
  137. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageOverview.tsx +3 -0
  138. package/templates/.agents/dashboard/modules/operations/src/react/PagedWorkList.test.tsx +43 -0
  139. package/templates/.agents/dashboard/modules/operations/src/react/PagedWorkList.tsx +181 -0
  140. package/templates/.agents/dashboard/modules/operations/src/react/PeriodSummaryTable.tsx +32 -10
  141. package/templates/.agents/dashboard/modules/operations/src/react/TaskDetailsDialog.tsx +9 -3
  142. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.tsx +13 -5
  143. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.test.ts +16 -6
  144. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.tsx +14 -4
  145. package/templates/.agents/dashboard/modules/operations/src/react/conversation-rows.ts +1 -2
  146. package/templates/.agents/dashboard/modules/operations/src/react/developer-identities.test.ts +18 -0
  147. package/templates/.agents/dashboard/modules/operations/src/react/developer-identities.ts +30 -0
  148. package/templates/.agents/dashboard/modules/operations/src/react/execution-metrics.ts +1 -0
  149. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.test.ts +393 -4
  150. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.tsx +484 -61
  151. package/templates/.agents/dashboard/modules/operations/src/react/export/export-layout.test.ts +23 -1
  152. package/templates/.agents/dashboard/modules/operations/src/react/export/xlsx-runtime-e2e.test.ts +248 -0
  153. package/templates/.agents/dashboard/modules/operations/src/react/index.ts +1 -0
  154. package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.test.ts +4 -4
  155. package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.ts +6 -4
  156. package/templates/.agents/dashboard/modules/operations/src/react/operations-coverage-toast.test.ts +4 -3
  157. package/templates/.agents/dashboard/modules/operations/src/react/operations-date-filters.css +1 -1
  158. package/templates/.agents/dashboard/modules/operations/src/react/operations-global-filters.test.ts +4 -1
  159. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +22 -12
  160. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview.css +4 -0
  161. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview.status-cards.test.ts +1 -1
  162. package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +53 -6
  163. package/templates/.agents/dashboard/modules/operations/src/react/operations-view-order.test.ts +2 -4
  164. package/templates/.agents/dashboard/modules/operations/src/react/period-summary.test.ts +82 -6
  165. package/templates/.agents/dashboard/modules/operations/src/react/period-summary.ts +1 -0
  166. package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.test.ts +2 -1
  167. package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.ts +1 -1
  168. package/templates/.agents/dashboard/modules/operations/src/server/execution-relationship-counts.test.ts +19 -7
  169. package/templates/.agents/dashboard/modules/operations/src/server/execution-relationship-counts.ts +4 -1
  170. package/templates/.agents/dashboard/modules/operations/src/server/metric-coverage.ts +1 -0
  171. package/templates/.agents/dashboard/modules/operations/src/server/quick-daily-operations-projection.ts +11 -5
  172. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  173. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  174. package/templates/.agents/dashboard/packages/branding/src/index.ts +1 -1
  175. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  176. package/templates/.agents/dashboard/packages/contracts/src/index.ts +1 -0
  177. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  178. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +533 -338
  179. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +506 -311
  180. package/templates/.agents/dashboard/packages/local-runtime/gitignore.template +2 -0
  181. package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
  182. package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-dashboard.mjs +15 -7
  183. package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-runtime.mjs +44 -13
  184. package/templates/.agents/dashboard/packages/local-runtime/scripts/rebuild-sqlite-read-model.mjs +8 -3
  185. package/templates/.agents/dashboard/packages/local-runtime/scripts/source-size-runtime-scripts/sqlite-read-model-fixture.mjs +397 -0
  186. package/templates/.agents/dashboard/packages/local-runtime/scripts/test-sqlite-read-model.mjs +472 -145
  187. package/templates/.agents/dashboard/packages/local-runtime/scripts/test-unix-launchers.mjs +15 -3
  188. package/templates/.agents/dashboard/packages/local-runtime/scripts/validate-sqlite-read-model.mjs +141 -33
  189. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +533 -338
  190. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +6 -2
  191. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +3 -3
  192. package/templates/.agents/dashboard/packages/local-runtime/src/server-board.test.ts +89 -16
  193. package/templates/.agents/dashboard/packages/local-runtime/src/server-board.ts +33 -16
  194. package/templates/.agents/dashboard/packages/local-runtime/src/server-classification-page.test.ts +87 -0
  195. package/templates/.agents/dashboard/packages/local-runtime/src/server-period-macro-metric.test.ts +44 -0
  196. package/templates/.agents/dashboard/packages/local-runtime/src/server-period-macro-metric.ts +125 -0
  197. package/templates/.agents/dashboard/packages/local-runtime/src/server-reconciliation-refresh.test.ts +66 -0
  198. package/templates/.agents/dashboard/packages/local-runtime/src/server-request-authority.test.ts +61 -0
  199. package/templates/.agents/dashboard/packages/local-runtime/src/server-request-authority.ts +18 -0
  200. package/templates/.agents/dashboard/packages/local-runtime/src/server-run-projections.test.ts +42 -0
  201. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-refresh.ts +97 -0
  202. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +22 -5
  203. package/templates/.agents/dashboard/packages/local-runtime/src/server-sqlite-task-trace.ts +91 -0
  204. package/templates/.agents/dashboard/packages/local-runtime/src/server-workspace.ts +7 -3
  205. package/templates/.agents/dashboard/packages/local-runtime/src/server.test-fixtures.ts +36 -0
  206. package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +230 -132
  207. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +224 -182
  208. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-artifact-counts.ts +28 -0
  209. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-agent-page.test.ts +63 -0
  210. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-agent-page.ts +109 -0
  211. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-aggregates.ts +497 -0
  212. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-fast-page-parity.test-support.ts +65 -0
  213. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-group-page.test.ts +176 -0
  214. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-group-page.ts +119 -0
  215. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-group-projection.ts +41 -0
  216. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-invocation-page.test.ts +16 -0
  217. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-invocation-page.ts +29 -0
  218. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-first-fold-cache.ts +355 -0
  219. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-first-fold-persistence.ts +121 -0
  220. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-first-fold-timing.ts +27 -0
  221. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-metric-contract.ts +16 -2
  222. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-projection.ts +15 -0
  223. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-work-list.test.ts +223 -0
  224. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-work-list.ts +304 -0
  225. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-cache.test-support.ts +23 -0
  226. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-first-fold-types.ts +89 -0
  227. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-multi-provider-fixture.ts +227 -0
  228. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-multi-provider.test.ts +691 -0
  229. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.ts +81 -0
  230. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +1655 -567
  231. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.ts +2168 -1268
  232. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-snapshot-cache.ts +129 -0
  233. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-snapshot-install.test.ts +26 -0
  234. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-snapshot-install.ts +28 -0
  235. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-snapshot-seed.test.ts +116 -0
  236. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.mjs +146 -0
  237. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.test.mjs +165 -0
  238. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-refresh.mjs +140 -0
  239. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.mjs +255 -289
  240. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +94 -88
  241. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  242. package/templates/.agents/dashboard/packages/windows-launcher/Program.cs +5 -2
  243. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  244. package/templates/.agents/dashboard/tests/e2e/playwright.config.ts +4 -1
  245. package/templates/.agents/dashboard/tests/e2e/specs/cost-monitor-loading.spec.ts +142 -0
  246. package/templates/.agents/dashboard/tests/e2e/specs/cost-monitor-pagination.spec.ts +232 -0
  247. package/templates/.agents/dashboard/tests/e2e/specs/dashboard-performance-matrix.spec.ts +743 -0
  248. package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +189 -214
  249. package/templates/.agents/dashboard/zaip-dashboard-windows.exe +0 -0
  250. package/templates/.agents/design/.zaip-managed.json +3 -3
  251. package/templates/.agents/design/apps/catalog/package.json +1 -1
  252. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  253. package/templates/.agents/growth/estrategia-bootstrap-90-dias.md +169 -0
  254. package/templates/.agents/growth/strategy.md +27 -0
  255. package/templates/.agents/marketing/estrategia-marketing-zaip-90-dias.md +197 -0
  256. package/templates/.agents/marketing/strategy.md +29 -0
  257. package/templates/.agents/requirements/autonomous-assurance.md +6 -6
  258. package/templates/.agents/requirements/comparative-audit.md +1 -1
  259. package/templates/.agents/requirements/context-engine.md +1 -1
  260. package/templates/.agents/requirements/cost-observability.md +1 -1
  261. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  262. package/templates/.agents/requirements/data-export.md +1 -1
  263. package/templates/.agents/requirements/design-system.md +1 -1
  264. package/templates/.agents/requirements/execution-engine.md +3 -3
  265. package/templates/.agents/requirements/kanban-dashboard.md +10 -2
  266. package/templates/.agents/requirements/model-orchestration.md +1 -1
  267. package/templates/.agents/requirements/public-distribution.md +1 -1
  268. package/templates/.agents/requirements/software-architecture.md +1 -1
  269. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  270. package/templates/.agents/requirements/work-lifecycle.md +4 -4
  271. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  272. package/templates/.agents/rules/dashboard-ui-consistency.md +14 -0
  273. package/templates/.agents/rules/frontend-lite.md +4 -4
  274. package/templates/.agents/rules/run-lifecycle-closure.md +4 -4
  275. package/templates/.agents/runtime/VERSION +1 -1
  276. package/templates/.agents/runtime/bin/zaip.mjs +1142 -1041
  277. package/templates/.agents/runtime/checksums.sha256 +6 -6
  278. package/templates/.agents/runtime/manifest.json +1 -1
  279. package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
  280. package/templates/.agents/runtime/provenance.json +5 -5
  281. package/templates/.agents/runtime/sbom.cdx.json +3 -3
  282. package/templates/.agents/sales/playbook.md +32 -0
  283. package/templates/.agents/sales/roteiro-comercial-zaip.md +252 -0
  284. package/templates/.agents/skills/criar-pasta-obsidian/scripts/generate-obsidian-vault.test.mjs +20 -16
  285. package/templates/.agents/skills/zaip-aios/SKILL.md +1 -1
  286. package/templates/.agents/skills/zaip-skill-agent-catalog/SKILL.md +22 -0
  287. package/templates/.agents/skills/zaip-skill-agent-catalog/agents/openai.yaml +4 -0
  288. package/templates/.agents/skills/zaip-skill-author-skills/SKILL.md +3 -2
  289. package/templates/.agents/skills/zaip-skill-author-skills/scripts/audit-skill-catalog.mjs +49 -0
  290. package/templates/.agents/skills/zaip-skill-author-skills/scripts/author-skill-scripts.test.mjs +27 -0
  291. package/templates/.agents/skills/zaip-skill-author-skills/scripts/run-skill-tests.mjs +37 -0
  292. package/templates/.agents/skills/zaip-skill-backend/SKILL.md +1 -0
  293. package/templates/.agents/skills/zaip-skill-brand-governance/SKILL.md +9 -2
  294. package/templates/.agents/skills/zaip-skill-brand-governance/references/brandbook-framework.md +39 -0
  295. package/templates/.agents/skills/zaip-skill-brand-governance/references/brandbook-standards.md +1 -1
  296. package/templates/.agents/skills/zaip-skill-change/SKILL.md +1 -1
  297. package/templates/.agents/skills/zaip-skill-change/references/observable-evidence.md +83 -0
  298. package/templates/.agents/skills/zaip-skill-dashboard-diagnostics/SKILL.md +22 -0
  299. package/templates/.agents/skills/zaip-skill-dashboard-diagnostics/agents/openai.yaml +4 -0
  300. package/templates/.agents/skills/zaip-skill-enforce-architecture/SKILL.md +2 -0
  301. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +1 -1
  302. package/templates/.agents/skills/zaip-skill-frontend/SKILL.md +4 -3
  303. package/templates/.agents/skills/zaip-skill-frontend/agents/openai.yaml +2 -2
  304. package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +10 -10
  305. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/SKILL.md +6 -0
  306. package/templates/.agents/skills/zaip-skill-lifecycle-closure/SKILL.md +27 -0
  307. package/templates/.agents/skills/zaip-skill-lifecycle-closure/agents/openai.yaml +4 -0
  308. package/templates/.agents/skills/zaip-skill-marketing/SKILL.md +6 -0
  309. package/templates/.agents/skills/zaip-skill-prd/SKILL.md +4 -0
  310. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +111 -104
  311. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-explicit-recovery.mjs +223 -0
  312. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +55 -9
  313. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +145 -14
  314. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.mjs +19 -9
  315. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.test.mjs +82 -5
  316. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/source-size-telemetry/model-identity-reconciliation.mjs +77 -0
  317. package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +20 -0
  318. package/templates/.agents/skills/zaip-skill-release-qualification/agents/openai.yaml +4 -0
  319. package/templates/.agents/skills/zaip-skill-review/SKILL.md +5 -0
  320. package/templates/.agents/skills/zaip-skill-rules/SKILL.md +1 -1
  321. package/templates/.agents/skills/zaip-skill-sales-methodology/SKILL.md +6 -0
  322. package/templates/.agents/skills/zaip-skill-spec/SKILL.md +4 -0
  323. package/templates/.agents/skills/zaip-skill-sqlite-read-model/SKILL.md +22 -90
  324. package/templates/.agents/skills/zaip-skill-sqlite-read-model/scripts/ensure-node.mjs +28 -5
  325. package/templates/.agents/zaip-aios/INDEX.md +57 -22
  326. package/templates/.agents/zaip-aios/README.md +24 -13
  327. package/templates/.agents/zaip-aios/VERSION +1 -1
  328. package/templates/.agents/zaip-aios/guides/02-requirements.md +5 -0
  329. package/templates/.agents/zaip-aios/guides/06-execucao.md +13 -4
  330. package/templates/.agents/zaip-aios/guides/07-revisao-e-validacao.md +7 -0
  331. package/templates/.agents/zaip-aios/guides/10-seguranca.md +23 -0
  332. package/templates/.agents/zaip-aios/guides/11-observabilidade-e-custos.md +6 -6
  333. package/templates/.agents/zaip-aios/guides/13-boas-praticas.md +3 -0
  334. package/templates/.agents/zaip-aios/guides/16-lifecycle-e-reconciliacao.md +12 -3
  335. package/templates/.agents/zaip-aios/guides/17-como-o-custo-e-calculado.md +5 -5
  336. package/templates/.agents/zaip-aios/guides/18-catalogo-de-agentes.md +76 -0
  337. package/templates/.agents/zaip-aios/guides/19-assurance-e-autonomia.md +95 -0
  338. package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +366 -0
  339. package/templates/.agents/zaip-aios/guides/21-telemetria-monitor-custos.md +46 -0
  340. package/templates/.agents/zaip-aios/guides/22-fluxos-e-roteamento.md +74 -0
  341. package/templates/.agents/zaip-aios/guides/23-orquestracao-de-modelos.md +483 -0
  342. package/templates/.agents/zaip-aios/guides/24-calculo-de-custos-openai.md +85 -0
  343. package/templates/.agents/zaip-aios/guides/25-fontes-de-precos-openai.md +19 -0
  344. package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +111 -0
  345. package/templates/.agents/zaip-aios/guides/27-telemetria-git-native.md +172 -0
  346. package/templates/.agents/zaip-aios/guides/28-lifecycle-completo.md +149 -0
  347. package/templates/.agents/zaip-aios/guides/assets/diagrams/lifecycles-task-spec-prd.png +0 -0
  348. package/templates/.agents/zaip-aios/guides/assets/diagrams/prd-lifecycle.png +0 -0
  349. package/templates/.agents/zaip-aios/guides/assets/diagrams/spec-lifecycle.png +0 -0
  350. package/templates/.agents/zaip-aios/guides/assets/diagrams/task-lifecycle.png +0 -0
  351. package/templates/template-manifest.json +756 -235
  352. package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-Cs6dzDmW.js +0 -1505
  353. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-QE1k9yZB.css +0 -1
  354. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-_Pf5DA_A.js +0 -3
  355. package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-BVlz3DLZ.js +0 -1
  356. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-BZ5WdaMN.css +0 -1
  357. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-Cf9ctPVt.js +0 -68
  358. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-8A4DcNXM.js +0 -2
  359. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DK_enB5Z.css +0 -1
  360. package/templates/.agents/dashboard/apps/frontend/src/use-idle-cost-prefetch.ts +0 -45
@@ -0,0 +1,483 @@
1
+ # Guia de orquestração de modelos e reasoning effort
2
+
3
+ ## Objetivo
4
+
5
+ Este guia define como o ZAIP-AIOS recomenda modelo, `reasoning effort` e velocidade para cada trabalho. A política deve equilibrar quatro resultados:
6
+
7
+ - alta assertividade na entrega;
8
+ - baixo percentual de bugs e rework;
9
+ - validação proporcional ao risco;
10
+ - economia de tokens, custo e tempo total até a entrega verificada.
11
+
12
+ 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.
13
+
14
+ Toda Execution originada por PRD ou SPEC solicita velocidade `standard`, sem exceção ou override para Fast. A única forma suportada de executar trabalho de produto mais rápido é iniciar uma Task-first realmente independente e selecionar Fast manualmente no Codex; o ZAIP não ativa, persiste nem herda essa velocidade.
15
+
16
+ ## Estado atual
17
+
18
+ ### Estado verificado do framework
19
+
20
+ 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.
21
+
22
+ 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.
23
+
24
+ ### Modo manual
25
+
26
+ Quando `model_orchestration.mode` estiver como `manual`, o ZAIP:
27
+
28
+ 1. usa modelo, esforço e velocidade somente quando estiverem explícitos no input ou contexto técnico do turno;
29
+ 2. classifica o trabalho;
30
+ 3. recomenda uma configuração;
31
+ 4. informa a recomendação antes de continuar;
32
+ 5. nunca altera a configuração automaticamente.
33
+
34
+ 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.
35
+
36
+ Formato recomendado:
37
+
38
+ ```text
39
+ Você está usando o modelo <modelo>, esforço <esforço> e velocidade <velocidade>.
40
+ Esta tarefa é <lite|padrão|crítico>; recomendo esforço <esforço> e velocidade
41
+ <velocidade> porque <motivos observáveis>. Caso concorde, cancele esta tarefa
42
+ e faça a configuração manual no Codex.
43
+ ```
44
+
45
+ ### Modo automático por origem
46
+
47
+ 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.
48
+
49
+ 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.
50
+
51
+ 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.
52
+
53
+ 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.
54
+
55
+ ### Escolha manual no Codex
56
+
57
+ 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.
58
+
59
+ 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.
60
+
61
+ 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.
62
+
63
+ 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.
64
+
65
+ ## Princípios de decisão
66
+
67
+ 1. **Qualidade é uma restrição, não uma média com custo.** Acceptance Criteria, testes e gates precisam passar antes de otimizar tokens.
68
+ 2. **Use o menor effort que entrega a qualidade necessária.** Aumente somente por necessidade observável ou ganho medido.
69
+ 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.
70
+ 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.
71
+ 5. **Custo relevante é o total até a entrega verificada.** Planejamento barato que gera muitos reparos pode custar mais que um planejamento mais profundo.
72
+ 6. **Escalada exige evidência.** Ambiguidade, falha estrutural, finding ou rework justificam elevar um nível; volume mecânico não.
73
+ 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.
74
+
75
+ ## Família de modelos
76
+
77
+ A política automática deve permanecer inicialmente na família GPT-5.6:
78
+
79
+ | Modelo | Uso preferencial |
80
+ | --- | --- |
81
+ | `gpt-5.6-luna` | trabalho claro, repetitivo, determinístico e de alto volume |
82
+ | `gpt-5.6-terra` | implementação, teste, diagnóstico e integração cotidiana |
83
+ | `gpt-5.6-sol` | trabalho ambíguo, transversal, arquitetural, crítico ou de alto valor |
84
+
85
+ Os defaults iniciais ficam definidos assim:
86
+
87
+ | Campo | Default |
88
+ | --- | --- |
89
+ | modelo fallback/baseline | `gpt-5.6-terra` |
90
+ | effort fallback/baseline | `medium` |
91
+ | velocidade fallback/baseline | `standard` |
92
+ | modelo eficiente elegível | `gpt-5.6-luna` |
93
+ | modelo frontier elegível | `gpt-5.6-sol` |
94
+ | teto automático de effort | `xhigh` |
95
+ | `xhigh` automático | habilitado somente pelos critérios de elegibilidade |
96
+ | `max` e `Ultra` automáticos | fora de escopo |
97
+ | velocidade solicitada | sempre `standard`; não participa da seleção |
98
+
99
+ 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.
100
+
101
+ `ultra` e `max` não fazem parte da política: o ZAIP-AIOS nunca os seleciona. A seleção usa somente Luna, Terra ou Sol com effort `low`, `medium`, `high` ou `xhigh`.
102
+
103
+ ## Reasoning effort
104
+
105
+ | Effort | Uso recomendado |
106
+ | --- | --- |
107
+ | `low` | execução clara, roteamento, busca delimitada, transformação e integração sem conflito |
108
+ | `medium` | padrão para agentic coding, planejamento delimitado, implementação e revisão cotidiana |
109
+ | `high` | debugging complexo, planejamento profundo, síntese final e auditoria crítica delimitada |
110
+ | `xhigh` | exceção para planejamento, replanejamento, segurança, code review ou auditoria em problemas excepcionalmente difíceis |
111
+
112
+ Regras adicionais:
113
+
114
+ - `xhigh` é aceito pelo framework automático, mas permanece inelegível para trabalho comum.
115
+ - `xhigh` e `high` não devem ser defaults de implementação extensa.
116
+ - `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.
117
+ - `high` e `xhigh` devem receber contexto e saída delimitados para evitar turnos abertos e excessivamente longos.
118
+ - `max` não pertence à primeira versão automática e `ultra` é explicitamente inválido no modo `auto`.
119
+
120
+ ## Velocidade por origem
121
+
122
+ Modelo e effort podem variar entre Agent Runs, nunca entre Calls da mesma Run. A origem da Execution define quem controla a velocidade:
123
+
124
+ | Origem | Modelo e effort | Velocidade | Execução Fast |
125
+ | --- | --- | --- | --- |
126
+ | Conversation | seleção manual do Codex | seleção manual do Codex | não é execução de produto |
127
+ | Task-first | seleção manual do Codex | seleção manual do Codex | somente por seleção manual no Codex |
128
+ | SPEC | política automática ZAIP | sempre `standard` | não suportada |
129
+ | PRD | política automática ZAIP | sempre `standard` | não suportada |
130
+
131
+ 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.
132
+
133
+ 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.
134
+
135
+ ## Separação entre risco e complexidade
136
+
137
+ O ZAIP usa duas classificações independentes:
138
+
139
+ - risco: `lite`, `standard`, `critical`;
140
+ - complexidade: `simple`, `standard`, `complex`.
141
+
142
+ O risco governa verificação e proteção. A complexidade influencia modelo e effort.
143
+
144
+ | Risco | Gates mínimos esperados |
145
+ | --- | --- |
146
+ | `lite` | verificação scoped e Acceptance Criteria aplicáveis |
147
+ | `standard` | testes dos packages afetados, revisão e evidência |
148
+ | `critical` | verificação completa, revisão independente, segurança quando aplicável, rollout e rollback |
149
+
150
+ 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.
151
+
152
+ ## Política por agente
153
+
154
+ 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:
155
+
156
+ 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.
157
+
158
+ | Agente | Configuração-base | Elevação típica |
159
+ | --- | --- | --- |
160
+ | `agent-orchestrator` | Terra `low` | Sol `medium` para DAG complexa; `high` para síntese final crítica |
161
+ | `agent-builder` | Terra `medium` | Sol `medium` para arquitetura, segurança ou migração |
162
+ | `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 |
163
+ | `agent-integrator` | Terra `medium` | Sol `medium` somente quando outra regra explícita exigir raciocínio transversal |
164
+ | `agent-auditor` e `agent-security-auditor` | Sol `high` | `xhigh` apenas quando elegível e medido |
165
+ | `agent-finalizer` | Terra `medium` | sem elevação automática; avalia evidência já produzida |
166
+ | fallback `codex` | Terra `medium` | resolver novamente pela Task e pelos gates |
167
+
168
+ Se nenhum agente do catálogo for selecionado, o nome do cliente/host é usado como fallback de identidade. No Codex:
169
+
170
+ ```yaml
171
+ agent: codex
172
+ client: codex
173
+ provider: openai
174
+ ```
175
+
176
+ `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.
177
+
178
+ ## PRD e SPEC
179
+
180
+ ### PRD
181
+
182
+ 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.
183
+
184
+ ### SPEC
185
+
186
+ 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:
187
+
188
+ - frontend, backend e persistência ou infraestrutura;
189
+ - mudança de contrato de API;
190
+ - múltiplos módulos dependentes;
191
+ - migração e compatibilidade temporária;
192
+ - autenticação, autorização, segurança ou dados críticos;
193
+ - rollout e rollback complexos;
194
+ - muitas Tasks paralelas ou locks relevantes;
195
+ - rework anterior causado por falha de arquitetura;
196
+ - Acceptance Criteria difíceis de transformar em testes.
197
+
198
+ ### Fluxo econômico de planejamento
199
+
200
+ ```text
201
+ Descoberta e rascunho -> Terra ou Sol medium
202
+ Estruturação do PRD/SPEC -> Sol high, quando complexo
203
+ Crítica e consolidação final -> Sol xhigh, somente quando elegível
204
+ Execução da DAG -> Luna low ou Terra medium
205
+ Auditoria final -> Sol medium ou high
206
+ ```
207
+
208
+ 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.
209
+
210
+ ## DAG e múltiplas Tasks
211
+
212
+ O resolvedor executa antes de cada Task pronta e novamente quando uma etapa materialmente distinta abre outro Agent Run:
213
+
214
+ ```text
215
+ Task pronta
216
+ -> resolver agente
217
+ -> resolver modelo e effort
218
+ -> validar capacidades do modelo
219
+ -> iniciar Agent Run
220
+ -> registrar configuração solicitada
221
+ -> executar e verificar
222
+ -> registrar configuração efetiva
223
+ ```
224
+
225
+ 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.
226
+
227
+ 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.
228
+
229
+ ## Rework e escalada
230
+
231
+ Comece na configuração mais barata considerada segura:
232
+
233
+ ```text
234
+ Luna low -> Terra medium -> Sol medium -> Sol high -> Sol xhigh
235
+ ```
236
+
237
+ Eleve apenas um nível por vez, em novo turno, quando houver:
238
+
239
+ - ambiguidade material não resolvida;
240
+ - falha de teste após tentativa válida de correção;
241
+ - conflito arquitetural ou entre módulos;
242
+ - finding de segurança;
243
+ - rejeição do reviewer;
244
+ - invalidação do PreparedPlan por aumento de complexidade;
245
+ - evidência insuficiente para Acceptance Criteria;
246
+ - rework estrutural causado por dependência, contrato, sequência, migração ou escopo.
247
+
248
+ Não eleve por erro de sintaxe, teste localizado, código gerado, refatoração repetitiva ou simples quantidade de arquivos.
249
+
250
+ ### Elegibilidade para xhigh
251
+
252
+ Exija as quatro condições:
253
+
254
+ 1. alta complexidade ou ambiguidade arquitetural;
255
+ 2. alto custo esperado de rework;
256
+ 3. efeito transversal ou crítico;
257
+ 4. turno delimitado de planejamento, replanejamento ou auditoria.
258
+
259
+ Além disso, exija pelo menos dois gatilhos observáveis:
260
+
261
+ - frontend, backend e persistência ou infraestrutura;
262
+ - três ou mais módulos com contratos compartilhados;
263
+ - migração, segurança, autenticação ou dados críticos;
264
+ - rollout parcial e rollback necessário;
265
+ - dois ciclos de reparo falharam pela mesma causa estrutural;
266
+ - finding arquitetural do reviewer;
267
+ - PreparedPlan invalidado;
268
+ - alternativas arquiteturais com trade-offs materiais.
269
+
270
+ Os números são critérios operacionais iniciais do ZAIP, não limites publicados pela OpenAI. Eles devem ser recalibrados por evals.
271
+
272
+ ## Medição e break-even
273
+
274
+ O KPI principal é `tokens totais até entrega verificada`:
275
+
276
+ ```text
277
+ custo total = planejamento
278
+ + implementação
279
+ + testes e diagnóstico
280
+ + revisão e auditoria
281
+ + ciclos de reparo
282
+ ```
283
+
284
+ O break-even de `xhigh` é:
285
+
286
+ ```text
287
+ custo adicional do planejamento xhigh / custo médio de um ciclo de rework
288
+ ```
289
+
290
+ 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.
291
+
292
+ ### Métricas obrigatórias
293
+
294
+ - sucesso da Task e dos Acceptance Criteria;
295
+ - tokens totais e tokens de reasoning;
296
+ - latência total até conclusão;
297
+ - custo total até entrega verificada;
298
+ - aprovação na primeira revisão;
299
+ - quantidade de repair cycles;
300
+ - findings arquiteturais e de segurança;
301
+ - falhas de integração;
302
+ - invalidações do PreparedPlan;
303
+ - completude das evidências;
304
+ - bugs encontrados depois da entrega.
305
+
306
+ ### Piloto recomendado
307
+
308
+ Compare `Sol high` e `Sol xhigh` somente no planejamento, mantendo execução e revisão iguais:
309
+
310
+ ```text
311
+ Grupo A: planejamento Sol high -> execução Terra medium -> revisão Sol medium
312
+ Grupo B: planejamento Sol xhigh -> execução Terra medium -> revisão Sol medium
313
+ ```
314
+
315
+ 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.
316
+
317
+ ## Contrato de configuração automática
318
+
319
+ A configuração automática usada pelo projeto é:
320
+
321
+ ```yaml
322
+ model_orchestration:
323
+ mode: auto
324
+ default_model: gpt-5.6-terra
325
+ default_effort: medium
326
+ default_velocity: standard
327
+ allowed_models:
328
+ - gpt-5.6-luna
329
+ - gpt-5.6-terra
330
+ - gpt-5.6-sol
331
+ allowed_efforts:
332
+ - low
333
+ - medium
334
+ - high
335
+ - xhigh
336
+ max_auto_effort: xhigh
337
+ automatic_sources:
338
+ - spec
339
+ - prd
340
+ notice: mismatch
341
+ ```
342
+
343
+ 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.
344
+
345
+ 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.
346
+
347
+ ```yaml
348
+ model_signals:
349
+ phase: implementation
350
+ complexity: complex
351
+ transversality: cross_system
352
+ ambiguity: high
353
+ rework: none
354
+ rework_cost: high
355
+ bounded: true
356
+ high_volume: false
357
+ xhigh_triggers:
358
+ - shared_contracts_3_plus
359
+ - rollout_and_rollback
360
+ risk_signals:
361
+ production_impact: false
362
+ external_action: false
363
+ irreversible_change: false
364
+ security_or_critical_data: true
365
+ data_migration: false
366
+ broad_audit: false
367
+ rollback: planned
368
+ verification_scope: full
369
+ ```
370
+
371
+ 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.
372
+
373
+ O PreparedPlan pode declarar um override da Execution e cada Task pode sobrescrever campos:
374
+
375
+ ```yaml
376
+ policy:
377
+ runtime_defaults:
378
+ client: codex
379
+ provider: openai
380
+ model: gpt-5.6-terra
381
+ reasoning_effort: medium
382
+
383
+ blueprints:
384
+ tasks:
385
+ - id: TASK-IMPLEMENTAR
386
+ runtime:
387
+ model: gpt-5.6-terra
388
+ reasoning_effort: medium
389
+
390
+ - id: TASK-AUDITAR
391
+ runtime:
392
+ model: gpt-5.6-sol
393
+ reasoning_effort: high
394
+ ```
395
+
396
+ Precedência executada:
397
+
398
+ ```text
399
+ policy.runtime_defaults explícito da Execution
400
+ -> runtime explícito da Task
401
+ -> política automática por perfil, fase e agente
402
+ -> defaults do projeto
403
+ ```
404
+
405
+ 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.
406
+
407
+ 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:
408
+
409
+ ```yaml
410
+ agent_run:
411
+ run_id: RUN-EXEC-TASK-BUILD-1
412
+ run_kind: sub_run
413
+ run_purpose: execution
414
+ parent_run_id: RUN-EXEC-TASK-ORCHESTRATOR
415
+ client: codex
416
+ provider: openai
417
+ agent: agent-task-executor
418
+ agent_name: zaip-agent-task-executor
419
+ requested_model: gpt-5.6-terra
420
+ requested_reasoning_effort: medium
421
+ effective_model: gpt-5.6-terra
422
+ effective_reasoning_effort: medium
423
+ call_count: 3
424
+ tokens: 42000
425
+ cost_brl: 1.84
426
+ selection_source: execution-override
427
+ selection_reasons:
428
+ - execution-override
429
+ - terra-implementation-baseline
430
+ ```
431
+
432
+ 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_*`.
433
+
434
+ 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.
435
+
436
+ ### Calls como telemetria interna
437
+
438
+ 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:
439
+
440
+ 1. quantidade de Calls conhecida e quantidade terminal;
441
+ 2. falhas, cancelamentos, retries e latência observáveis;
442
+ 3. modelo, effort e service tier efetivos;
443
+ 4. tokens e custo agregados na Run;
444
+ 5. divergência requested/effective sem dupla contagem.
445
+
446
+ 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.
447
+
448
+ ## Garantias implementadas
449
+
450
+ 1. `project.yaml` possui branch `auto` estrito e mantém `manual` como default de distribuição.
451
+ 2. `automatic_sources` restringe a política a `spec` e `prd`; o schema rejeita `task`.
452
+ 3. Novos PreparedPlans de PRD/SPEC calculam risco e motivos a partir de sinais persistidos; planos históricos permanecem legíveis.
453
+ 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.
454
+ 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.
455
+ 6. O resolvedor determinístico aplica allowlist, capacidades, overrides e motivos observáveis antes do dispatch.
456
+ 7. Testes cobrem a matriz de risco/modelo/effort, precedência, capacidades, rejeições e atribuição sem inferência.
457
+ 8. O ledger rejeita Calls com modelo, effort ou decisão de seleção solicitados diferentes dentro da mesma Agent Run.
458
+ 9. O Sub-Run registra no cabeçalho e no ledger a seleção realmente enviada ao runtime.
459
+ 10. CLI, Rules, adapters e templates distribuídos descrevem a mesma fronteira.
460
+
461
+ ## Não objetivos da primeira automação
462
+
463
+ - aceitar `ultra` no modo automático;
464
+ - usar `max` como default;
465
+ - selecionar ou sobrescrever velocidade diferente de `standard`;
466
+ - mudar modelo ou effort dentro de uma Agent Run;
467
+ - criar uma tela ou lifecycle independente para Calls;
468
+ - escolher `high` ou `xhigh` apenas por quantidade de arquivos;
469
+ - substituir testes, reviewer ou auditor por reasoning mais alto;
470
+ - inferir configuração ausente pelo comportamento do modelo;
471
+ - otimizar somente o custo do primeiro turno e ignorar rework.
472
+
473
+ ## Referências oficiais
474
+
475
+ - [GPT-5.6: seleção de modelo e effort](https://developers.openai.com/api/docs/guides/latest-model#update-api-and-model-parameters)
476
+ - [Reasoning effort](https://developers.openai.com/api/docs/guides/reasoning#reasoning-effort)
477
+ - [Modelos do Codex](https://learn.chatgpt.com/docs/models#pick-a-reasoning-effort)
478
+ - [Codex App Server](https://learn.chatgpt.com/docs/app-server)
479
+ - [Subagentes: escolha automática de modelos e reasoning](https://learn.chatgpt.com/docs/agent-configuration/subagents#choosing-models-and-reasoning)
480
+ - [Configuração e precedência do Codex](https://learn.chatgpt.com/docs/config-file/config-basic#configuration-precedence)
481
+ - [Checklist de deployment e comparação por custo por sucesso](https://developers.openai.com/api/docs/guides/deployment-checklist#choose-a-gpt-56-model)
482
+
483
+ 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.
@@ -0,0 +1,85 @@
1
+ # Auditoria do cálculo de custo equivalente via API
2
+
3
+ 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.
4
+
5
+ ## Objetivo e limite
6
+
7
+ O Monitor de Custos estima quanto as **mesmas métricas de uso observadas** custariam na OpenAI API. Não é uma fatura, não mede o consumo da assinatura ChatGPT/Codex e não pode ser usado para reconciliar créditos sem dados de billing mode e rate card aplicáveis.
8
+
9
+ ## Separação obrigatória
10
+
11
+ | Sistema | Unidade | Pode virar USD? | Regra usada no Monitor |
12
+ | --- | --- | --- | --- |
13
+ | Codex autenticado com ChatGPT | créditos/limites | Não automaticamente | Tokens são preservados; não se infere cobrança da assinatura. |
14
+ | OpenAI API | USD por milhão de tokens | Sim | Estimativa equivalente com o catálogo versionado. |
15
+
16
+ O Fast do Codex é consumo de créditos da assinatura e não prova que uma requisição API foi atendida em Priority. Para esta estimativa equivalente, porém, uma Run marcada Fast usa a tarifa API Priority como **cenário hipotético para reproduzir a velocidade**, sem multiplicar tokens e sem ser apresentada como cobrança API efetiva.
17
+
18
+ ## Invariantes de telemetria
19
+
20
+ O Monitor de Custos preserva a disponibilidade por métrica. Custo equivalente só é calculado quando os tokens, a identidade de preço e a tarifa necessária estão disponíveis. Lifecycle e telemetria parcial continuam visíveis com lacunas explícitas. `null` permanece `Indisponível`; nunca é convertido em zero. A projeção pode mostrar duração reconciliada, inferida ou estimada com proveniência, mas isso não é duração observada nem comprova uma medição da chamada.
21
+
22
+ ```text
23
+ cached_input <= input
24
+ reasoning <= output
25
+ total = input + output
26
+ ```
27
+
28
+ Cache é parte do input; reasoning é parte do output. Ambos são campos analíticos e nunca entram uma segunda vez no total ou no custo.
29
+
30
+ ## Fórmula API
31
+
32
+ Para uma Run com tarifas resolvidas, em USD por 1M tokens:
33
+
34
+ ```text
35
+ input_sem_cache = input - cached_input
36
+ USD_input = input_sem_cache / 1_000_000 × tarifa_input
37
+ USD_cache = cached_input / 1_000_000 × tarifa_cache
38
+ USD_output = output / 1_000_000 × tarifa_output
39
+ USD_total = USD_input + USD_cache + USD_output
40
+ BRL_total = USD_total × cotação_USD_BRL
41
+ ```
42
+
43
+ A conversão para BRL é a última etapa. Quando a moeda exibida é USD, não há conversão.
44
+
45
+ ## Exemplo didático — GPT-5.6 Sol, Standard
46
+
47
+ No snapshot local consultado durante a redação, `gpt-5.6-sol` contém input US$5, cache US$0,50 e output US$30 por 1M. Esses números ilustram a fórmula; confira o catálogo e a fonte registrada antes de usar valores em uma decisão atual. Para 1.000.000 input, 800.000 cache, 100.000 output e 70.000 reasoning:
48
+
49
+ ```text
50
+ input sem cache = 1.000.000 - 800.000 = 200.000
51
+ input = 0,2 × 5,00 = US$ 1,00
52
+ cache = 0,8 × 0,50 = US$ 0,40
53
+ output = 0,1 × 30,00 = US$ 3,00
54
+ reasoning = US$ 0,00 adicional (já está nos 100.000 output)
55
+ total = US$ 4,40
56
+ ```
57
+
58
+ Com uma cotação **hipotética** USD/BRL de 5,45: `4,40 × 5,45 = R$ 23,98`.
59
+
60
+ ## Service tier, contexto e dados incompletos
61
+
62
+ - `priority` seleciona a tabela Priority oficial do modelo; não multiplica tokens. `fast` do Codex também seleciona essa tabela somente como cenário equivalente e deve ser rotulado como derivado de Fast.
63
+ - Priority e contexto longo sem tarifa oficial combinada retornam custo indisponível, em vez de uma multiplicação inventada.
64
+ - Regras de contexto longo só são usadas para modelos cujo catálogo traz limiar e tarifas publicadas.
65
+ - Modelo sem correspondência, provedor incompatível ou tarifa ausente retorna `null` para custo.
66
+ - Runs históricas sem billing mode, snapshot ou tier efetivo não comprovam uma cobrança; se faltarem os componentes exigidos pelo cálculo, o custo equivalente permanece indisponível.
67
+
68
+ ## Auditoria por Run
69
+
70
+ Na aba Runs, confirme nesta ordem: fonte do modelo efetivo, velocidade observada, **Cenário velocidade API**, input, cache, output, reasoning, tarifas selecionadas, USD e BRL. Modelo/effort sem fonte observada permanecem indisponíveis. `Priority (derivado de Fast)` significa cenário de estimativa, não cobrança API comprovada. `USD/BRL registrado` e `BRL registrado` são fotografia histórica quando existirem; uma estimativa em BRL deve identificar a cotação usada, sem apresentá-la como valor atual por padrão.
71
+
72
+ ## Prova real agregada por modelo
73
+
74
+ A aba **Modelos** não lista Runs. Cada linha agrega todas as Runs do modelo dentro dos filtros ativos. Ela soma input, cache, entrada sem cache, output, reasoning, output visível, total de tokens e cada componente em USD, inclusive `USD Standard`, acréscimo de velocidade, estimativa e valores registrados.
75
+
76
+ As tarifas exibidas ali são **efetivas ponderadas**, não uma média simples: `USD do componente × 1.000.000 / tokens cobráveis do componente`. Assim, a taxa reproduz exatamente o custo agregado mesmo quando o modelo tiver Runs com contextos ou tarifas diferentes. Contexto, multiplicador de velocidade e cenário mostram `Misto` quando não forem uniformes; o dashboard não inventa uma média para multiplicadores.
77
+
78
+ Para conferir a soma: `USD estimado API = USD entrada + USD cache + USD saída + USD raciocínio`; no snapshot local usado pela implementação, reasoning é parte de output e o componente adicional é zero quando `reasoning_billed_separately` é falso. O câmbio efetivo é `BRL estimado / USD estimado`, calculado somente depois da soma em USD.
79
+
80
+ ## Implementação e testes
81
+
82
+ - Catálogo: `.agents/config/pricing/models.json`
83
+ - Cálculo: `packages/costs/src/pricing-math.ts` e `packages/costs/src/index.ts`
84
+ - Projeção: `.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts`
85
+ - Testes: `pnpm --filter @zaip-ai/costs test` e `pnpm --filter @zaip-ai/dashboard-cost-monitor test`
@@ -0,0 +1,19 @@
1
+ # Fontes oficiais de preços OpenAI
2
+
3
+ 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.
4
+
5
+ | Tema | Fonte oficial | Uso na implementação |
6
+ | --- | --- | --- |
7
+ | Tarifas API Standard, Batch, Flex e Priority | https://developers.openai.com/api/docs/pricing | Seleção de tarifa por modelo e `service_tier` efetivo. |
8
+ | Créditos Codex por input, cache e output | https://learn.chatgpt.com/docs/pricing#what-are-tokens-and-credits | Referência separada; não é convertida automaticamente para USD. |
9
+ | Velocidade do Codex | https://learn.chatgpt.com/docs/agent-configuration/speed | Fast é uma regra de créditos Codex; no Monitor ele pode alimentar o cenário API Priority, explicitamente como hipótese de equivalência de velocidade. |
10
+ | Referência Responses | https://developers.openai.com/api/reference/resources/responses/methods/create | `service_tier` retornado representa o modo que efetivamente atendeu a requisição. |
11
+
12
+ ## Regras de atualização
13
+
14
+ 1. Consulte novamente a fonte oficial e registre a data/hora da nova consulta; não promova esta tabela histórica a estado atual.
15
+ 2. Atualize o catálogo em uma alteração separada e registre o snapshot/versão quando disponível.
16
+ 3. Inclua testes com input, cached input e output.
17
+ 4. Não crie tarifa para uma combinação que a tabela oficial não publique.
18
+ 5. Não transforme créditos Codex em USD sem uma regra oficial explícita.
19
+ 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.