@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
@@ -1,1505 +0,0 @@
1
- import{S as e,b as t}from"./cost-monitor-Cf9ctPVt.js";import{t as n}from"./dashboard-localization-CLJ0lT9v.js";var r=`# Primeiros passos
2
-
3
- 1. Leia \`.agents/config/project.yaml\` e \`.agents/rules/core.md\`.
4
- 2. Consulte \`.agents/records/lifecycle/\` para descobrir o estado atual pelos manifests canônicos.
5
- 3. Classifique a entrada: Conversation, Task avulsa, SPEC ou PRD. Pergunta/análise read-only é Conversation e não cria Task.
6
- 4. Carregue somente Rules, Requirements e skills aplicaveis.
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.
9
-
10
- Evite varrer \`.agents/records/\`: abra um record apenas quando possuir seu ID.
11
-
12
- Para PRD/SPEC, diferencie conversa de criação: “me ajude a pensar” não cria artefato; “crie” persiste o pacote \`draft\` completo e sua telemetria. Faça até cinco perguntas críticas por turno, no máximo três turnos; depois registre decisões delegáveis da IA. Tasks reais só nascem em \`ready|execute\`.
13
- `,i=`# Requirements
14
-
15
- Use Requirement para uma obrigacao duravel e testavel.
16
-
17
- 1. Descreva resultado e limite, nao a implementacao preferida.
18
- 2. Crie criterios de aceite observaveis.
19
- 3. Registre riscos, dependencias e casos negativos.
20
- 4. Relacione cada criterio a teste ou evidencia.
21
- 5. Versione mudancas sem apagar a intencao anterior.
22
- 6. Promova somente depois de validar consistencia e rastreabilidade.
23
-
24
- Um bom criterio responde inequivocamente: passou ou falhou?
25
- `,a=`# Tasks
26
-
27
- Use Task para uma entrega pequena, independente e com um resultado claro.
28
-
29
- 1. Pedido avulso explícito de ação entra diretamente em Execução; somente preparação sem autorização de executar pode parar em Pronto para Executar.
30
- 2. Declare objetivo, escopo e fora de escopo.
31
- 3. Vincule Requirements aplicaveis.
32
- 4. Liste arquivos ou componentes provaveis, sem congelar a solucao.
33
- 5. Defina verificacoes proporcionais ao risco.
34
- 6. Use uma Run raiz do orquestrador por tentativa, finalize os Sub-Runs de trabalho e execute o finalizador como ultimo filho.
35
- 7. Antes de a Run terminar, mova a Task para completed, blocked, failed ou cancelled; nunca deixe executing/verifying.
36
- 8. Retome blocked com \`task resume\`; trate failed com \`task rework\` na mesma Task. Completed/cancelled sao imutaveis.
37
-
38
- Em PRD/SPEC \`draft\`, a lista visível vem dos blueprints do PreparedPlan e não representa Tasks materializadas. \`ready\` cria os registros \`planned\`. Execução pode ser pedida diretamente no menor grão Task, sem ampliar para toda a SPEC ou PRD.
39
-
40
- ## Modelo, effort e velocidade
41
-
42
- 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.
43
- `,o=`# SPECs
44
-
45
- Use SPEC quando a entrega exige varias Tasks ou uma ordem de dependencia.
46
-
47
- 1. Transforme o resultado desejado em capacidades verificaveis. Faça até cinco perguntas críticas por turno e encerre esclarecimento em até três turnos.
48
- 2. Consulte \`stack\` e \`stack.overrides\` em \`.agents/config/project.yaml\`; este arquivo contem a definicao tecnica canonica da stack do projeto.
49
- 3. Registre \`stack_profile\`, \`stack_overrides\`, \`stack_description\` curta e componentes com linguagem, runtime, frameworks, versoes exatas e fontes verificaveis no workspace.
50
- 4. Registre o blueprint técnico da SPEC e divida em blueprints de Tasks pequenas, cada uma com aceite próprio; \`spec create --plan\` persiste esse pacote em \`draft\` e registros Task só são criados em \`ready|execute\`.
51
- 5. Modele dependencias como DAG; evite sequencias artificiais.
52
- 6. Identifique caminhos criticos, riscos e rollback.
53
- 7. Mapeie cada Requirement para Tasks e evidencias.
54
- 8. Valide a SPEC antes de iniciar execucao; bloqueie stack ausente, divergente ou sem versoes exatas e fontes existentes.
55
- 9. Ao iniciar a primeira Task, mantenha a SPEC em Execucao entre todas as Runs filhas; resultado terminal de uma Task nao terminaliza a SPEC.
56
- 10. Depois de todas as Tasks concluidas, rode verificacao e Evidence parentais antes de deliver.
57
-
58
- Uma SPEC planeja a entrega; nao autoriza mudancas externas por si so.
59
-
60
- 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.
61
-
62
- 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.
63
- `,s=`# PRDs
64
-
65
- Use PRD para uma iniciativa de produto com multiplas capacidades ou SPECs.
66
-
67
- 1. Registre problema, publico, resultado e metricas.
68
- 2. Delimite escopo, restricoes e nao objetivos.
69
- 3. Mantenha o PRD agnostico de linguagem, framework, banco, infraestrutura e fornecedor; tecnologia imposta externamente entra como restricao de negocio, nao como desenho da solucao.
70
- 4. Especifique requisitos funcionais e nao funcionais.
71
- 5. Use uma SPEC por padrão. Crie outra somente para capacidade implementável e verificável em paralelo, sem dependência entre SPECs; dependências ficam nas Tasks internas.
72
- 6. Relacione riscos, rollout, observabilidade e rollback.
73
- 7. Monte a DAG e confirme que todo aceite possui evidencia planejada.
74
- 8. Mantenha PRD e SPECs selecionadas em Execucao enquanto restar trabalho; Runs filhas fecham Tasks, nao o macro.
75
- 9. Conclua somente depois das Tasks, integracao, outcomes e gates parentais.
76
-
77
- ## Intenções
78
-
79
- - “Me ajude a pensar sobre um PRD”: Conversation, sem artefato.
80
- - “Crie um PRD”: até cinco perguntas críticas por turno e no máximo três turnos; depois persiste PRD, SPECs e PreparedPlan \`draft\`, vincula a Run e o \`creation_run_id\` ao macro e não cria Tasks reais. Duração, tokens e custo só são agregados quando observados ou reconciliados.
81
- - “Deixe pronto para executar” ou “finalize/conclua esse PRD” em \`draft\`: lapida, valida e materializa SPECs/Tasks/Changes/Execution como \`ready|planned\`, sem executar.
82
- - “Execute esse PRD”: executa todas as SPECs selecionadas. Pedido dirigido a SPEC ou Task usa o menor grão.
83
- - “Implemente”: sem alvo abre apenas uma Conversation de planejamento; em \`draft\` finaliza o plano; em \`ready\` executa; em \`active|blocked|failed\` continua, retoma ou cria rework.
84
- - “Desenvolva/melhore/aprimore”: sempre planeja/refina/rework e nunca executa automaticamente.
85
-
86
- PRD cancelado permanece imutável. Novo planejamento cria sucessor \`draft\`, tag \`rework\` e \`rework_of_prd_id\`.
87
-
88
- ## Quantas SPECs criar
89
-
90
- | SPECs | Quando usar | Exemplo |
91
- | --- | --- | --- |
92
- | 1 | Padrão; há sequência, contrato em evolução ou dependência entre frentes. | Recuperação de senha completa em uma DAG. |
93
- | 2 | Duas capacidades paralelas contra contrato estável e escopos separados. | Web e Mobile contra API congelada. |
94
- | 3 | Três capacidades entregáveis isoladamente; integração fica no PRD. | Identidade, cobrança e notificações. |
95
- | 4 | Quatro adaptadores independentes, com ownership e diretórios distintos. | Adaptadores fiscais de quatro países. |
96
- | 5 | Exceção: cinco implementações simétricas do mesmo contrato validado. | Email, SMS, WhatsApp, Push e Inbox. |
97
-
98
- 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.
99
-
100
- 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.
101
- `,c=`# Execucao
102
-
103
- 1. Confirme Task, Change, Execution, aceite e Run raiz do orquestrador.
104
- 2. Antes da primeira mutacao persistente, confirme Task executing e Run raiz ativa no turno atual.
105
- 3. Inspecione o diff e preserve alteracoes alheias.
106
- 4. Use Sub-Runs para cada subagente; a Run raiz aguarda todos os descendentes ativos.
107
- 5. Implemente o menor incremento coerente e rode verificacoes focadas.
108
- 6. Registre decisoes consequenciais, evidencias e desvios.
109
- 7. Depois dos demais descendentes, execute \`zaip-agent-finalizer\` como ultimo Sub-Run da Execution. Nenhum filho novo pode iniciar depois dele.
110
- 8. Finalize a Run raiz com status tecnico e resultado terminal da Task separados.
111
- 9. Execute os gates finais e documente rollback.
112
-
113
- Nao marque conclusao por esforco: conclua pelo resultado verificavel. Gate insuficiente ou finalizador ausente usa blocked; erro tecnico impeditivo usa failed; cancelamento exige pedido explicito.
114
-
115
- \`execute\` respeita o menor grão nomeado: Task executa um nó elegível; SPEC executa sua DAG; PRD executa todas as SPECs selecionadas. “Conclua a execução” ou “finalize a implementação” em trabalho ativo continua Tasks e gates, mas nunca força sucesso. “Desenvolva/melhore/aprimore” volta a planejamento/rework e exige nova promoção.
116
-
117
- ## Modelo, effort e velocidade por origem
118
-
119
- - Conversation e Task-first preservam o modelo, o reasoning effort e a velocidade selecionados manualmente no Codex.
120
- - Fast para execução de produto é suportado somente em Task-first realmente independente e deve ser selecionado manualmente no Codex.
121
- - Executions originadas por SPEC ou PRD usam sempre velocidade \`standard\`, inclusive em todas as Tasks, Runs e Sub-Runs descendentes.
122
- - O ZAIP não ativa, persiste ou herda Fast por skill, hook, PreparedPlan ou override de Execution.
123
- - Selecionar uma Task descendente como menor grão não a transforma em Task-first nem remove a velocidade \`standard\` herdada do macro.
124
- `,l=`# Revisao e validacao
125
-
126
- 1. Revise Requirements e criterios de aceite.
127
- 2. Examine diff, limites arquiteturais e caminhos de erro.
128
- 3. Rode testes focados e depois gates completos aplicaveis.
129
- 4. Verifique seguranca, compatibilidade, documentacao e rollback.
130
- 5. Classifique achados por impacto e cite evidencia concreta.
131
- 6. Registre o resultado sem alterar implementacao em uma revisao read-only.
132
- `,u=`# Contexto e tokens
133
-
134
- 1. Comece por \`project.yaml\`, \`core.md\` e pelos manifests de \`.agents/records/lifecycle/\`.
135
- 2. Carregue somente a Rule, Requirement ou skill acionada.
136
- 3. Prefira indices, resumos e busca direcionada a arquivos completos.
137
- 4. Abra records apenas por lifecycle ID conhecido.
138
- 5. Resuma fatos estaveis; preserve texto literal apenas quando normativo.
139
- 6. Remova do contexto resultados superados e detalhes nao acionaveis.
140
-
141
- Para tools, leia \`catalog.yaml\`, escolha um ID e abra somente seu manifesto.
142
- `,d=`# Agentes e squads
143
-
144
- 1. Delegue apenas subtarefas concretas e independentes.
145
- 2. Dê a cada agente objetivo, limites, entradas e formato de saida.
146
- 3. Evite dois agentes editando os mesmos arquivos.
147
- 4. Centralize decisoes arquiteturais e integracao no agente responsavel.
148
- 5. Exija evidencias, nao apenas declaracoes de conclusao.
149
- 6. Use paralelismo somente quando reduzir caminho critico sem aumentar conflito.
150
- `,f=`# Segurança dos perfis Codex ZAIP-AIOS
151
-
152
- ## Visão geral
153
-
154
- O ZAIP-AIOS oferece dois perfis atuais:
155
-
156
- | Perfil | Filesystem nativo | Rede de comandos | Uso recomendado |
157
- | --- | --- | --- | --- |
158
- | \`zaip-aios-full-access\` | Escrita em \`C:\\\` inteiro no Windows, quando as permissões do sistema permitirem | Completa, todos os domínios | Default humano; a autorização de cada operação continua necessária |
159
- | \`zaip-aios-security\` | Escrita na raiz física do repositório, incluindo \`.git\`, \`.agents\`, \`.codex\` e demais arquivos ocultos | Limitada a \`github.com\` | Opt-in de menor privilégio; reinicie o Codex após selecionar |
160
-
161
- A permissão nativa determina o que o processo tecnicamente consegue alcançar. Ela não
162
- substitui autorização do usuário, regras do repositório, hooks, skills ou controles do
163
- sistema operacional.
164
-
165
- ## \`zaip-aios-security\`
166
-
167
- ### Acesso concedido
168
-
169
- O perfil restrito concede:
170
-
171
- - leitura dos caminhos mínimos necessários para executar ferramentas;
172
- - escrita em \`~/.ssh\` para reparar a configuração e a identidade SSH local;
173
- - escrita na raiz física absoluta deste repositório;
174
- - escrita em todos os descendentes do workspace, incluindo \`.git\`, \`.agents\`, \`.codex\` e demais arquivos ocultos;
175
- - rede de comandos limitada a \`github.com\` para operações Git/SSH autorizadas.
176
-
177
- Exemplo da definição efetiva:
178
-
179
- \`\`\`toml
180
- default_permissions = "zaip-aios-security"
181
-
182
- [permissions.zaip-aios-security]
183
- description = "ZAIP workspace-only development with editable project control trees and GitHub-only command network access."
184
-
185
- [permissions.zaip-aios-security.filesystem]
186
- ":minimal" = "read"
187
- "~/.ssh" = "write"
188
-
189
- [permissions.zaip-aios-security.filesystem."C:\\\\caminho\\\\absoluto\\\\do\\\\workspace"]
190
- "." = "write"
191
- ".git" = "write"
192
- ".agents" = "write"
193
- ".codex" = "write"
194
-
195
- [permissions.zaip-aios-security.network]
196
- enabled = true
197
- mode = "limited"
198
-
199
- [permissions.zaip-aios-security.network.domains]
200
- "github.com" = "allow"
201
- \`\`\`
202
-
203
- A tabela usa a raiz física em vez de \`extends = ":workspace"\` ou \`:workspace_roots\`.
204
- No sandbox elevado do Windows, esses dois modos aplicam negações especiais a \`.agents\` e
205
- \`.codex\`; uma regra \`write\` mais específica pode não reabri-las por causa da precedência das
206
- ACLs \`DENY\`. As entradas explícitas acima materializam o conjunto correto de capabilities,
207
- mantêm a escrita limitada ao repositório — inclusive em \`.git\` — e não concedem escrita ao restante de \`C:\\\`, ao perfil do
208
- usuário, a outros repositórios ou ao sistema operacional.
209
-
210
- ### Segurança adicional
211
-
212
- \`zaip-aios-security\` possui a proteção mais forte porque os limites principais são aplicados
213
- pelo sandbox nativo:
214
-
215
- - uma tentativa de escrita fora do workspace é negada mesmo que uma instrução ou ferramenta
216
- peça essa operação;
217
- - comandos alcançam apenas \`github.com\`; outros destinos permanecem negados;
218
- - \`~/.ssh\` pode ser alterado por fluxos Git ou de configuração explicitamente autorizados;
219
- - o impacto máximo de uma edição comum fica contido no repositório;
220
- - todas as camadas ZAIP descritas abaixo continuam ativas.
221
-
222
- Esse perfil é a opção de menor privilégio recomendada quando o trabalho cabe no workspace,
223
- especialmente para revisão, testes e manutenção delimitada. O perfil humano continua sendo
224
- \`zaip-aios-full-access\`; selecione \`zaip-aios-security\` explicitamente quando desejar contenção
225
- nativa. A escrita em \`~/.ssh\` e o egress para \`github.com\` ampliam o impacto potencial; nunca
226
- altere chaves, credenciais ou remotos sem autorização explícita.
227
-
228
- ## \`zaip-aios-full-access\`
229
-
230
- ### Acesso concedido
231
-
232
- No Windows, o perfil de acesso completo concede escrita em \`C:\\\` inteiro e rede completa:
233
-
234
- \`\`\`toml
235
- default_permissions = "zaip-aios-full-access"
236
-
237
- [permissions.zaip-aios-full-access.filesystem]
238
- ":root" = "write"
239
-
240
- [permissions.zaip-aios-full-access.network]
241
- enabled = true
242
- mode = "full"
243
-
244
- [permissions.zaip-aios-full-access.network.domains]
245
- "*" = "allow"
246
- \`\`\`
247
-
248
- A configuração pode representar a raiz como \`:root\` ou \`C:\\\\\`. Neste ambiente, isso
249
- inclui tecnicamente:
250
-
251
- - o workspace e todos os seus arquivos;
252
- - \`.agents\`, \`.codex\` e \`.git\`;
253
- - outros repositórios em \`C:\\\`;
254
- - o perfil do usuário e seus arquivos;
255
- - diretórios de aplicações e do sistema;
256
- - qualquer destino de rede alcançável pelo host.
257
-
258
- O acesso continua sujeito às ACLs do Windows, políticas corporativas, arquivos em uso e
259
- privilégios da conta. O perfil não transforma o processo em administrador nem garante
260
- alteração de todo arquivo.
261
-
262
- ### Riscos residuais
263
-
264
- \`zaip-aios-full-access\` continua sendo um perfil de maior risco. Um comando incorreto,
265
- conteúdo malicioso, dependência comprometida ou erro de escopo pode tentar:
266
-
267
- - alterar ou excluir arquivos fora do projeto;
268
- - modificar outros repositórios;
269
- - acessar dados do usuário;
270
- - executar operações destrutivas no sistema;
271
- - enviar dados pela rede;
272
- - ampliar o impacto de uma falha de supply chain.
273
-
274
- Ele é o default humano de permissão nativa, mas não substitui autorização. O hook complementar
275
- permanece default-deny para operações externas e não torna este perfil equivalente ao restrito.
276
-
277
- ## Camadas que reduzem o risco do full access
278
-
279
- O acesso completo é mitigado por defesa em profundidade, mas nenhuma camada torna
280
- \`zaip-aios-full-access\` equivalente ao perfil restrito:
281
-
282
- 1. **Autorização explícita do usuário:** mudanças externas, destrutivas, publicação, deploy,
283
- gasto e mutações remotas exigem pedido explícito no turno atual.
284
- 2. **Escopo do repositório:** \`AGENTS.md\`, Rules e skills limitam o trabalho ao objetivo e
285
- proíbem inferir autoridade adicional a partir do acesso técnico.
286
- 3. **Hook \`PreToolUse\` ativo nos dois perfis:** valida comandos e patches antes da execução; bloqueia escapes do
287
- repositório, referências diretas a segredos, elevação, persistência de sistema, firewall,
288
- antivírus, serviços, Git destrutivo, banco destrutivo e clientes remotos não autorizados.
289
- 4. **Regras \`forbidden\`:** arquivos em \`.codex/rules/\` negam classes perigosas de comandos
290
- mesmo quando o sandbox permitiria executá-las.
291
- 5. **Política GitHub delimitada:** deploy e push seguem preflight, branch e remoto explícitos;
292
- force-push, exclusão remota e publicação não solicitada permanecem proibidos.
293
- 6. **Proteção de segredos:** tokens, chaves privadas, credenciais e valores de ambiente não
294
- podem ser impressos, copiados, registrados em Runs nem incluídos em commits.
295
- 7. **Lifecycle e telemetria sanitizada:** Runs registram atribuição, uso e resultado sem
296
- autorizar ações nem persistir segredos.
297
- 8. **Subagentes com menor privilégio:** agentes de revisão e auditoria permanecem read-only;
298
- builders e integradores recebem escopos limitados.
299
- 9. **Controles do sistema operacional:** ACLs, conta Windows, arquivos em uso e políticas do
300
- host continuam sendo a última barreira técnica.
301
-
302
- Essas camadas reduzem probabilidade e impacto, mas podem conter bugs ou lacunas. Os limites
303
- nativos de \`zaip-aios-security\` oferecem proteção adicional ao negar escrita fora do workspace
304
- e egress para destinos diferentes de \`github.com\` antes que a operação alcance o sistema ou a rede.
305
-
306
- ## Escolha do perfil
307
-
308
- Use \`zaip-aios-security\` quando:
309
-
310
- - todo o trabalho deve permanecer neste workspace;
311
- - \`.agents\` e \`.codex\` precisam ser editáveis;
312
- - comandos precisam, no máximo, alcançar \`github.com\` para operações Git/SSH autorizadas;
313
- - menor privilégio é desejado.
314
-
315
- Use \`zaip-aios-full-access\` como default humano quando:
316
-
317
- - for necessário corrigir a própria configuração de permissões;
318
- - uma operação autorizada precisar de um caminho fora do workspace;
319
- - o bloqueio do perfil restrito tiver sido diagnosticado e não houver alternativa limitada.
320
-
321
- Não use full access apenas para evitar investigar uma negação.
322
-
323
- ## Validação obrigatória
324
-
325
- Após alterar qualquer perfil:
326
-
327
- 1. Confirme que \`default_permissions\` seleciona exatamente o perfil desejado.
328
- 2. Confirme que não existe \`sandbox_mode\` em outra configuração carregada.
329
- 3. Reinicie completamente o Codex.
330
- 4. Com \`zaip-aios-security\`, valide escrita no workspace, em \`.agents\` e em \`.codex\`.
331
- 5. Quando uma operação Git estiver autorizada, confirme que \`.git\` aceita a alteração de índice necessária, sem ampliar o acesso fora do repositório.
332
- 6. Confirme que escrita fora do workspace é negada sem criar arquivo externo.
333
- 7. Confirme que Git/SSH alcança \`github.com\` somente após autorização de deploy e que outros destinos continuam negados.
334
- 8. Execute uma captura ZAIP e confirme \`run.started\`, \`usage.recorded\` e \`run.finished\`.
335
- 9. Com full access, confirme a seleção do perfil sem realizar probes destrutivos ou gravar em
336
- caminhos externos apenas para demonstrar alcance.
337
-
338
- O sandbox e as ACLs são materializados na inicialização; o teste funcional precisa ocorrer
339
- em uma nova sessão.
340
-
341
- Se uma versão anterior com \`:workspace\` ou \`:workspace_roots\` já tiver sido executada e o
342
- reinício continuar negando \`.agents\`/\`.codex\`, feche todas as sessões Codex, faça backup de
343
- \`~/.codex/cap_sid\`, mova somente o arquivo ativo para fora desse caminho e reinicie o Codex.
344
- O runtime criará novos capability SIDs; os \`DENY\` antigos ficarão inertes por não pertencerem
345
- ao novo token. Não edite ACLs manualmente e preserve o backup para rollback.
346
-
347
- ## Arquivos da política
348
-
349
- | Arquivo | Papel |
350
- | --- | --- |
351
- | \`~/.codex/config.toml\` | seleção e definição efetiva dos perfis |
352
- | \`.codex/config.toml\` | projeção versionada dos perfis e hooks |
353
- | \`.codex/zaip-aios-security.config.toml\` | configuração dedicada do perfil restrito |
354
- | \`.codex/zaip-aios-full-access.config.toml\` | configuração dedicada do perfil completo |
355
- | \`.agents/skills/zaip-skill-security/SKILL.md\` | avaliação dos riscos e controles |
356
- | \`.agents/skills/zaip-skill-setup/SKILL.md\` | instalação, correção e validação dos perfis |
357
- | \`.codex/hooks/zaip-pre-tool-use.mjs\` | guarda adicional de comandos |
358
- | \`.codex/rules/\` | decisões determinísticas de comandos permitidos e proibidos |
359
- | este guia | contrato operacional e comparação dos perfis |
360
- `,p="# Observabilidade e custos\n\n1. Selecione o Run pelo ID.\n2. Verifique duracao, tokens, custo, retries e retrabalho.\n3. Compare aceite planejado com evidencia produzida.\n4. Identifique gates lentos, contexto excessivo e chamadas repetidas.\n5. Agregue tendencias sem expor prompts ou segredos sensiveis.\n6. Converta achados recorrentes em Rule, Requirement ou melhoria de skill.\n\nRun e o envelope da chamada do `zaip-agent-orchestrator`; `parent_run_id` nulo identifica esse nivel. Sub-Run e a chamada de qualquer subagente e possui `parent_run_id`. Ambas fixam modelo e effort e agregam Calls, segmentos de uso, tokens e custo. Calls nao possuem tela ou lifecycle proprio. Operacao 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 so pode ser atribuido uma vez; uma correcao de duplicidade registra supersessao e preserva o evento historico. Inspecione `run_purpose`, pai e `agent_name`; agentes do catalogo usam `zaip-agent-*`. Diferencie status tecnico da chamada de agente e resultado terminal da Task. Reconcilie lifecycle globalmente apenas por comando humano explicito ou pelo popup confirmado; isso nao 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 foram observados ou reconciliados; valores indisponíveis permanecem `null`. Pensar sem criar permanece apenas em Conversas. Nunca atribua telemetria indisponível nem transforme ausência em zero.\n",m=`# Instalacao e upgrade
361
-
362
- 1. Verifique versao atual e estado limpo ou conscientemente preservado.
363
- 2. Execute doctor/integrity antes da mudanca.
364
- 3. Faça dry-run da instalacao, migracao ou upgrade.
365
- 4. Revise arquivos gerenciados, publicos e preservados.
366
- 5. Aplique, valide adapters e rode gates.
367
- 6. Teste rollback e confirme a versao final.
368
-
369
- \`framework.lock.yaml\` e relevante neste fluxo; nao o carregue no trabalho comum.
370
- `,h=`# Boas praticas
371
-
372
- - Comece pelo resultado e aceite, nao pela ferramenta.
373
- - Mantenha dominio independente de infraestrutura.
374
- - Faça mudancas pequenas, reversiveis e rastreaveis.
375
- - Valide cedo com testes deterministas e focados.
376
- - Prefira configuracao explicita a convencoes ocultas.
377
- - Leia contexto sob demanda e preserve o budget de tokens.
378
- - Trate documentacao, observabilidade e rollback como parte da entrega.
379
- - Nunca termine a Run raiz sem o Sub-Run finalizador ou com Task em executing/verifying.
380
- - Nao terminalize SPEC/PRD por causa do resultado isolado de uma Task filha.
381
- - Prefira reconciliacao manual sob demanda; hooks de escrita fazem checagem local sem varredura global.
382
- - Use uma SPEC por padrão; divida somente capacidades realmente independentes e paralelizáveis.
383
- - Não crie Tasks durante definição: mostre blueprints compactos e materialize somente em \`ready|execute\`.
384
- - Resolva verbos de lifecycle pelo alvo e status persistido, nunca por palavra isolada.
385
- `,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 analise read-only; cria Run intake e nenhuma Task.\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 coordena a DAG de uma ou mais Tasks.\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\nO ultimo filho de qualquer Execution e sempre o `zaip-agent-finalizer`. Ele aguarda todos os outros descendentes, cria uma barreira contra filhos posteriores e retorna uma decisao terminal restrita para a CLI aplicar. Toda Execution exige antes ao menos um executor elegivel pelas capacidades do catalogo. Status tecnico da chamada de agente e resultado do trabalho sao 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\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
386
-
387
- Cada valor começa na telemetria de uma chamada LLM. O dashboard não estima uso ausente: dado indisponível continua indisponível.
388
-
389
- ## 1. Separe os componentes de uso
390
-
391
- - **Tokens de input** incluem instruções, histórico, contexto, ferramentas e a mensagem atual.
392
- - **Tokens de cache** fazem parte do input, não são uma quantidade extra. Eles são subtraídos do input antes da aplicação da sua própria tarifa.
393
- - **Tokens de output** são tudo que o modelo gerou.
394
- - **Tokens de reasoning** fazem parte do output. O output é cobrado uma única vez, então reasoning não cria uma segunda cobrança.
395
-
396
- ## 2. Aplique as tarifas publicadas do modelo
397
-
398
- O modelo e o tier de serviço escolhidos definem a tabela de tarifas. Para uma chamada, o total em USD é:
399
-
400
- | Componente | Cálculo |
401
- | --- | --- |
402
- | Input faturável | \`(input - cache) / 1.000.000 × tarifa de input\` |
403
- | Cache | \`cache / 1.000.000 × tarifa de cache\` |
404
- | Output | \`output / 1.000.000 × tarifa de output\` |
405
-
406
- O dashboard soma esses componentes uma única vez. Quando uma tarifa publicada não existe, ela permanece indisponível em vez de ser inventada.
407
-
408
- ## 3. Considere contexto, velocidade e esforço
409
-
410
- Acima do limite de contexto longo de um modelo, o multiplicador publicado de input também vale para cache e o multiplicador de output vale para todo o output. Priority/Fast usa a sua tabela de tarifas publicada, quando disponível. O multiplicador exibido é apenas uma comparação com Standard, nunca uma cobrança extra.
411
-
412
- O esforço não possui multiplicador direto de preço. Ele só pode aumentar o custo indiretamente quando aumenta reasoning, output ou ciclos de execução registrados.
413
-
414
- ## 4. Converta para a moeda selecionada
415
-
416
- O total da chamada é calculado primeiro em USD. Em BRL, é usada a cotação registrada no período relevante; a cotação atual é mantida separadamente para conversões atuais. Mudar a moeda de exibição nunca altera a telemetria de tokens nem o cálculo em USD.
417
- `,b=e(),x=`# ZAIP-AIOS (6 Squads + 23 Agents)
418
-
419
- ## Visão rápida
420
-
421
- 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.
422
-
423
- Os agentes trabalham de forma integrada e em cadeia: planejam, executam, revisam, testam e validam o trabalho, acionando automaticamente o próximo especialista quando necessário. Em vez de o usuário precisar solicitar cada alteração, teste, revisão ou correção separadamente, o ZAIP-AIOS conduz o fluxo de ponta a ponta até que os critérios definidos sejam atendidos.
424
-
425
- Essa abordagem reduz intervenções manuais, acelera o ciclo de execução e pode gerar uma redução de 34% a 62% no consumo de tokens, ao distribuir cada etapa para agentes especializados e evitar interações, contexto e retrabalho desnecessários.
426
-
427
- Embora tenha nascido com forte foco em desenvolvimento de software, o ZAIP-AIOS também executa demandas de Operações, Growth, Marketing, Branding e Vendas, permitindo coordenar diferentes tipos de trabalho dentro da mesma arquitetura autônoma, sem consumo direto de APIs de IA e sem necessidade de infraestrutura própria em VPS.
428
-
429
- <img src=".agents/config/src/Zaip%20AIOS%20Squads.png" alt="Estrutura organizacional dos seis squads e 23 agentes do ZAIP-AIOS" width="100%">
430
-
431
- Na prática, o sistema decompõe demandas complexas, organiza o trabalho, seleciona os agentes mais adequados, coordena dependências, acompanha a execução e verifica a qualidade antes de considerar uma entrega concluída.
432
-
433
- O Dashboard centraliza a operação em uma única visão, reunindo Tasks, SPECs e PRDs, além de dependências, bloqueios, tempo de execução, consumo de tokens, custos, revisões e evidências produzidas ao longo do processo.
434
-
435
- <img src=".agents/config/src/dashboard_pt_1_visao_geral.png" alt="Dashboard ZAIP-AIOS, Visão Geral" width="100%">
436
-
437
- Em uma amostra comparativa de tarefas executadas de forma autônoma, o ZAIP-AIOS apresentou uma redução aproximada de 34% no custo médio por tarefa e 62% no custo médio por hora.
438
-
439
- A comparação considera o ciclo completo de trabalho, planejamento, execução, testes, revisões e documentação —, e os resultados devem ser interpretados dentro dos limites da amostra analisada.
440
-
441
- <img src=".agents/config/src/analise_comparativa_reducao_custo_por_hora.png" alt="Análise comparativa: custo médio por hora caiu de R$ 410 para R$ 154" width="900">
442
-
443
- A fonte da verdade permanece no Git. Requisitos, decisões, implementações, testes, revisões e evidências são versionados no repositório e preservados no histórico publicado no GitHub.
444
-
445
- O Dashboard utiliza um banco de dados local, descartável e reconstruível, apenas como camada de consulta e visualização. Nenhuma informação crítica depende exclusivamente dele.
446
-
447
- No ZAIP-AIOS, uma Task não é considerada concluída apenas porque um agente terminou sua execução. Ela só é encerrada quando existem evidências objetivas de que os Critérios de Aceite e os requisitos de qualidade foram atendidos.
448
-
449
- ## Comece por aqui
450
-
451
- | Se você quer… | Comece por… |
452
- | --- | --- |
453
- | Instalar e obter o primeiro resultado | [Instalação em um comando](#instalação-em-um-comando) |
454
- | Conhecer os resultados observados | [Economia medida](#economia-medida-e-meta-central-por-tarefa) |
455
- | Acompanhar trabalho, custos e qualidade | [Dashboard Local](#dashboard-local) |
456
- | Fazer uma alteração pontual | [Três formas de executar](#três-formas-de-executar) |
457
- | Planejar uma entrega técnica ou de produto | [PRD como interface de autonomia](#prd-como-interface-de-autonomia) |
458
- | Entender o método | [Método ZAIP em seis etapas](#método-zaip-em-seis-etapas) |
459
- | Conhecer os agentes especializados | [Personas e roteamento de agentes](#personas-e-roteamento-de-agentes) |
460
- | Consultar os contratos técnicos | [Referência técnica e operacional](#referência-técnica-e-operacional) |
461
- | Manter o framework | [Desenvolvimento do framework](#desenvolvimento-do-framework) |
462
- | Configurar permissões com segurança | [Segurança com perfis de permissão](#segurança-com-perfis-de-permissão) |
463
-
464
- ## Instalação em um comando
465
-
466
- Com Node.js 22 ou mais recente e Git disponíveis, a instalação acontece na raiz do repositório que receberá o ZAIP-AIOS:
467
-
468
- \`\`\`bash
469
- npx @zaip-ai/cli@latest init
470
- \`\`\`
471
-
472
- O sufixo \`@latest\` instala a release pública atual sem fixar o README a uma versão específica. O CLI encontra a raiz Git mesmo quando o comando é iniciado em uma subpasta, valida o template antes de escrever e interrompe a instalação se detectar conflito com arquivo pertencente ao usuário. O mesmo comando pode ser executado novamente para receber arquivos novos e atualizar adapters gerenciados sem apagar o histórico do projeto.
473
-
474
- Cada release do CLI leva seu próprio template verificado. A árvore documentada neste README representa o estado atual do repositório-fonte; uma funcionalidade recém-integrada passa a chegar pelo mesmo comando assim que a release correspondente é publicada.
475
-
476
- O instalador cria [\`.agents\`](.agents/) com regras, requisitos, skills, documentação operacional, catálogo de ferramentas, Dashboard, design system e estado Git-native do lifecycle. Também instala os adapters \`AGENTS.md\` e \`CLAUDE.md\`, as skills de descoberta em \`.codex/skills/zaip-aios/SKILL.md\` e \`.claude/skills/zaip-aios/SKILL.md\`, a configuração de projeto \`.codex/config.toml\` e as configurações equivalentes do Claude. Todos apontam para a mesma fonte canônica, preservando o Codex como experiência principal sem acoplar PRDs, SPECs, Tasks e evidências a um único host.
477
-
478
- Depois da instalação, o [índice operacional](.agents/zaip-aios/INDEX.md) organiza os guias de primeiros passos, execução, revisão, custos, ferramentas, diagnóstico e atualização.
479
-
480
- ## Como as camadas se complementam
481
-
482
- | Tipo | Nome | Responsabilidade |
483
- | --- | --- | --- |
484
- | **Modelo de IA (AI Model)** | **GPT-5.6 (padrão)** | Modelo principal para raciocínio, programação, uso de ferramentas, coordenação de agentes e execução de tarefas complexas. A configuração permanece aberta para testes, comparação ou substituição por outros modelos. |
485
- | **Ferramenta (AI Harness)** | **Codex (padrão)** | Harness oficial que conecta o modelo LLM ao terminal, ferramentas, subagentes, worktrees, sandbox, hooks, skills e navegador. Por estar alinhado ao treinamento do modelo, oferece maior otimização, previsibilidade e aproveitamento de suas capacidades. |
486
- | **Metodologia (AI Coding)** | **ZAIP-AIOS** | Sistema Git-native de engenharia autônoma e multiagente. Converte PRDs e SPECs em Tasks, DAGs e Changes executáveis, automatiza testes e reviews e mantém decisões, execuções, evidências, custos e mudanças rastreáveis no Git. |
487
-
488
- O modelo fornece a inteligência, o Codex oferece o ambiente oficial de execução e o ZAIP-AIOS acrescenta método, governança e memória verificável. Essa combinação define **o que deve ser feito, como o trabalho deve ser organizado, quais regras precisam ser respeitadas e quais provas permitem declará-lo concluído**. A experiência de referência é otimizada para GPT-5.6 e Codex, enquanto modelos e hosts alternativos permanecem disponíveis para comparação e compatibilidade por meio de artefatos portáveis.
489
-
490
- ## Personas e roteamento de agentes
491
-
492
- O ZAIP-AIOS reúne 23 agentes especializados para que cada demanda seja conduzida pela competência mais adequada. O objetivo não é usar todos em cada entrega, mas formar o menor conjunto capaz de executar, revisar e comprovar o resultado com qualidade.
493
-
494
- As identidades técnicas permanecem separadas das personas visíveis. Assim, nomes e cargos podem ser apresentados e configurados no Dashboard sem comprometer os contratos internos de roteamento. A escolha considera a decisão ou o resultado primário, especialidade, escopo e risco; referências e insumos apoiam o trabalho, mas não mudam sozinhos o executor. Autoria, contexto e histórico permanecem rastreáveis.
495
-
496
- ### Os 23 agentes
497
-
498
- | Foto | # | Persona / função | Especialidade |
499
- | :---: | ---: | --- | --- |
500
- | <img src=".agents/config/src/1%20-%20Dave%20-%20Product%20Owner.png" alt="Dave, Product Owner" width="400"> | 1 | Dave / Product Owner | Resolve DAG e delega |
501
- | <img src=".agents/config/src/2%20-%20Rafa%20-%20Tech%20Lead.png" alt="Rafa, Tech Lead" width="400"> | 2 | Rafa / Tech Lead | Entrega genérica, SPEC e dashboard/local |
502
- | <img src=".agents/config/src/3%20-%20Leo%20-%20Software%20Engineer.png" alt="Leo, Software Engineer" width="400"> | 3 | Leo / Software Engineer | Task genérica ponta a ponta |
503
- | <img src=".agents/config/src/4%20-%20Bia%20-%20Product%20Manager.png" alt="Bia, Product Manager" width="400"> | 4 | Bia / Product Manager | Criação/refino de PRD e análise de produto |
504
- | <img src=".agents/config/src/5%20-%20Gui%20-%20Quality%20Assurance%20Lead.png" alt="Gui, Quality Assurance Lead" width="400"> | 5 | Gui / Quality Assurance Lead | Resultado terminal restrito |
505
- | <img src=".agents/config/src/6%20-%20Nanda%20-%20Principal%20Engineer.png" alt="Nanda, Principal Engineer" width="400"> | 6 | Nanda / Principal Engineer | Revisão independente |
506
- | <img src=".agents/config/src/7%20-%20Dani%20-%20Integration%20Engineer.png" alt="Dani, Integration Engineer" width="400"> | 7 | Dani / Integration Engineer | Integração e gates combinados |
507
- | <img src=".agents/config/src/8%20-%20Ana%20-%20Quality%20Auditor.png" alt="Ana, Quality Auditor" width="400"> | 8 | Ana / Quality Auditor | Auditoria independente |
508
- | <img src=".agents/config/src/9%20-%20Lia%20-%20Technical%20Writer.png" alt="Lia, Technical Writer" width="400"> | 9 | Lia / Technical Writer | Resumo fiel, análise de transcrição e documentação fundamentada em fontes |
509
- | <img src=".agents/config/src/10%20-%20Gabi%20-%20Data%20Analyst.png" alt="Gabi, Data Analyst" width="400"> | 10 | Gabi / Data Analyst | Análise de dados |
510
- | <img src=".agents/config/src/11%20-%20Tati%20-%20Refactoring%20Specialist.png" alt="Tati, Refactoring Specialist" width="400"> | 11 | Tati / Refactoring Specialist | Refatoração, migração e modularização seguras |
511
- | <img src=".agents/config/src/12%20-%20Doug%20-%20Frontend%20Developer.png" alt="Doug, Frontend Developer" width="400"> | 12 | Doug / Frontend Developer | Frontend e acessibilidade conforme \`DESIGN.md\` |
512
- | <img src=".agents/config/src/13%20-%20Will%20-%20Backend%20Developer.png" alt="Will, Backend Developer" width="400"> | 13 | Will / Backend Developer | API, backend e módulos |
513
- | <img src=".agents/config/src/14%20-%20Jonny%20-%20Website%20Developer.png" alt="Jonny, Website Developer" width="400"> | 14 | Jonny / Website Developer | Sites e landing pages, SEO, GEO e preparação para agentes |
514
- | <img src=".agents/config/src/15%20-%20Manu%20-%20Product%20Designer.png" alt="Manu, Product Designer" width="400"> | 15 | Manu / Product Designer | \`DESIGN.md\`, Design System, tokens e catálogo |
515
- | <img src=".agents/config/src/16%20-%20Dan%20-%20Cloud%20Engineer.png" alt="Dan, Cloud Engineer" width="400"> | 16 | Dan / Cloud Engineer | Infraestrutura cloud, Terraform, Docker e ambientes |
516
- | <img src=".agents/config/src/17%20-%20Luis%20-%20Security%20Auditor.png" alt="Luiz, Security Auditor" width="400"> | 17 | Luiz / Security Auditor | Auditoria técnica e independente de segurança |
517
- | <img src=".agents/config/src/18%20-%20Lucia%20-%20Marketing%20Analyst.png" alt="Lucia, Marketing Analyst" width="400"> | 18 | Lucia / Marketing Analyst | Planejamento de marketing, copy e preparação de ativos |
518
- | <img src=".agents/config/src/19%20-%20Renata%20-%20Compliance%20Specialist.png" alt="Renata, Compliance Specialist" width="400"> | 19 | Renata / Governance & Compliance Specialist | Artefatos internos de RH, jurídico operacional, políticas, privacidade, fornecedores e riscos |
519
- | <img src=".agents/config/src/20%20-%20Clara%20-%20Operations%20Specialist.png" alt="Clara, Operations Specialist" width="400"> | 20 | Clara / Operations Generalist | Documentos, apresentações, planilhas, processos e comparativos delimitados fora de especialidades obrigatórias |
520
- | <img src=".agents/config/src/21%20-%20Sarah%20-%20Branding%20Specialist.png" alt="Sarah, Branding Specialist" width="400"> | 21 | Sarah / Branding Specialist | Estratégia e governança de marca, Brandbook, arquétipos, diferencial semântico e arquitetura de marca |
521
- | <img src=".agents/config/src/22%20-%20Aaron%20-%20Sales%20Specialist.png" alt="Aaron, Sales Specialist" width="400"> | 22 | Aaron / Sales Specialist | Processo comercial interno, qualificação, playbooks, scripts e handoffs entre SDR e closer |
522
- | <img src=".agents/config/src/23%20-%20Robert%20-%20Growth%20Strategist.png" alt="Robert, Growth Strategist" width="400"> | 23 | Robert / Growth Strategist | Estratégia de crescimento, RevOps, experimentos e recomendações orientadas por dados e impacto financeiro |
523
-
524
- O [Catálogo de agentes](docs/AGENT-CATALOG.md) reúne as especialidades e responsabilidades dos agentes disponíveis no ZAIP-AIOS.
525
-
526
- ### Squads organizacionais
527
-
528
- <img src=".agents/config/src/Zaip%20AIOS%20Squads.png" alt="Estrutura organizacional dos seis squads e 23 agentes do ZAIP-AIOS" width="100%">
529
-
530
- Os seis squads tornam a estrutura de responsabilidades fácil de visualizar: **Product** (Dave, Bia e Manu), **Admin & Operations** (Clara, Renata e Lia), **Development** (Rafa, Leo, Jonny, Will, Doug e Tati), **Delivery Assurance** (Nanda, Gui, Ana e Dani), **Infra & Security** (Dan e Luiz) e **Growth — Sales, Marketing and Branding** (Robert, Gabi, Lucia, Sarah e Aaron).
531
-
532
- Essa é uma visão organizacional, não uma regra de roteamento. O orquestrador seleciona o agente por capability, escopo declarado, risco e write scopes da Task; pertencer ao mesmo squad não concede acesso, não substitui a seleção canônica e não obriga colaboração.
533
-
534
- Cada demanda pode começar como uma Task, uma SPEC ou um PRD. Em qualquer entrada, a intenção é transformada em trabalho estruturado, com objetivo, escopo, critérios de qualidade e etapas rastreáveis.
535
-
536
- O Codex permanece como ambiente de execução, enquanto o ZAIP-AIOS acrescenta organização, governança e visibilidade ao ciclo de desenvolvimento. Pelo Dashboard, é possível acompanhar o avanço das entregas, suas dependências, bloqueios e resultados.
537
-
538
- O sistema utiliza os tokens disponíveis na conta ChatGPT/Codex e apresenta, no Dashboard, uma estimativa do custo equivalente de API para fins de comparação e planejamento.
539
-
540
- ## Dashboard Local
541
-
542
- O Dashboard transforma o histórico técnico do ZAIP-AIOS em uma visão operacional clara. Em um só lugar, ele mostra o trabalho em andamento, os custos observados, a cobertura de qualidade, os bloqueios e a relação entre intenção, execução e resultado.
543
-
544
- <img src=".agents/config/src/dashboard_pt_1_visao_geral_este_mes.png" alt="Dashboard ZAIP-AIOS, Visao Geral Mes" width="100%">
545
-
546
- Os registros Git-native continuam sendo a fonte oficial. Tudo o que aparece nas telas pode ser reconstruído a partir dos arquivos canônicos e da configuração do projeto, sem criar uma base paralela ou dependência externa de infraestrutura.
547
-
548
- <strong>Como funciona a projeção local do Dashboard</strong>
549
-
550
- Os registros ZAIP canônicos permanecem na estrutura padrão em \`.agents/records\`. Para acelerar consultas e visualizações, o Dashboard reconstrói um SQLite descartável como *read model*. Esse arquivo não é fonte de verdade nem armazenamento canônico: é apenas uma projeção local reconstruível.
551
-
552
- Não é preciso instalar ou abrir servidor SQLite, DBeaver ou banco externo. O Node.js 22 já inclui \`node:sqlite\` para esse uso local.
553
-
554
-
555
- ### Kanban
556
-
557
- Organiza PRDs, SPECs e Tasks por estágio, destacando execução, verificação, conclusão, criticidade, tempo, tokens e custo observado.
558
-
559
- <img src=".agents/config/src/dashboard_pt_2_kanban.png" alt="Dashboard ZAIP-AIOS, Kanban" width="100%">
560
-
561
- As visões Trabalho (Kanban) e Trabalho (Lista) permitem alternar entre leitura por estágio e comparação detalhada. Ambas preservam os filtros Todas as Tarefas, Visão Unificada Geral, PRDs, SPECs e Tarefas Avulsas, facilitando a análise de status, origem, risco, Runs, Sub-Runs, tempo, tokens, custo e cobertura. Cada item pode ser aberto para investigar bloqueios e consultar seu histórico rastreável.
562
-
563
- ### Monitor de Custos
564
-
565
- Consolida tokens, duração, custo equivalente estimado e cobertura por período e por unidade de trabalho, sem transformar telemetria ausente em zero.
566
-
567
- <img src=".agents/config/src/dashboard_pt_3_monitor_custos.png" alt="Dashboard ZAIP-AIOS, Monitor de Custos" width="100%">
568
-
569
- O Monitor consolida tokens, tempo, custo e cobertura por Run, Task, SPEC e PRD. Isso permite comparar conversa, planejamento, execução, trabalho novo e rework, além de identificar médias e concentrações de consumo por dia, mês ou ano.
570
-
571
- Quando o Codex utiliza os tokens ou a franquia da conta em vez de cobrar uma API, o módulo calcula, sempre que há medição e pricing compatível, o **custo equivalente estimado de API** em USD e BRL. A estimativa apoia gestão e comparação, mas nunca é apresentada como cobrança real. Valores não observados continuam \`unknown\`, sem serem convertidos artificialmente em zero.
572
-
573
- **Contrato técnico da telemetria**
574
-
575
- A telemetria do Codex usa spool local sanitizado, um \`InvocationSummary\` por invocação e chunks com
576
- manifestos mensais rastreados pelo Git. Consultas com período usam os manifestos primeiro e mantêm
577
- fallback para a projeção de Run quando não existe resumo aplicável. Cobertura incompleta continua
578
- explícita em cada métrica. A [Telemetria Git-native do Codex](docs/TELEMETRIA-GIT-NATIVE.md)
579
- documenta contratos, armazenamento, integridade, recuperação e limites do rollout.
580
-
581
-
582
- ### Rastreabilidade
583
-
584
- Relaciona intenção, planejamento, execução, decisões, validações e evidências para explicar de onde cada resultado veio.
585
-
586
- <img src=".agents/config/src/dashboard_pt_4_rastreabilidade.png" alt="Dashboard ZAIP-AIOS, Rastreabilidade" width="100%">
587
-
588
- Correlaciona PRD, Requirements, SPEC, Change, Task, Execution, Runs, Decisions, testes, reviews, evals e Evidence em um grafo lógico de rastreabilidade. A visão detalha as seis etapas do método e mostra quais documentos e provas sustentam cada resultado. Cada registro recebe identificador, data e hora quando faz parte do lifecycle ou da telemetria; as evidências permanecem vinculadas e a cronologia também é preservada pelo Git. Isso permite auditoria, retomada, análise de rework e comparação entre intenção e execução. Projeções podem ser reconstruídas e otimizadas; a compactação Git-native da telemetria preserva IDs, relações, métricas, cobertura e hashes sem versionar prompts ou respostas.
589
-
590
- ## O custo que importa: concluir a tarefa
591
-
592
- O preço de uma chamada ou de um modelo não representa sozinho o custo real do desenvolvimento com IA. Uma entrega pode envolver entendimento, leitura de contexto, implementação, testes, correções, revisão, validação e documentação. Por isso, o ZAIP-AIOS mede **o custo para concluir o trabalho**, acompanhando Runs, fases e rework por Task, SPEC e PRD.
593
-
594
- Uma forma prática de analisar o custo total é:
595
-
596
- \`\`\`text
597
- custo da tarefa concluída = modelo + ferramentas + tempo humano + rework + custo de defeitos
598
- \`\`\`
599
-
600
- ## PRD como interface de autonomia
601
-
602
- O PRD permite governar uma iniciativa completa sem transformar cada decisão técnica em uma nova etapa manual. Ele registra o resultado esperado, organiza as entregas necessárias e mantém espaço para revisão humana antes da execução.
603
-
604
- Quando o usuário diz **“Me ajude a pensar sobre um PRD”**, o sistema mantém a interação como uma conversa de planejamento.
605
-
606
- Quando diz **“Crie um PRD”**, a IA faz até cinco perguntas importantes por turno, por no máximo três turnos. Depois, cria:
607
-
608
- - um PRD em estado \`draft\`
609
- - as SPECs técnicas necessárias
610
- - um \`PreparedPlan\`
611
- - uma lista resumida de Tasks
612
-
613
- As decisões técnicas que puderem ser delegadas são assumidas e registradas pela IA.
614
-
615
- **Detalhes de planejamento, decomposição e comandos**
616
-
617
- ### Organização das SPECs
618
-
619
- Por padrão, cada PRD utiliza apenas uma SPEC, buscando economia.
620
-
621
- 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.
622
-
623
- 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.
624
-
625
- Antes de o PRD chegar ao estado \`ready\`, as Tasks são apenas definições de trabalho, ainda sem execução.
626
-
627
- Os comandos **“Deixe pronto para executar”**, **“Finalize o PRD”** ou **“Conclua o PRD”** criam as Tasks, Changes e Executions no estado \`planned\`, mas não iniciam a implementação.
628
-
629
- O comando **“Execute”** atua sobre o menor item informado pelo usuário, que pode ser uma Task, uma SPEC ou o PRD completo.
630
-
631
- ### Limite de decomposição
632
-
633
- A escala de 1 a 5 define o limite de decomposição do PRD. Ela não representa uma meta obrigatória.
634
-
635
- * Nível 1 cobre um único fluxo vertical
636
- * Níveis 2 a 4 exigem capacidades independentes, com contratos e escopos de escrita separados
637
- * Nível 5 deve ser usado apenas em casos excepcionais com cinco implementações semelhantes e independentes
638
-
639
- Quando existe dependência entre capacidades, o trabalho deve permanecer na mesma SPEC. Projetos com mais de cinco capacidades devem ser divididos em outros PRDs ou registrar uma exceção.
640
-
641
- ### Comportamento dos comandos
642
-
643
- O comando \`implemente\` considera o estado atual do trabalho:
644
-
645
- * sem alvo definido, abre uma Conversation de planejamento
646
- * em \`draft\`, conclui o plano
647
- * em \`ready\`, inicia a execução
648
- * em estados ativos ou com falha, continua, retoma ou inicia o rework
649
-
650
- Os comandos \`desenvolva\`, \`melhore\` e \`aprimore\` sempre retornam ao planejamento ou ao rework.
651
-
652
- Um PRD cancelado não pode ser alterado. Quando necessário, um novo PRD de rework é criado, preservando o vínculo e o histórico de auditoria.
653
-
654
- ### Rastreamento de execução
655
-
656
- Toda criação de PRD ou SPEC é vinculada à Run responsável por meio do campo \`creation_run_id\`.
657
-
658
- 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\`.
659
-
660
-
661
- ## Qualidade e evidências
662
-
663
- Qualidade faz parte da definição de pronto. Cada entrega combina testes, revisão e checks proporcionais ao seu risco, com comprovação objetiva dos Critérios de Aceite.
664
-
665
- As Evidence conectam o resultado observado à Task, à Change e à Execution que o produziram. Assim, é possível consultar o que foi validado, por qual método e em qual contexto, sem perder a linha de raciocínio da entrega.
666
-
667
- Tests, reviews, checks e Evidence tornam a evolução do projeto mais previsível: elevam a confiança nas mudanças, facilitam revisões e mantêm decisões, validações e aprimoramentos plenamente rastreáveis.
668
-
669
-
670
- ## Economia medida e meta central por tarefa
671
-
672
- As análises abaixo apresentam reduções de custo **medidas na amostra comparativa** sob duas perspectivas complementares: custo médio por Task e custo médio por hora. Os gráficos e a tabela detalham os valores, os cálculos e a leitura de cada indicador. Os resultados confirmam redução nas séries analisadas, mas não devem ser generalizados para toda Task, modelo ou repositório sem uma nova comparação equivalente.
673
-
674
- ### Análise de custo por tarefa
675
-
676
- Este gráfico acompanha o custo de cada Task nas duas faixas comparadas. A média inicial é de **R$ 67 por tarefa**; no recorte posterior, ela passa a **R$ 44**. A redução de **34,3%** (apresentada como aproximadamente 34%) representa o custo médio menor para concluir uma unidade de trabalho na amostra observada.
677
-
678
- <img src=".agents/config/src/analise_comparativa_reducao_custo_por_tarefa.png" alt="Análise comparativa: custo médio por tarefa caiu de R$ 67 para R$ 44" width="900">
679
-
680
- ### Análise de custo por hora
681
-
682
- Este gráfico apresenta a mesma comparação na perspectiva horária. A média de custo cai de **R$ 410 por hora** para **R$ 154 por hora**, uma redução de **62,4%** (aproximadamente 62%). Essa leitura complementa a análise por Task ao mostrar que a redução também se mantém quando o custo é observado por hora.
683
-
684
- <img src=".agents/config/src/analise_comparativa_reducao_custo_por_hora.png" alt="Análise comparativa: custo médio por hora caiu de R$ 410 para R$ 154" width="900">
685
-
686
- Cada indicador abaixo mede uma parte diferente do fluxo. Os percentuais não devem ser somados, pois podem refletir otimizações simultâneas na mesma execução. As métricas de contexto e payload continuam sendo medições reproduzíveis do snapshot de **18/08/2026**; elas não descrevem automaticamente a população atual de skills ou do repositório.
687
-
688
- As duas primeiras linhas são resultados financeiros observados nas séries comparativas. As demais isolam ganhos de payload e navegação que ajudam a explicar como o fluxo pode reduzir custo, ciclos e retrabalho.
689
-
690
- | O que é reduzido | O que representa | Baseline sem a otimização | Com ZAIP-AIOS | Economia | Situação da métrica |
691
- | --- | --- | ---: | ---: | ---: | --- |
692
- | **Custo médio por tarefa** | Média de custo das Tasks nas duas faixas da série comparativa. | **R$ 67** | **R$ 44** | **34%** | **Medição observada** na comparação apresentada (redução exata: 34,3%). |
693
- | **Custo médio por hora** | Média de custo por hora nas duas faixas da série comparativa. | **R$ 410** | **R$ 154** | **62%** | **Medição observada** na comparação apresentada (redução exata: 62,4%). |
694
- | **Contexto entregue ao agente para uma Task** | O pack de Rules, Requirements e artefatos relevantes que entra no prompt de trabalho. | 7.980 tokens | **1.593 tokens** | **80,0%** | Medição reproduzível. |
695
- | **Navegação operacional recorrente** | Uma rodada de quatro consultas para localizar Changes, Tasks, Executions e Runs ativos. | 101.924 tokens | **10.199 tokens** | **90,0%** | Medição reproduzível; também reduz o limite de paginação. |
696
- | **Instruções disponíveis para o agente** | Snapshot de 13/07/2026 do catálogo então consultável pelo agente (26 skills). | 1.091 tokens | **599 tokens** | **45,1%** | Medição reproduzível do snapshot; não é a contagem atual de skills. |
697
-
698
-
699
- ### Metodologia da comparação
700
-
701
- A comprovação de economia baseia-se em coortes de Tasks equivalentes, observadas em dois cenários — por exemplo, Codex normal e Codex + ZAIP-AIOS — com o mesmo modelo, repositório, Critérios de Aceite e janela de observação. Essa equivalência mantém a comparação centrada no efeito do fluxo de trabalho.
702
-
703
- Os indicadores que compõem a análise são:
704
-
705
- - tokens e custo equivalente de API de todas as chamadas até a conclusão;
706
- - duração e número de ciclos/retries;
707
- - tempo humano de revisão e correção;
708
- - taxa de rework e defeitos encontrados após a entrega;
709
- - cobertura de testes, reviews e evidências dos Critérios de Aceite.
710
-
711
- O Cost Monitor preserva valores desconhecidos como \`unknown\`/\`null\` e não converte ausência de telemetria em custo zero. Dessa forma, os resultados mantêm visíveis custos de provider, rework ou qualidade que ainda não tenham sido observados. A metodologia e seus registros complementares estão em [a auditoria de tokens e performance](analysis/verificacao-auditoria-tokens-performance-zaip-aios-2026-07-13.md).
712
-
713
- O comando \`zaip cost cohort --input <arquivo.json> --json\` calcula coortes comparáveis a partir de custos faturados observados e sua proveniência. O contrato de cálculo exige moeda USD, fonte, timestamp, *quality floor*, tentativa terminal e uma única identidade de baseline equivalente. Na ausência ou divergência de uma dimensão obrigatória, a economia permanece \`null\`, preservando a integridade da comparação.
714
-
715
- ## Comparação com os principais frameworks concorrentes
716
-
717
- Este recorte usa uma auditoria comparativa, consolidada em 6 de agosto de 2026, e posiciona cada produto a partir dos sinais encontrados em código, configuração, arquitetura, testes e documentação. A metodologia reúne dez critérios com o mesmo peso: cada tópico recebe de 0 a 10 pontos e a nota final, de 0 a 100, é a soma direta desses resultados. Na escala adotada, 9–10 indica uma referência clara no critério; 7–8, uma proposta forte e competitiva; 5–6, uma capacidade relevante ainda parcial; e 0–4, pouca evidência ou baixa ênfase no recorte analisado. A matriz detalhada torna a composição das notas transparente e permite atualizá-las conforme os produtos evoluem.
718
-
719
- | Produto | Nota /100 | Justificativa da nota | Posicionamento competitivo |
720
- |---|---:|---|---|
721
- | ZAIP-AIOS | **95** | Lidera tecnicamente neste recorte local ao unir SDD, arquitetura limpa e qualidade baseada em Evidence com orquestração multiagente, segurança, contexto e observabilidade financeira por Task no mesmo lifecycle auditável. | Plataforma completa para engenharia de software com agentes, reunindo especificação, execução, validação, segurança e observabilidade em um lifecycle rastreável. |
722
- | Traycer | 83 | Coding agents conectados, loops agente–agente para arquitetura/review, CLI/terminal e worktrees são fortes; custo por Task e execução do host assinado não foram reproduzidos. | Mais especializado que OpenClaw para orquestrar coding agents, sem substituir validação de produto. |
723
- | AIOX Core | 82 | Spec pipeline, dev/QA, worktrees, recovery, memória e integrações Codex/Cursor/Claude sustentam o fluxo; hooks têm paridade desigual e não há custo por Task. | Plataforma de desenvolvimento ampla, com DX forte mas menos direta que Traycer. |
724
- | Kilo Code | 80 | Agente de código para VS Code, JetBrains e CLI, com Debug, Review, autocorreção e \`kilo run --auto\`; telemetria existe, mas custo por Task não foi comprovado. | DX de programação first-class, com limites de evidência em isolamento e recovery. |
725
- | TLC Spec-Driven | 80 | Skill SDD adaptativo com AC→teste, matriz de cobertura, verifier independente, sensor de discriminação e lessons locais; o contrato é forte, mas o enforcement depende de agente/host. | Muito forte em rastreabilidade e verificação; benchmark autorreferenciado sem bruto e sem telemetria/custo por Task. |
726
- | Roo Code | 79 | VS Code com modos Code, Architect e Debug, refactor, histórico/resume e worktrees; não há custo consolidado por Task. | Encaixe editor-first muito forte, com governança operacional parcial. |
727
- | Superpowers | 78 | Skills de TDD, worktrees, subagentes, review e debugging tornam o playbook de programação consistente; suas garantias continuam instrucionais e os testes comportamentais dependem de repositório externo. | Forte disciplina para coding agents, sem lifecycle tipado nem custo por Task. |
728
- | OpenClaw | 73 | Subagentes Codex-native, sessões isoladas, sandbox e testes são fortes, mas o gateway assistente multicanal não demonstra o mesmo fluxo coding-first de IDE/CLI. | Referência em isolamento e operação geral; fica abaixo de Traycer, Kilo e Roo no recorte de programação. |
729
- | Hermes | 71 | Retry, memória e usage/pricing sustentam recursos de coding, mas a plataforma é generalista e não coding-first; custo por Task não está demonstrado. | Produto autônomo amplo, não equivalente automaticamente a um agente de desenvolvimento especializado. |
730
- | OpenSpec | 70 | Delta specs, schemas, CLI, workspaces e testes estruturam a evolução de mudanças; a verificação é opcional/parcialmente heurística. | Especialista em gestão de specs, não runtime multiagente, sem custo por Task. |
731
- | OpenCode | 60 | TUI/CLI, edição/patch, comandos, LSP, MCP/providers, permissões e sessões SQLite compõem uma base enxuta e extensível para programação no terminal. | Alternativa direta para desenvolvimento no terminal, com oportunidades de ampliar multiagentes, lifecycle, testes e custo por Task. |
732
-
733
- **Consultar a matriz técnica dos dez critérios**
734
-
735
- | Tópico (0–10) | ZAIP | OpenClaw | Traycer | Kilo | Hermes | AIOX | Roo Code | OpenCode | TLC Spec-Driven | Superpowers | OpenSpec |
736
- |---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
737
- | T1 — SDD e rastreabilidade | 10 | 6 | 7 | 6 | 6 | 9 | 6 | 3 | 9 | 8 | 9 |
738
- | T2 — Loop planejar–editar–testar–corrigir | 9 | 7 | 9 | 10 | 7 | 9 | 9 | 8 | 9 | 9 | 6 |
739
- | T3 — Multiagentes e isolamento | 10 | 9 | 9 | 8 | 7 | 9 | 8 | 4 | 8 | 9 | 5 |
740
- | T4 — Arquitetura e repositório | 10 | 8 | 9 | 8 | 7 | 8 | 8 | 8 | 7 | 7 | 8 |
741
- | T5 — Testes, review e evidência | 10 | 9 | 9 | 9 | 8 | 9 | 9 | 5 | 9 | 9 | 8 |
742
- | T6 — Recovery e idempotência | 10 | 7 | 9 | 7 | 7 | 8 | 7 | 6 | 8 | 8 | 7 |
743
- | T7 — Supply chain | 9 | 8 | 8 | 8 | 8 | 7 | 8 | 6 | 7 | 7 | 6 |
744
- | T8 — Memória de codebase | 9 | 8 | 9 | 8 | 9 | 9 | 8 | 7 | 9 | 8 | 8 |
745
- | T9 — Telemetria/custo por tarefa de programação | 9 | 6 | 5 | 6 | 6 | 6 | 6 | 4 | 5 | 4 | 4 |
746
- | T10 — DX CLI/IDE, debug, review, setup e Codex-first | 9 | 5 | 9 | 10 | 6 | 8 | 10 | 9 | 9 | 9 | 9 |
747
-
748
-
749
- ## Da conversa ao trabalho executável
750
-
751
- O framework ZAIP-AIOS transforma linguagem natural em engenharia estruturada. O usuário pode enviar uma mensagem curta, manter uma conversa de refinamento ou fornecer a transcrição de um áudio longo explicando contexto, restrições e resultado desejado. O framework avalia complexidade, dependências, amplitude e risco para propor a entrada adequada: uma Task para trabalho direto, uma SPEC para uma entrega técnica com múltiplas Tasks ou um PRD para uma iniciativa de produto composta por uma ou mais SPECs. A criticidade \`leve\`, \`padrão\` ou \`crítica\` determina a profundidade de planejamento, revisão, segurança e evidência exigida; nenhum artefato fica fechado à revisão humana.
752
-
753
- Isso permite sair de uma conversa livre sem cair em *vibe coding*: perguntas e análises read-only permanecem Conversations sem Task; pedidos de ação tornam-se trabalho executável. Antes da mutação, a intenção é convertida em requisitos, critérios de aceite, escopo, dependências e write scopes, e uma Task com Run raiz de orquestração entra em Execução. Consulte [Lifecycle de Conversations, Tasks, SPECs e PRDs](docs/WORK-LIFECYCLE.md).
754
-
755
- ## Método ZAIP em seis etapas
756
-
757
- | Etapa | Artefatos | O que acontece |
758
- | --- | --- | --- |
759
- | **1. Definição** | PRD + Requirements | Registra objetivo, contexto, público, restrições, resultado esperado e Critérios de Aceite que definem o trabalho. |
760
- | **2. Planejamento** | SPEC + Changes | Descreve escopo, solução, arquitetura, riscos e mudanças previstas antes da execução, seguindo SDD. |
761
- | **3. Execução** | Tasks + DAG + Executions + Runs | Coordena Tasks, dependências, agentes e arquivos produzidos; registra cada tentativa e seu consumo observável. |
762
- | **4. Decisões** | Decisions (Human + AI / Planning + Execution) | Preserva decisões humanas e da IA tomadas durante planejamento, execução, revisão e reparo, com contexto e consequências. |
763
- | **5. Verificação** | Tests + Reviews + Evals + Checks | Executa os mecanismos de qualidade e compara o resultado observado com os requisitos e Critérios de Aceite. |
764
- | **6. Evidências** | Evidence + Results + Traceability | Coleta, registra e relaciona as provas produzidas pela verificação às Tasks, Changes, Runs e aos Critérios de Aceite; o trabalho só é concluído quando as evidências são suficientes e reproduzíveis. |
765
-
766
- O método mantém intenção e execução separadas. PRD e SPEC explicam o que se pretende entregar; Change, Task, Execution e Run registram como o trabalho foi realizado; Decisions explicam por que caminhos relevantes foram escolhidos; a Verificação executa testes, reviews, evals e checks; e Evidence preserva os resultados observados e sua relação com os Critérios de Aceite. Assim, “concluído” é um estado demonstrado por diff, resultado e evidência reproduzível, não apenas declarado por um agente.
767
-
768
- ## Cadeia completa de execução
769
-
770
- Os conceitos abaixo formam o vocabulário técnico usado para ligar intenção, planejamento, execução e prova sem perder o histórico.
771
-
772
- **Consultar o glossário completo do lifecycle**
773
-
774
- | Conceito | Responsabilidade |
775
- | --- | --- |
776
- | **Rule** | Regra durável de comportamento, arquitetura, segurança, contexto ou qualidade que o Codex deve seguir. |
777
- | **Requirement** | Obrigação verificável do produto, acompanhada de Critérios de Aceite. |
778
- | **PRD** | Documento de Requisitos do Produto que governa uma iniciativa e organiza uma ou mais SPECs. |
779
- | **SPEC** | Especificação técnica SDD que detalha solução, escopo, riscos, Changes, Tasks e DAG. |
780
- | **Change** | Narrativa viva de uma mudança planejada e executada: decisões, arquivos afetados, desvios, testes, evidências, rollout, rollback e resultado. |
781
- | **Task** | Menor unidade executável, com objetivo, risco, prioridade, dependências, write scopes e critérios de aceite. |
782
- | **DAG** | Grafo acíclico que ordena dependências, identifica paralelismo seguro e impede execução fora da sequência necessária. |
783
- | **Execution** | Uma unidade idempotente por turno: \`interaction\` registra conversa sem Task artificial; \`delivery\` materializa e coordena trabalho, Changes e DAG quando aplicável. |
784
- | **Run / Sub-Run** | Run de captura ou do agente orquestrador possui \`parent_run_id: null\`; Sub-Run é cada chamada de subagente relacionada por \`parent_run_id\`. Novos registros usam \`run_role: intake|orchestrator|subagent\`; cada chamada fixa modelo e effort e agrega suas Calls internas. |
785
- | **Decision** | Decisão humana ou da IA com contexto, alternativa escolhida, motivo, consequências e possibilidade de rollback. |
786
- | **Evidence** | Prova associada à Task e aos Critérios de Aceite: teste, diff, review, check, relatório ou resultado reproduzível. |
787
- | **Eval** | Avaliação determinística ou orientada por rubrica que mede qualidade, regressão, aderência e performance. |
788
-
789
-
790
- ## Três formas de executar
791
-
792
- 1. **Task-first:** executa uma única Task independente para mudanças diretas e bem delimitadas.
793
- 2. **SPEC:** executa um conjunto de Tasks relacionadas, coordenadas por uma DAG e governadas pela mesma especificação técnica.
794
- 3. **PRD:** executa uma iniciativa completa, selecionando uma ou mais SPECs, cada uma com suas Changes, Tasks e dependências.
795
-
796
- Essa progressão permite começar de forma simples e acrescentar planejamento apenas quando a amplitude, as dependências ou o risco justificarem uma estrutura maior.
797
-
798
- **Políticas técnicas de execução e assurance**
799
-
800
- Conversation e Task-first preservam o modelo, o reasoning effort e a velocidade selecionados manualmente no Codex. Para executar trabalho de produto mais rápido, o único caminho suportado é uma Task-first realmente independente com Fast selecionado manualmente no Codex. Executions originadas por SPEC ou PRD usam sempre velocidade \`standard\`, inclusive em todas as Tasks descendentes; o ZAIP não oferece skill, hook ou override para mudar essa velocidade.
801
-
802
- Em todos os casos, cada turno observável resolve para uma Execution. \`prepare\` valida e congela o plano antes da mutação; \`execute\` reutiliza a Execution \`delivery\` para materializar Change e Task; cada Execution usa uma Run raiz do orquestrador, ao menos um Sub-Run executor elegível e o \`zaip-agent-finalizer\` obrigatório por último. SPEC/PRD permanecem ativos entre Runs filhas e só são entregues por gates parentais.
803
-
804
- 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](docs/ASSURANCE-E-AUTONOMIA.md).
805
-
806
-
807
- ## Princípios de engenharia autônoma
808
-
809
- 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.
810
-
811
- - **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.
812
- - **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.
813
- - **Modularização e organização do código:** pastas, arquivos, módulos e componentes são estruturados por domínio e responsabilidade, com fronteiras explícitas, alta coesão e baixo acoplamento para facilitar navegação, manutenção, testes e evolução do software.
814
- - **Autonomia dentro de limites:** subagentes trabalham com DAG, write scopes, sandbox, approvals, budgets, regras de segurança e gates proporcionais ao risco.
815
- - **Contexto progressivo:** cada agente recebe apenas Rules, Requirements, skills e evidências relevantes para seu papel, reduzindo ruído, custo e perda de contexto.
816
- - **Conclusão baseada em prova:** testes, review, evals, checks e Evidence precisam cobrir os Critérios de Aceite antes da entrega.
817
- - **Histórico recuperável:** decisões, mudanças, tentativas, falhas, retries, reparos e rollback permanecem vinculados, permitindo pausar, retomar e auditar o trabalho.
818
- - **Observabilidade honesta:** tokens, custo, tempo, cobertura e performance são medidos por escopo; ausência de telemetria permanece explícita em vez de gerar precisão fictícia.
819
-
820
- Toda mensagem do usuário cria uma Execution e uma Run de captura. Perguntas, feedbacks e análises read-only usam Execution \`interaction\`, sem Task ou Change artificial. A criação ou o refinamento explícito de PRD/SPEC \`draft\` é a exceção de definição: a própria \`interaction\` pode persistir esses macros e o PreparedPlan sem Task, Change ou Execution \`delivery\`. Fora dessa exceção, pedido avulso direto materializa e inicia a mesma Execution \`delivery\`, Task, Change e Run raiz de orquestração antes da primeira mutação; somente preparação explicitamente solicitada pode parar em Pronto para Executar. PRD \`draft\` ocupa Definição e SPEC \`draft\` ocupa Planejamento; Tasks nunca ocupam essas colunas.
821
-
822
- ## Graph Engineering e Loop Engineering
823
-
824
- <img src=".agents/config/src/zaip-aios-obsidian.png" alt="Zaip AIOS no Obsidian" width="100%">
825
-
826
- O **Graph Engineering** transforma uma entrega complexa em uma sequência coordenada de responsabilidades. Em vez de acionar todos os 23 agentes, a orquestração escolhe o menor conjunto capaz de planejar, executar, revisar e comprovar o resultado conforme dependências, risco e especialidade.
827
-
828
- 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.
829
-
830
- 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.
831
-
832
- ### Grafo principal
833
-
834
- Este é o caminho mais comum e econômico. Todos os agentes são filhos diretos da mesma orquestração de Dave; a sequência lógica não significa que um trabalhador chama o próximo.
835
-
836
- \`\`\`mermaid
837
- flowchart LR
838
- I["Entrada"] --> C["Classificar demanda"]
839
- C --> D["Dave<br/>orquestrador"]
840
- D --> E{"Executor por capacidade"}
841
- E -->|Task genérica| L["Leo"]
842
- E -->|Trabalho técnico amplo| R["Rafa"]
843
- E -->|Domínio específico| S["Especialista"]
844
- L --> D
845
- R --> D
846
- S --> D
847
- D --> N["Nanda<br/>review independente"]
848
- N -->|Aprovado| D
849
- N -->|Rework| D
850
- D --> G["Gui<br/>finalizador"]
851
- G --> O["Resultado terminal"]
852
- \`\`\`
853
-
854
- \`\`\`text
855
- Dave → um executor ou especialista → Nanda → Gui
856
- \`\`\`
857
-
858
- ### Loop de custo e qualidade
859
-
860
- O diagrama abaixo representa a política automática para execuções originadas de PRD/SPEC com \`model_orchestration.mode:auto\`. Em Conversation e Task-first, o host/Codex mantém a seleção manual de modelo e effort.
861
-
862
- \`\`\`mermaid
863
- flowchart LR
864
- A["Tentativa"] --> V{"Gates e review passaram?"}
865
- V -->|Sim| F["Finalizar"]
866
- V -->|Não| R["Classificar rework"]
867
- R --> C["Recalibrar agente, modelo e esforço"]
868
- C -->|Simples e delimitado| L["Luna / low"]
869
- C -->|Execução padrão| T["Terra / medium"]
870
- C -->|Ambíguo, transversal ou rework estrutural| S["Sol / high ou xhigh"]
871
- L --> A
872
- T --> A
873
- S --> A
874
- \`\`\`
875
-
876
- O escalonamento não é obrigatório em toda falha. Um erro determinístico pode continuar barato; a classificação \`critical\` amplia os guards de assurance, mas não eleva mecanicamente o executor. Sol e \`xhigh\` são reservados para ambiguidade, transversalidade, review/audit, rework estrutural ou dificuldade observável.
877
-
878
- **Formas de entrada**
879
-
880
- \`\`\`mermaid
881
- flowchart TD
882
- U["Solicitação"] --> T{"Tipo de entrada"}
883
- T -->|Pergunta simples| Q["Resposta direta"]
884
- T -->|Análise especializada| A["Interaction"]
885
- T -->|Mudança delimitada| K["Task-first"]
886
- T -->|Problema de produto| P["PRD"]
887
- T -->|Definição técnica| S["SPEC"]
888
- T -->|Continuação| C["Retomar foco"]
889
- T -->|Falha ou achado| W["Rework"]
890
- T -->|Auditoria| X["Audit"]
891
- T -->|Deploy ou push| Git["Git-only"]
892
- A --> D["Dave"]
893
- K --> D
894
- P --> B["Bia"]
895
- S --> R["Rafa"]
896
- C --> D
897
- W --> D
898
- X --> D
899
- B --> D
900
- R --> D
901
- \`\`\`
902
-
903
-
904
- **Planejamento com PRD e SPEC**
905
-
906
- \`\`\`mermaid
907
- flowchart LR
908
- I["Ideia ou problema"] --> D["Dave"]
909
- D --> B["Bia<br/>PRD e critérios"]
910
- B --> D
911
- D --> R["Rafa<br/>SPEC e DAG técnica"]
912
- R --> D
913
- D --> V{"Pronto para executar?"}
914
- V -->|Refinar produto| B
915
- V -->|Refinar técnica| R
916
- V -->|Sim| X["Materializar Tasks"]
917
- X --> E["Executar DAG"]
918
- E --> N["Nanda"]
919
- N --> G["Gui"]
920
- \`\`\`
921
-
922
-
923
- **Demanda crítica e transversal**
924
-
925
- \`\`\`mermaid
926
- flowchart TD
927
- I["Demanda crítica"] --> D["Dave<br/>orquestração"]
928
- D --> P["Bia ou Rafa<br/>planejamento"]
929
- P --> D
930
-
931
- D --> B1["Will<br/>backend"]
932
- D --> B2["Doug<br/>frontend"]
933
- D --> B3["Manu<br/>design"]
934
- D --> B4["Dan<br/>cloud"]
935
-
936
- B1 --> D
937
- B2 --> D
938
- B3 --> D
939
- B4 --> D
940
-
941
- D --> DI["Dani<br/>integração quando necessária"]
942
- DI --> D
943
- D --> N["Nanda<br/>review obrigatório"]
944
- N --> D
945
-
946
- D --> SEC{"Há segurança ou dados críticos?"}
947
- SEC -->|Sim| L["Luiz<br/>security audit"]
948
- SEC -->|Não| CRIT{"Há release, alto risco ou auditoria ampla?"}
949
- L --> D
950
- D --> CRIT
951
- CRIT -->|Sim| A["Ana<br/>auditoria independente"]
952
- CRIT -->|Não| G["Gui"]
953
- A --> D
954
- D --> G["Gui<br/>último agente"]
955
- \`\`\`
956
-
957
- Nanda cobre a revisão independente normal. Luiz é adicional quando há segurança ou dados críticos. Ana é adicional para alto risco, release ou reprodução ampla de evidências. Uma demanda pode usar Nanda, Luiz e Ana quando todos os guards forem verdadeiros.
958
-
959
-
960
- **Seleção de modelo e esforço**
961
-
962
- \`\`\`mermaid
963
- flowchart TD
964
- A["Agente selecionado"] --> F["Identificar papel e fase"]
965
- F --> S["Ler sinais persistidos"]
966
- S --> R["Classificar criticidade"]
967
- R --> O{"Override explícito válido?"}
968
- O -->|Execution| OE["Override da Execution"]
969
- O -->|Task| OT["Override da Task"]
970
- O -->|Não| P["Política automática"]
971
- P --> X{"Perfil da Agent Run"}
972
- X -->|Simples, local e verificável| L["Luna / low"]
973
- X -->|Execução standard| T["Terra / medium"]
974
- X -->|Crítico e tecnicamente claro| TH["Terra / medium + assurance"]
975
- X -->|Planejamento ou ambiguidade alta| SH["Sol / medium ou high"]
976
- X -->|Múltiplos gatilhos excepcionais| SX["Sol / xhigh"]
977
- OE --> V["Validar capacidades do host"]
978
- OT --> V
979
- L --> V
980
- T --> V
981
- TH --> V
982
- SH --> V
983
- SX --> V
984
- V --> RUN["Abrir Agent Run imutável"]
985
- \`\`\`
986
-
987
- \`\`\`text
988
- Modelo = papel + fase + complexidade + ambiguidade + transversalidade
989
- Esforço = criticidade + dificuldade de raciocínio + custo do erro
990
- Assurance = criticidade + impacto + rollback
991
- \`\`\`
992
-
993
-
994
- **Matriz recomendada por agente**
995
-
996
- | Agente | Lite | Standard | Crítico |
997
- |---|---|---|---|
998
- | Dave | Terra/medium | Terra/medium | Sol/medium ou high somente em planejamento, ambiguidade ou transversalidade |
999
- | Rafa | Luna/low quando simples e delimitado | Terra/medium | Terra/medium; risco critical amplia assurance, não o modelo mecanicamente |
1000
- | Leo | Luna/low quando simples e delimitado | Terra/medium | Terra/medium; Sol/high apenas por ambiguidade, transversalidade ou rework estrutural |
1001
- | Bia | Terra/medium | Sol/medium | Sol/high quando o trabalho analítico for complexo ou ambíguo |
1002
- | Gui | Terra/medium | Terra/medium | Terra/medium; o finalizer avalia Evidence já produzida e não escala automaticamente |
1003
- | Nanda | Sol/medium | Sol/medium | Sol/high quando a revisão for complexa |
1004
- | Dani | Terra/medium | Terra/medium | Terra/medium; integração não escala automaticamente |
1005
- | Ana | Não acionar | Somente excepcional | Sol/high ou xhigh |
1006
- | Lia | Luna/low | Luna/medium ou Terra/medium | Terra/high |
1007
- | Gabi | Luna/low para cálculo mecânico | Terra/medium | Sol/high para diagnóstico causal complexo |
1008
- | Tati | Terra/low | Terra/medium | Sol/high ou xhigh estrutural |
1009
- | Doug | Luna/low | Terra/medium | Sol/high somente se transversal |
1010
- | Will | Luna/low | Terra/medium | Sol/high para arquitetura ou risco material |
1011
- | Jonny | Luna/low | Terra/medium | Sol/high para SEO, GEO ou arquitetura complexos |
1012
- | Manu | Luna/low para aplicação de tokens | Terra/medium | Sol/high para mudança visual central |
1013
- | Dan | Luna/low para configuração local | Terra/medium | Sol/high para infraestrutura crítica |
1014
- | Luiz | Não acionar | Sol/medium quando necessário | Sol/high ou xhigh |
1015
- | Lucia | Luna/low para variações | Terra/medium | Sol/high para estratégia ambígua |
1016
- | Sarah | Luna/low para organização de fontes | Terra/medium | Sol/high para posicionamento ou arquitetura de marca ambíguos |
1017
- | Robert | Luna/low para síntese delimitada | Terra/medium | Sol/high para diagnóstico estratégico, RevOps ou decisão financeira complexa |
1018
- | Aaron | Luna/low para organizar roteiro delimitado | Terra/medium | Sol/high para processo comercial ambíguo ou negociação complexa |
1019
- | Clara | Luna/low para artefato simples | Terra/medium | Sol/high para análise operacional ambígua ou transversal |
1020
- | Renata | Luna/low para organização documental | Terra/medium | Sol/high para governança, privacidade ou risco complexo |
1021
-
1022
-
1023
- **Perfis por criticidade**
1024
-
1025
- | Perfil | Orquestração | Execução | Review | Assurance adicional | Finalização |
1026
- |---|---|---|---|---|---|
1027
- | Lite | Dave, Terra/low | Luna/low | Nanda, Terra/low | Não | Gui, Terra/low |
1028
- | Standard | Dave, Terra/medium | Terra/medium | Nanda, Terra/medium | Dani, Luiz ou Ana somente por guard | Gui, Terra/medium |
1029
- | Critical | Dave, Terra/medium; Sol somente se planejamento, ambiguidade ou transversalidade exigirem | Terra/medium para execução tecnicamente clara; Sol/high por ambiguidade, transversalidade ou rework estrutural | Nanda, Sol/high quando a revisão for complexa | Dani, Terra/medium, por integração; Luiz ou Ana, Sol/high, pelos guards aplicáveis | Gui, Terra/medium |
1030
-
1031
-
1032
- **Consultar o grafo unificado dos 23 agentes**
1033
-
1034
- ### Grafo unificado dos 23 agentes
1035
-
1036
- \`\`\`mermaid
1037
- flowchart TD
1038
- IN["Conversa, Task, SPEC, PRD, Rework ou Audit"] --> CL["Classificar intenção, capacidade e risco"]
1039
- CL -->|Sem delegação necessária| OUT["Resposta direta"]
1040
- CL --> D0["Dave<br/>seleciona a execução"]
1041
-
1042
- D0 --> MC["Calibrar modelo e esforço da Agent Run"]
1043
- MC --> ROUTE{"Capacidade requerida"}
1044
-
1045
- ROUTE --> BIA["Bia<br/>produto e PRD"]
1046
- ROUTE --> RAFA["Rafa<br/>SPEC e técnica ampla"]
1047
- ROUTE --> LEO["Leo<br/>Task genérica"]
1048
- ROUTE --> LIA["Lia<br/>documentação"]
1049
- ROUTE --> GABI["Gabi<br/>dados e métricas"]
1050
- ROUTE --> TATI["Tati<br/>refatoração"]
1051
- ROUTE --> DOUG["Doug<br/>frontend"]
1052
- ROUTE --> WILL["Will<br/>backend"]
1053
- ROUTE --> JONNY["Jonny<br/>website"]
1054
- ROUTE --> MANU["Manu<br/>design system"]
1055
- ROUTE --> DAN["Dan<br/>cloud"]
1056
- ROUTE --> LUCIA["Lucia<br/>marketing"]
1057
- ROUTE --> SARAH["Sarah<br/>branding"]
1058
- ROUTE --> ROBERT["Robert<br/>growth e RevOps"]
1059
- ROUTE --> AARON["Aaron<br/>vendas"]
1060
- ROUTE --> CLARA["Clara<br/>operações gerais"]
1061
- ROUTE --> RENATA["Renata<br/>governança e compliance"]
1062
-
1063
- BIA --> D1["Dave<br/>recebe resultados"]
1064
- RAFA --> D1
1065
- LEO --> D1
1066
- LIA --> D1
1067
- GABI --> D1
1068
- TATI --> D1
1069
- DOUG --> D1
1070
- WILL --> D1
1071
- JONNY --> D1
1072
- MANU --> D1
1073
- DAN --> D1
1074
- LUCIA --> D1
1075
- SARAH --> D1
1076
- ROBERT --> D1
1077
- AARON --> D1
1078
- CLARA --> D1
1079
- RENATA --> D1
1080
-
1081
- D1 --> INT{"Há branches para integrar?"}
1082
- INT -->|Sim| DANI["Dani<br/>integração"]
1083
- DANI --> D2["Dave<br/>recebe candidato integrado"]
1084
- INT -->|Não| D2
1085
-
1086
- D2 --> REVIEW["Nanda<br/>review independente obrigatório"]
1087
- REVIEW -->|Rework| RW["Dave<br/>classifica rework e abre nova Agent Run"]
1088
- RW --> MC
1089
- REVIEW -->|Aprovado| SEC{"Segurança ou dados críticos?"}
1090
-
1091
- SEC -->|Sim| LUIZ["Luiz<br/>security audit"]
1092
- LUIZ --> D3["Dave<br/>recebe avaliação de segurança"]
1093
- SEC -->|Não| D3
1094
- D3 --> AUDIT{"Alto risco, release ou auditoria ampla?"}
1095
-
1096
- AUDIT -->|Sim| ANA["Ana<br/>auditoria independente"]
1097
- ANA --> D4["Dave<br/>recebe auditoria terminal"]
1098
- AUDIT -->|Não| D4
1099
- D4 --> GUI["Gui<br/>finalizador obrigatório e último"]
1100
-
1101
- GUI --> TERM["Completed, blocked,<br/>failed ou cancelled"]
1102
- \`\`\`
1103
-
1104
- O grafo comum usa quatro agentes. Os demais entram por guards de capacidade, dependência ou risco; o objetivo não é usar todos os 20 em toda demanda. O [guia completo de Graph Engineering dos agentes](guide/GRAPH-ENGINEERING-AGENTES-ZAIP.md) descreve os contratos dos nós, os cenários detalhados e as regras de escalada.
1105
-
1106
-
1107
- ## Fluxos
1108
-
1109
- Os fluxos abaixo documentam estados, transições, responsabilidades e critérios de encerramento para quem precisa operar ou auditar o lifecycle em profundidade.
1110
-
1111
- **Consultar fluxos, estados e regras práticas de operação**
1112
-
1113
- ### Seis etapas principais e três saídas alternativas
1114
-
1115
- O lifecycle possui seis etapas no caminho de sucesso. \`Bloqueado\`, \`Falhado\` e \`Cancelado\` são saídas alternativas: elas podem interromper o fluxo, mas não são etapas pelas quais todo trabalho precisa passar.
1116
-
1117
- | Etapa | O que acontece | Estados Git-native mais comuns |
1118
- | --- | --- | --- |
1119
- | **1. Definição** | Registra problema, objetivo, escopo e Critérios de Aceite no PRD, que ainda pode ser refinado sem iniciar implementação. | PRD \`draft\` |
1120
- | **2. Planejamento** | A SPEC \`draft\` detalha o trabalho, suas dependências, Changes previstos, DAG e estratégia de verificação. Uma Task não percorre esta etapa. | SPEC \`draft\`; PreparedPlan em construção |
1121
- | **3. Pronto para Executar** | O plano foi validado, materializado e está apto a iniciar. Uma Task preparada entra no lifecycle por esta etapa. | PRD/SPEC \`ready\`; Task/Change \`planned\`; Execution \`planned\` |
1122
- | **4. Execução** | Cada Task recebe sua própria orquestração, agentes elegíveis e ciclos de implementação ou correção. | PRD/SPEC \`active\`; Task/Change \`executing\`; Execution/Run \`running\` |
1123
- | **5. Verificação** | Tests, reviews, evals, checks, Decisions e Evidence comprovam os Critérios de Aceite. SPEC e PRD fazem também sua verificação parental. | Change/Execution \`verifying\` |
1124
- | **6. Concluído** | O resultado foi verificado e o nível correspondente foi encerrado. | Task/Change/Execution \`completed\`; PRD/SPEC \`delivered\` |
1125
- | **Bloqueado** | Existe uma dependência ou impedimento recuperável. O trabalho pode continuar depois com \`resume\` ou \`rework\`. | \`blocked\` |
1126
- | **Falhado** | Um impedimento técnico ou externo impede continuar com segurança após os retries permitidos, por exemplo, permissão negada, Codex/provider indisponível, falha de internet/rede ou erro em uma ferramenta obrigatória. | \`failed\` |
1127
- | **Cancelado** | Uma pessoa encerra pontualmente o trabalho por decisão explícita; nunca é uma saída automática do agente. | \`cancelled\` |
1128
-
1129
- ### Visão macro: cada tipo mantém seu próprio fluxo
1130
-
1131
- Task, SPEC e PRD não se misturam em uma única linha de execução. Uma SPEC coordena suas Tasks; um PRD coordena suas SPECs; e cada Task continua sendo executada e verificada de forma independente.
1132
-
1133
- Os três fluxos aparecem lado a lado em uma única imagem PNG, preservando a leitura no preview e deixando explícito que SPEC e PRD coordenam entregas sem fundir o lifecycle de cada Task.
1134
-
1135
- Uma Task não passa pelas etapas 1 e 2: quando preparada, ela começa em **3. Pronto para Executar**; quando direta, começa em **4. Execução**.
1136
-
1137
- ![Lifecycles de Task, SPEC e PRD](docs/assets/diagrams/lifecycles-task-spec-prd.png)
1138
-
1139
- Conversation permanece fora dessas três linhas: ela usa uma Execution \`interaction\`, pode consultar agentes e termina em uma resposta sem criar Task artificial.
1140
-
1141
- ### Orquestração de uma Task
1142
-
1143
- A Task é a unidade de execução do ZAIP. Para concluí-la, o sistema pode executar mais de um ciclo de orquestração, mas cada ciclo tem uma Run raiz, agentes com responsabilidades bem definidas, limites de tentativa e um resultado explícito. Isso evita que uma sequência longa de chamadas pareça uma única execução sem começo, fim ou responsável.
1144
-
1145
- O \`Zaip Agent Orchestrator\` conduz o ciclo e delega a implementação ou a correção ao \`Zaip Agent Executor\`. Enquanto o trabalho acontece, Evidence e Decisions registram o que foi feito, como foi validado e quais escolhas foram tomadas. Em seguida, o \`Zaip Agent Reviewer\` assume a verificação independente dos Critérios de Aceite, executando ou coordenando Tests, Checks e Evals. Quando a profundidade de prova exigir, o \`Zaip Agent Auditor\` acrescenta uma revisão adicional. Só então o \`Zaip Agent Finalizer\` recebe o resultado já verificado, consolida as evidências e fecha a Run raiz como o último Sub-Run: depois desse ponto, nenhuma nova chamada pode ser anexada ao ciclo.
1146
- \`\`\`mermaid
1147
- flowchart TD
1148
- TASK["Task em Execução"] --> ORCH["Zaip Agent Orchestrator<br/>Run raiz do ciclo N"]
1149
- ORCH --> EXECUTOR["Zaip Agent Executor<br/>implementação ou correção"]
1150
- EXECUTOR --> EVIDENCE["Coleta contínua durante a execução<br/>Evidence + Decisions registradas"]
1151
- EVIDENCE --> REVIEWER["Zaip Agent Reviewer<br/>executa e coordena a verificação"]
1152
- REVIEWER --> QUALITY["Camadas de validação<br/>Tests + Checks + Evals"]
1153
- QUALITY -->|validação suficiente| VERIFIED["Resultado verificado<br/>antes do fechamento"]
1154
- QUALITY -->|auditoria necessária| AUDITOR["Zaip Agent Auditor<br/>verificação adicional"]
1155
- AUDITOR --> VERIFIED
1156
- VERIFIED --> FINALIZER["Zaip Agent Finalizer<br/>consolida e encerra o ciclo"]
1157
- FINALIZER --> OUTCOME{"Resultado já verificado"}
1158
-
1159
- OUTCOME -->|impedimento técnico, externo ou retries esgotados| FAILED["Falhado<br/>permissão, Codex/provider, internet/rede<br/>ou ferramenta impedem continuar"]
1160
- OUTCOME -->|critérios atendidos| DONE["Concluído"]
1161
- OUTCOME -->|condição recuperável| BLOCKED["Bloqueado<br/>aguarda condição"]
1162
- OUTCOME -->|correção necessária| REWORK["Rework necessário<br/>novo ciclo N + 1"]
1163
- OUTCOME -.-> HUMAN["Ação humana pontual<br/>solicitação de pausa"]
1164
- HUMAN --> CANCELLED["Cancelado"]
1165
-
1166
- BLOCKED -->|resume dentro da política| ORCH
1167
- REWORK -->|novo ciclo dentro da política| ORCH
1168
-
1169
- classDef entry fill:#2563eb,color:#fff,stroke:#1d4ed8,stroke-width:2px;
1170
- classDef agent fill:#6d28d9,color:#fff,stroke:#a78bfa;
1171
- classDef executor fill:#1e3a8a,color:#fff,stroke:#60a5fa,stroke-width:2px;
1172
- classDef reviewer fill:#c2410c,color:#fff,stroke:#fb923c,stroke-width:2px;
1173
- classDef auditor fill:#166534,color:#fff,stroke:#4ade80,stroke-width:2px;
1174
- classDef finalizer fill:#991b1b,color:#fff,stroke:#ef4444,stroke-width:2px;
1175
- classDef info fill:#334155,color:#fff,stroke:#94a3b8;
1176
- classDef success fill:#15803d,color:#fff,stroke:#4ade80,stroke-width:2px;
1177
- classDef warning fill:#a16207,color:#fff,stroke:#facc15;
1178
- classDef failure fill:#b91c1c,color:#fff,stroke:#f87171;
1179
-
1180
- class TASK entry;
1181
- class ORCH agent;
1182
- class EXECUTOR executor;
1183
- class REVIEWER reviewer;
1184
- class AUDITOR auditor;
1185
- class FINALIZER finalizer;
1186
- class EVIDENCE,QUALITY,VERIFIED,OUTCOME,HUMAN info;
1187
- class DONE success;
1188
- class BLOCKED,REWORK,CANCELLED warning;
1189
- class FAILED failure;
1190
- \`\`\`
1191
- O encerramento nunca decide sozinho se o trabalho está pronto: essa decisão já foi sustentada pelo Reviewer, pelas camadas de validação e, quando necessário, pelo Auditor. A partir daí, o fluxo separa claramente o resultado funcional da Task do status técnico da Run.
1192
-
1193
- - **Concluído:** os Critérios de Aceite foram comprovados e a entrega está pronta.
1194
- - **Bloqueado:** há uma condição recuperável; o ciclo pode ser retomado dentro da política configurada.
1195
- - **Rework necessário:** a validação encontrou uma correção necessária; um novo ciclo é iniciado com o contexto e as evidências anteriores.
1196
- - **Falhado:** um impedimento técnico ou externo, como permissão insuficiente, indisponibilidade do Codex ou provider, falha de rede ou ferramenta, ou tentativas esgotadas, impede continuar com segurança.
1197
- - **Cancelado:** uma pessoa solicitou explicitamente a interrupção; não é uma decisão automática do fluxo.
1198
-
1199
- Bloqueio e rework não descartam o que já foi produzido. Eles retornam ao Orchestrator para um novo ciclo controlado, respeitando os limites de retries, orçamento e política da Execution.
1200
-
1201
- ### Regras práticas de operação
1202
-
1203
- #### Entrada e preparação
1204
-
1205
- - **Conversation:** usa uma Execution \`interaction\` e termina em resposta, sem criar Task artificial.
1206
- - **Task direta:** a captura cria Task, Change e Execution e inicia a execução imediatamente.
1207
- - **Task preparada:** permanece em Pronto para Executar até o comando \`execute\`.
1208
- - **SPEC:** coordena a DAG de suas Tasks, mas cada Task mantém execução, Run e evidências próprias.
1209
- - **PRD:** coordena as SPECs selecionadas no PreparedPlan, sem fundir os seus lifecycles.
1210
-
1211
- Task direta e Task preparada seguem a mesma trilha controlada, mas refinamentos e reworks podem criar novos ciclos de orquestração. Cada novo ciclo começa explicitamente por \`execute\`, \`resume\` ou \`rework\` e respeita os limites de retries e reparos da Execution.
1212
-
1213
- O prepare automático atende somente uma Task sem dependências. Uma DAG manual requer um plano construído e validado antes da preparação da Task:
1214
-
1215
- \`\`\`bash
1216
- zaip plan build --draft DRAFT.json --output PLAN.json
1217
- zaip plan validate --plan PLAN.json
1218
- zaip task prepare TASK-ID --plan PLAN.json
1219
- \`\`\`
1220
-
1221
- Um PRD precisa ter pelo menos uma SPEC para chegar a \`ready\`, \`active\` ou \`delivered\`. A entrega considera apenas as SPECs selecionadas no seu PreparedPlan; SPECs fora desse plano não são encerradas implicitamente.
1222
-
1223
- #### Refinamento Git-native
1224
-
1225
- Enquanto PRD ou SPEC estiverem em \`draft\`, o refinamento ocorre diretamente no Markdown versionado e incrementa \`revision\` e \`updated_at\`. Depois de \`prepare\`, o plano materializado não é alterado silenciosamente: uma mudança semântica exige a transição explícita suportada de volta para draft ou a criação de um novo draft.
1226
-
1227
- #### Verificação e encerramento
1228
-
1229
- Os Sub-Runs executores produzem a implementação enquanto Evidence e Decisions registram continuamente provas e escolhas relevantes. Em seguida, o \`Zaip Agent Reviewer\` executa ou coordena Tests, Checks e Evals para verificar os Critérios de Aceite; o \`Zaip Agent Auditor\` pode acrescentar uma checagem independente. Somente depois dessas etapas o \`Zaip Agent Finalizer\`, papel canônico \`zaip-agent-finalizer\`, consolida o resultado já verificado e encerra a sequência de Sub-Runs como barreira final do ciclo.
1230
-
1231
- Depois do Finalizer, encerre a Run raiz mantendo separados o status técnico da Run e o resultado funcional da Task:
1232
-
1233
- \`\`\`bash
1234
- zaip run finish RUN-ID \\
1235
- --status completed \\
1236
- --task-outcome completed
1237
- zaip run closure RUN-ID
1238
- \`\`\`
1239
-
1240
- Substitua \`completed\` em \`--task-outcome\` por \`blocked\`, \`failed\` ou \`cancelled\` quando esse for o resultado funcional verificado da Task.
1241
-
1242
- Gates estruturais disponíveis incluem:
1243
-
1244
- \`\`\`bash
1245
- zaip architecture validate
1246
- zaip modules validate
1247
- zaip profile validate
1248
- zaip cqrs validate # quando aplicável
1249
- \`\`\`
1250
-
1251
- \`zaip run reconcile --open\` é um reparo global manual. No dashboard, ele só é executado depois de confirmação explícita no popup.
1252
-
1253
- #### Observabilidade e projeções
1254
-
1255
- \`zaip run list\` disponibiliza a navegação pelas Runs, e \`zaip run aggregate\` agrega tokens e custos no escopo informado. O dashboard, o Kanban e o Cost Monitor são projeções do estado Git-native; eles não substituem os records canônicos.
1256
-
1257
- Conversation, Planning e Execution permanecem separados. Tokens, custos, tempo, performance e rework podem ser analisados por Task, SPEC e PRD. Valores indisponíveis continuam como \`unknown\` ou \`null\`: totais, estimativas e cobertura nunca transformam ausência de telemetria em zero.
1258
-
1259
-
1260
- ## Referência técnica e operacional
1261
-
1262
- As seções seguintes preservam os contratos necessários para instalação avançada, manutenção, auditoria, segurança e evolução do framework. Elas complementam a visão comercial sem substituir os guias especializados vinculados ao longo do documento.
1263
-
1264
- ## Estrutura atual de \`.agents\`
1265
-
1266
- **Consultar a árvore de diretórios e as responsabilidades técnicas**
1267
-
1268
- \`\`\`text
1269
- .agents/
1270
- ├── config/
1271
- │ ├── project.yaml
1272
- │ ├── framework.lock.yaml
1273
- │ ├── agents/catalog.yaml
1274
- │ └── profiles/clients.yaml
1275
- ├── dashboard/
1276
- │ ├── zaip-dashboard-windows.exe
1277
- │ ├── zaip-dashboard-linux.sh
1278
- │ ├── zaip-dashboard-mac.command
1279
- │ ├── apps/frontend/
1280
- │ ├── modules/{operations,cost-monitor,traceability}/
1281
- │ ├── packages/
1282
- │ └── tests/e2e/
1283
- ├── design/
1284
- │ ├── DESIGN.md
1285
- │ ├── tokens.json
1286
- │ ├── zaip-design.exe
1287
- │ ├── apps/catalog/
1288
- │ └── packages/
1289
- ├── records/
1290
- │ ├── prds/<ano>/<mês>/
1291
- │ ├── specs/<ano>/<mês>/
1292
- │ ├── changes/<ano>/<mês>/
1293
- │ ├── tasks/<ano>/<mês>/
1294
- │ ├── executions/<ano>/<mês>/
1295
- │ ├── runs/<ano>/<mês>/
1296
- │ ├── lifecycle/{manifest.json,summary.json,entity-snapshot.json}/
1297
- │ └── telemetry/<ano>/<mês>/writers/<writer-id>/{manifest.json,chunks/}
1298
- ├── rules/
1299
- │ ├── zaip/{core,workflow,architecture,security,context,evolution}.md
1300
- │ └── project/ # Rules personalizadas deste projeto
1301
- ├── requirements/
1302
- ├── skills/
1303
- ├── tools/
1304
- │ ├── catalog.yaml
1305
- │ ├── {mcp,api}/
1306
- │ ├── policies/
1307
- │ ├── profiles/
1308
- │ ├── runtime/
1309
- │ └── servers/
1310
- ├── zaip-aios/
1311
- │ ├── INDEX.md
1312
- │ └── guides/
1313
- ├── .env.example
1314
- └── .gitignore
1315
- .agents/runtime/
1316
- └── local/ # estado local ignorado pelo Git
1317
- ├── claims/ # claims atômicos de lifecycle
1318
- └── codex-telemetry-spool/v1/ # captura sanitizada, privada e recuperável
1319
- \`\`\`
1320
-
1321
- | Caminho | Responsabilidade |
1322
- | --- | --- |
1323
- | \`config/\` | Configuração do projeto, perfis de clientes e agentes, maturidade de capacidades e lock de integridade dos arquivos gerenciados. |
1324
- | \`dashboard/\` | Dashboard operacional local com Kanban, custos, tempo, tokens e grafo de rastreabilidade; lê os manifests de lifecycle e os detalhes canônicos por ID, sem criar uma verdade paralela nem reconstruir arquivos locais. |
1325
- | \`design/\` | Design system do ZAIP, tokens visuais, catálogo de componentes e launcher local de inspeção. |
1326
- | \`records/\` | Fonte canônica Git-native de PRDs, SPECs, Changes, Tasks, Executions e Runs. \`records/lifecycle\` contém manifests, índices, chunks e resumos para descoberta e paginação sem varrer o histórico. |
1327
- | \`requirements/\` | Requisitos duráveis e Critérios de Aceite de lifecycle, execução, custos, contexto, dashboard, arquitetura e design system. |
1328
- | \`rules/\` | Rules canônicas do framework e Rules locais do projeto, todas diretamente neste diretório. |
1329
- | \`skills/\` | Workflows reutilizáveis que transformam conversas em Requirements, Tasks, SPECs e PRDs e orientam execução, revisão, segurança, custos, contexto e ferramentas. |
1330
- | \`tools/\` | Catálogo de MCPs e APIs, políticas de aprovação e segredos, perfis de ativação, doctors e servidores locais gerados de maneira auditável. |
1331
- | \`zaip-aios/\` | Handbook operacional com índice de baixo custo de contexto e guias de instalação, execução, revisão, agentes, custos, segurança e integração com Codex. |
1332
- | \`.local/\` | Estado específico da máquina, como claims de lifecycle, writer ID e spool sanitizado de telemetria; fica fora do Git e não é uma fonte do dashboard. Segredos nunca devem ser gravados nos registros. |
1333
-
1334
- \`framework.lock.yaml\` é a referência mecânica dos arquivos administrados pela distribuição, enquanto \`project.yaml\` descreve o projeto consumidor. Rules presentes no lock pertencem ao framework e podem ser atualizadas pelo setup; Rules ausentes do lock são locais e devem ser preservadas. O agente começa por \`rules/core.md\`, usa os manifests canônicos em \`records/lifecycle\` para descoberta e só abre um registro histórico quando já possui seu ID explícito.
1335
-
1336
- O código canônico do dashboard vive em \`.agents/dashboard\`, separado das aplicações do produto. Ele possui somente \`apps/frontend\`; o servidor loopback read-only é uma implementação técnica em \`packages/local-runtime\`, e não um \`apps/backend\`. Os módulos \`operations\`, \`cost-monitor\` e \`traceability\` formam os read models em memória a partir dos manifests canônicos. Os launchers \`zaip-dashboard-windows.exe\`, \`zaip-dashboard-linux.sh\` e \`zaip-dashboard-mac.command\` permanecem diretamente em \`.agents/dashboard\` e também são instalados pelo CLI oficial.
1337
-
1338
-
1339
- ## Arquitetura das aplicações
1340
-
1341
- **Consultar layout, dependências e limites de código**
1342
-
1343
- Quando essas superfícies existirem, a estrutura canônica é:
1344
-
1345
- \`\`\`text
1346
- apps/
1347
- ├── frontend/ # UI do produto e composition root do cliente
1348
- ├── backend/ # APIs, workers e composition roots de servidor
1349
- └── site/ # landing page e site público, implantável separadamente
1350
- modules/<area>/ # capacidades de negócio e seus contratos públicos
1351
- packages/<library>/ # bibliotecas técnicas reutilizáveis
1352
- tests/e2e/ # fluxos que atravessam aplicações
1353
- \`\`\`
1354
-
1355
- A direção de dependência é \`apps -> modules -> packages\`. Essas pastas descrevem aplicações do produto consumidor, não o dashboard ZAIP. \`apps/site\` nunca importa o dashboard, não lê \`.agents\` e não depende de implementação privada do backend. Pastas de superfícies ausentes não precisam ser criadas vazias. Testes unitários ficam junto do código; jornadas cross-app ficam em \`tests/e2e\`.
1356
-
1357
- Arquivos-fonte com 401–800 linhas geram warning e arquivos com 801 ou mais linhas geram erro. O gate ignora código gerado, distribuição, vendor, dados e lockfiles. Exceções temporárias cobrem somente legado não-dashboard, têm limite congelado, responsável, motivo e validade.
1358
-
1359
-
1360
- ## Desenvolvimento do framework
1361
-
1362
- **Consultar contratos para mantenedores e contribuidores**
1363
-
1364
- Esta seção é destinada a mantenedores e contribuidores que alteram o código-fonte do próprio ZAIP-AIOS. Quem apenas instalou o framework dentro de outro repositório não precisa executar esta rotina para usar o Codex, criar Tasks, SPECs ou PRDs, acompanhar o dashboard ou executar o lifecycle normalmente.
1365
-
1366
- ### Repositório-fonte e projeto consumidor
1367
-
1368
- - **Repositório-fonte:** contém a implementação oficial do ZAIP-AIOS, seus pacotes, dashboard, Rules, Requirements, skills, ferramentas e artefatos de distribuição. Mudanças intencionais nesses componentes precisam passar pelos gates de integridade, qualidade, testes e build.
1369
- - **Projeto consumidor:** recebe uma versão publicada do framework dentro de \`.agents\`. O arquivo \`framework.lock.yaml\` é atualizado somente pelos fluxos transacionais de instalação ou upgrade do CLI; o projeto consumidor não executa \`sync:framework-lock\` para aceitar alterações locais.
1370
-
1371
- Configurações do projeto consumidor permanecem em \`.agents/config/project.yaml\`; Rules adicionais ficam diretamente em \`.agents/rules/*.md\` e não entram no lock do framework. Arquivos administrados pela distribuição não devem ser modificados e depois incorporados ao lock apenas para silenciar uma divergência.
1372
-
1373
- ### Integridade dos arquivos gerenciados
1374
-
1375
- O \`framework.lock.yaml\` é um manifesto mecânico de integridade, não um lock de dependências como \`pnpm-lock.yaml\`. Ele registra os caminhos e hashes SHA-256 dos arquivos que pertencem à distribuição do ZAIP-AIOS, permitindo detectar alteração acidental, arquivo ausente ou conteúdo diferente do release esperado. Ele não armazena segredos, telemetria ou histórico de execução.
1376
-
1377
- Quando um mantenedor altera intencionalmente Rules, Requirements, skills ou outro arquivo gerenciado no repositório-fonte, deve revisar a mudança e então regenerar os hashes:
1378
-
1379
- \`\`\`bash
1380
- pnpm sync:framework-lock
1381
- pnpm validate:framework-lock
1382
- \`\`\`
1383
-
1384
- \`sync:framework-lock\` grava o novo conjunto de caminhos e hashes no lock. \`validate:framework-lock\` é somente leitura: recalcula o estado esperado e falha se houver drift. O sync não deve ser usado automaticamente para esconder uma divergência; primeiro é necessário confirmar que a mudança pertence de fato ao framework e deve fazer parte da próxima distribuição.
1385
-
1386
- ### Gates locais de qualidade
1387
-
1388
- | Comando | O que verifica |
1389
- | --- | --- |
1390
- | \`pnpm validate:framework-lock\` | Confirma que todos os arquivos gerenciados correspondem aos caminhos e hashes registrados no lock. |
1391
- | \`pnpm validate:skills\` | Valida estrutura, nomes, frontmatter, interfaces, links, recursos e invariantes de segurança das skills. |
1392
- | \`pnpm test:encoding\` | Detecta UTF-8 inválido, caracteres corrompidos, *mojibake* e outros problemas de codificação textual. |
1393
- | \`pnpm validate:source-size\` | Mede arquivos de código, aplica limites e exceções temporárias e sinaliza componentes que precisam ser divididos em módulos mais coesos. |
1394
- | \`pnpm lint\` | Verifica formatação, consistência e regras estáticas do código. |
1395
- | \`pnpm typecheck\` | Executa a validação de tipos TypeScript nos pacotes do workspace. |
1396
- | \`pnpm test\` | Executa os testes automatizados dos pacotes por meio do workspace. |
1397
- | \`pnpm build\` | Compila e empacota os componentes, além de normalizar os textos gerados. |
1398
-
1399
- Uma validação local típica, depois de atualizar o lock quando necessário, é:
1400
-
1401
- \`\`\`bash
1402
- pnpm validate:framework-lock
1403
- pnpm validate:skills
1404
- pnpm test:encoding
1405
- pnpm validate:source-size
1406
- pnpm lint
1407
- pnpm typecheck
1408
- pnpm test
1409
- pnpm build
1410
- \`\`\`
1411
-
1412
- Antes de integrar uma mudança relevante ou preparar um release, \`pnpm verify\` executa a pipeline completa do repositório, incluindo gates adicionais de ferramentas, contratos, geração, workspace, paridade de runtime e testes de release. Essa pipeline apenas valida o lock; se um arquivo gerenciado tiver sido alterado intencionalmente, o sync deve acontecer antes.
1413
-
1414
- A arquitetura detalhada está resumida na seção [Arquitetura das aplicações](#arquitetura-das-aplicações) deste README.
1415
-
1416
-
1417
- ## Segurança com perfis de permissão
1418
-
1419
- O ZAIP-AIOS oferece dois perfis de permissão para equilibrar conveniência e contenção. O perfil selecionado por \`default_permissions\` define o limite técnico que o processo pode alcançar, enquanto instruções, Rules, hooks e skills continuam determinando o que o agente está autorizado a fazer.
1420
-
1421
- | Perfil | Filesystem nativo no Windows | Rede de comandos | Quando usar |
1422
- | --- | --- | --- | --- |
1423
- | \`zaip-aios-full-access\` | Escrita em \`C:\\\` inteiro, sujeita às ACLs e aos privilégios da conta Windows | Completa, com todos os domínios permitidos | Padrão humano; ainda exige autorização explícita para ações externas, destrutivas, publicação e elevação. |
1424
- | \`zaip-aios-security\` | Escrita somente na raiz física deste repositório e seus descendentes, incluindo \`.git\`, \`.agents\` e \`.codex\`; escrita em \`~/.ssh\` apenas para fluxos Git/SSH autorizados | Limitada a \`github.com\` | Opt-in para menor privilégio; reinicie o Codex depois de selecioná-lo. |
1425
-
1426
- **Consultar funcionamento, riscos e defesa em profundidade**
1427
-
1428
- O perfil restrito usa uma tabela de permissões com a **raiz física absoluta** do repositório,
1429
- não \`:workspace\` nem \`:workspace_roots\`. Essa escolha mantém \`.agents\`, \`.codex\` e \`.git\`
1430
- editáveis no Windows sem liberar o restante de \`C:\\\`. Seu \`approval_policy = "never"\` não
1431
- autoriza ações por si só: deploy, publicação, mutações remotas e ações destrutivas continuam
1432
- dependendo de pedido explícito, instruções, Rules, hooks e skills.
1433
-
1434
- ### Risco do \`zaip-aios-full-access\`
1435
-
1436
- \`zaip-aios-full-access\` é um perfil de maior risco. Ele pode alcançar outros repositórios,
1437
- arquivos do usuário, diretórios de aplicações e do sistema, além de qualquer destino de rede que
1438
- o host permita. Um comando incorreto, conteúdo externo malicioso ou uma dependência comprometida
1439
- tem, portanto, impacto potencial muito maior. O perfil não concede privilégios de administrador e
1440
- ainda respeita ACLs, políticas corporativas e arquivos em uso, mas essas barreiras não tornam o
1441
- acesso equivalente ao perfil restrito.
1442
-
1443
- \`zaip-aios-full-access\` é o padrão humano e deve ser usado somente dentro da autoridade explícita
1444
- do pedido. Quando uma operação puder ser executada com contenção de workspace, o usuário pode
1445
- selecionar \`zaip-aios-security\` e reiniciar completamente o Codex para que o sandbox materialize o
1446
- perfil escolhido. Não altere perfis apenas para contornar uma negação de permissão.
1447
-
1448
- ### Defesa em profundidade
1449
-
1450
- Os dois perfis mantêm camadas compensatórias que reduzem risco, mas elas não substituem o
1451
- isolamento nativo oferecido pelo perfil restrito:
1452
-
1453
- - carregamento da política somente em repositório confiável e escopo explícito em \`AGENTS.md\`;
1454
- - hook \`PreToolUse\`, que bloqueia escapes do repositório, referências diretas a segredos, Git destrutivo, force push, mutações de OS, ACL, persistência, elevação e banco destrutivo;
1455
- - regras Codex \`forbidden\`, instruções e skills que exigem autoridade explícita e limitam o escopo de cada operação;
1456
- - deploy GitHub delimitado por pedido explícito, preflight, branch/remoto definidos e identidade SSH escopada;
1457
- - proteção para que tokens, chaves privadas, credenciais e valores de ambiente não sejam impressos, registrados ou incluídos em commits;
1458
- - Tasks, Changes, Executions, Runs, write scopes, threat model, rollback, testes negativos e review independente proporcionais ao risco;
1459
- - subagentes com responsabilidades e escopos delimitados, além de adapters com hash, framework lock e gates de regressão;
1460
- - controles remanescentes do sistema operacional, como ACLs, privilégios da conta e políticas do host.
1461
-
1462
- O hook de segurança \`PreToolUse\` também permanece ativo no perfil full-access, sem reduzir suas permissões nativas; ele bloqueia classes destrutivas, segredos, publicação e elevação sem autorização. Os hooks de lifecycle de subagentes permanecem ativos como
1463
- defesa em profundidade e para atribuição/telemetria. Browser, Computer Use, MCPs e demais
1464
- integrações têm superfícies próprias e devem ser habilitados e usados apenas quando necessários.
1465
- Para isolamento forte contra erros de escopo ou código malicioso, use o perfil restrito e, quando
1466
- o risco justificar, uma conta, VM ou controles externos de rede e filesystem dedicados.
1467
-
1468
- O modelo de ameaça, a matriz allow/deny, todas as camadas, limitações, operação segura,
1469
- rollout, rollback e comandos de verificação estão documentados no
1470
- [guia completo de segurança dos perfis ZAIP-AIOS](.agents/zaip-aios/guides/10-seguranca.md).
1471
-
1472
-
1473
- ## Automação e integrações opcionais
1474
-
1475
- ### Agendamento horário da fila pronta
1476
-
1477
- No Codex Desktop, o agendamento horário da fila pronta é configurado pela skill \`$zaip-skill-instalar-agendamento\` em uma única conversa no checkout local. A skill usa a automação nativa de tarefas agendadas para criar ou atualizar uma tarefa standalone com nome estável; ela não duplica registros e falha fechada se a capacidade \`automation_update\` não estiver disponível. A tarefa agendada chama explicitamente \`$zaip-skill-executar-fila-pronta\` em cada rodada horária.
1478
-
1479
- A rodada processa sequencialmente todo o snapshot elegível: primeiro PRDs em \`ready\`, depois SPECs \`ready\` independentes e, por último, Tasks avulsas materializadas em **Pronto para Executar**. Itens descendentes, ativos, bloqueados, falhos ou terminais ficam fora. Em **Dashboard > Trabalho (Kanban) > Pronto para Executar**, a prioridade é definida pela numeração de cima para baixo dentro do tier PRD/SPEC/Task e persiste para o scheduler em \`.agents/dashboard/work-priority.json\`; os controles acessíveis de ordenação atualizam essa numeração, e itens sem número vão para o fim pelo fallback determinístico. Um lock/lease local evita sobreposição entre rodadas.
1480
-
1481
- O repositório versiona esse contrato, mas não instala um relógio em cada clone. A tarefa agendada pertence à máquina/usuário que a criou e depende da máquina ligada, do Codex Desktop em execução e da automação nativa disponível; sem eles, a skill falha fechada e não promete execução futura.
1482
-
1483
- ### Codex, documentação oficial e navegador
1484
-
1485
- O arquivo \`.codex/config.toml\` é uma configuração de projeto carregada pelo Codex somente quando o repositório é confiável. Na configuração atual do ZAIP-AIOS, ele orienta a descoberta de \`AGENTS.md\` e habilita o MCP oficial e read-only da documentação OpenAI, permitindo que o agente consulte informações atuais sobre Codex, modelos, APIs, SDKs e MCP sem depender apenas da memória do modelo. O instalador também disponibiliza a skill ZAIP de descoberta, enquanto o próprio Codex fornece recursos estáveis como shell, subagentes, apps, hooks e busca web conforme a superfície, a conta e as políticas do ambiente.
1486
-
1487
- O navegador integrado não é ativado silenciosamente pelo CLI nem por \`.codex/config.toml\`. No app Codex/ChatGPT para desktop, o plugin Browser permite abrir páginas e aplicações locais, clicar, digitar, inspecionar o estado renderizado, capturar screenshots e verificar visualmente uma implementação, sempre sujeito às permissões de sites e às confirmações de ações sensíveis. O navegador integrado não está disponível no Codex CLI nem na extensão de IDE. Para automação por Playwright ou outro MCP de navegador, \`.agents/tools\` inclui um manifesto opt-in desabilitado por padrão; a implementação precisa ser escolhida, auditada e validada antes da ativação.
1488
-
1489
- ## Visualização opcional da rastreabilidade no Obsidian
1490
-
1491
- A skill \`criar-pasta-obsidian\` gera em \`.local/obsidian/vault\` uma projeção local e reconstruível das relações entre PRDs, SPECs, Changes, Tasks, Executions, Runs, requisitos, evidências e testes. Ela não transforma o Obsidian em fonte de verdade, não duplica os corpos completos dos registros e não exige que o aplicativo esteja instalado para gerar ou validar a pasta.
1492
-
1493
- Na raiz do repositório, a geração ou atualização do vault utiliza:
1494
-
1495
- \`\`\`powershell
1496
- node .agents/skills/criar-pasta-obsidian/scripts/generate-obsidian-vault.mjs
1497
- \`\`\`
1498
-
1499
- 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\`.
1500
- `,S=t(),C=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});function w({locale:e,onClose:t}){let r=(0,b.useMemo)(()=>n(e,x,C),[e]),i=r.filter(e=>e.id!==`readme`),[a,o]=(0,b.useState)(`readme`),[s,c]=(0,b.useState)(`rendered`),l=r.find(e=>e.id===a)??r[0];return(0,S.jsx)(`div`,{className:`dashboard-help-backdrop`,children:(0,S.jsxs)(`section`,{"aria-label":e===`pt-BR`?`Ajuda do ZAIP-AIOS`:`ZAIP-AIOS help`,"aria-modal":`true`,className:`dashboard-help`,role:`dialog`,children:[(0,S.jsxs)(`header`,{children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`span`,{children:e===`pt-BR`?`Documentação local`:`Local documentation`}),(0,S.jsx)(`h2`,{children:e===`pt-BR`?`Ajuda e guides do framework`:`Framework help and guides`})]}),(0,S.jsx)(`button`,{"aria-label":e===`pt-BR`?`Fechar ajuda`:`Close help`,onClick:t,type:`button`,children:`×`})]}),(0,S.jsxs)(`div`,{className:`dashboard-help-layout`,children:[(0,S.jsxs)(`nav`,{"aria-label":e===`pt-BR`?`Documentos de ajuda`:`Help documents`,children:[(0,S.jsx)(`strong`,{children:e===`pt-BR`?`Visão geral`:`Overview`}),(0,S.jsx)(`button`,{className:a===`readme`?`is-active`:void 0,onClick:()=>o(`readme`),type:`button`,children:`README · ZAIP-AIOS`}),(0,S.jsx)(`strong`,{children:e===`pt-BR`?`Aprofundar no framework`:`Framework guides`}),i.map(e=>(0,S.jsx)(`button`,{className:a===e.id?`is-active`:void 0,onClick:()=>o(e.id),type:`button`,children:e.title},e.id))]}),(0,S.jsxs)(`article`,{children:[(0,S.jsxs)(`div`,{className:`dashboard-help-document-header`,children:[(0,S.jsx)(`h3`,{children:l?.title}),(0,S.jsxs)(`fieldset`,{"aria-label":e===`pt-BR`?`Visualização do documento`:`Document view`,children:[(0,S.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,S.jsx)(`button`,{"aria-pressed":s===`source`,className:s===`source`?`is-active`:void 0,onClick:()=>c(`source`),type:`button`,children:`Markdown`})]})]}),(0,S.jsx)(`div`,{className:`dashboard-help-sections`,children:M(l?.content??``,e).map(e=>(0,S.jsxs)(`section`,{children:[(0,S.jsx)(`h4`,{children:e.title}),s===`rendered`?(0,S.jsx)(T,{content:e.content}):(0,S.jsx)(`pre`,{children:e.content})]},e.title))})]})]})]})})}function T({content:e}){return j(E(e),A).map(({key:e,value:t})=>t.kind===`table`?(0,S.jsx)(`div`,{className:`dashboard-help-table-scroll`,children:(0,S.jsxs)(`table`,{children:[(0,S.jsx)(`thead`,{children:(0,S.jsx)(`tr`,{children:j(t.headers,e=>e).map(({key:e,value:t})=>(0,S.jsx)(`th`,{children:k(t)},e))})}),(0,S.jsx)(`tbody`,{children:j(t.rows,e=>e.join(``)).map(({key:e,value:t})=>(0,S.jsx)(`tr`,{children:j(t,e=>e).map(({key:e,value:t})=>(0,S.jsx)(`td`,{children:k(t)},e))},e))})]})},e):(0,S.jsx)(`pre`,{children:t.content},e))}function E(e){let t=e.split(`
1501
- `),n=[],r=[],i=()=>{let e=r.join(`
1502
- `).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&&D(o)){i();let r=O(a),o=[];for(e+=2;e<t.length&&t[e]?.includes(`|`);)o.push(O(t[e]??``)),e+=1;--e,n.push({kind:`table`,headers:r,rows:o});continue}r.push(a??``)}return i(),n}function D(e){return O(e).every(e=>/^:?-{3,}:?$/.test(e.replace(/\s/g,``)))}function O(e){return e.trim().replace(/^\|/,``).replace(/\|$/,``).split(`|`).map(e=>e.trim())}function k(e){return j(e.split(/(\*\*[^*]+\*\*)/g),e=>e).map(({key:e,value:t})=>t.startsWith(`**`)&&t.endsWith(`**`)?(0,S.jsx)(`strong`,{children:t.slice(2,-2)},e):(0,S.jsx)(b.Fragment,{children:t},e))}function A(e){return e.kind===`text`?`text:${e.content}`:`table:${e.headers.join(``)}:${e.rows.map(e=>e.join(``)).join(``)}`}function j(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 M(e,t){return e.split(/\n(?=##?\s)/).filter(Boolean).map((e,n)=>{let r=e.trim().split(`
1503
- `),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(`
1504
- `).trim():r.join(`
1505
- `).trim()}})}export{w as DashboardHelpDialog};