@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,11 +1,11 @@
1
1
  b146bd0c7c60b1ab43c4f71e0b1d2262c6df6da6f7053a0425f834ccb77a6b48 LICENSE
2
2
  bc02cba77e8d51e5c580f43668863dc868eda66f1ff663bfaa49fcf3ca16320e THIRD_PARTY_NOTICES.md
3
- 326dd5d8641f399990de42def50ac29eb4c9222601c0a0a3fc3c947dd3bec65d VERSION
4
- 18dfb11e9ead5ef64ed7da673ec4495e89191b3bf688a762f95b5c481780dd4c bin/zaip.mjs
5
- 8494e48216496928938b8fbb81c257e8d3fab28eb7a67efda179a21a3767c56c manifest.json
3
+ 64d23f858ef51b0f996e4966d4e27c0371b437e2d2787890b1f7ad22d4ec5663 VERSION
4
+ 1e9e3713401dbc4f58f4411a3ff426fe1527c911afe6156a38f9dec18a89f85a bin/zaip.mjs
5
+ bed6ab1fda844209edc628c2a675021ad6acb9a2f7ecb7ae017b5a916712da24 manifest.json
6
6
  7f89219d7c567c82a51679ad136d84364bded7ac659492537e125d33b1d58a7a migrations/001-layout-v1.json
7
7
  5f8c48b286d0b44d8fbb57a9a5d009a8a500439aa3148d750b8f193f72995c9f migrations/002-layout-v2.json
8
- 98651b1f2883420c624f8d23d05f8de5f2e7cc2d7a21ddce52a30b73966a97bb pnpm-lock.sha256
9
- 39557a18fa909aab8290cd9812bde0963b76b214f0a361bebaa4804d73f9eb43 provenance.json
10
- d584b6c4499773b200b0ab5e65f757a51699814614a5cab27c1b34fc604b95fa sbom.cdx.json
8
+ 182a587dca8080f732cb387dbdeff4c12034a4a116efe35b4cd3c1c0a21ad10b pnpm-lock.sha256
9
+ d2563419aaec124d758f6ff97619ec362eb2b8fd6ea43e0bc50eafe0fbebf97e provenance.json
10
+ b64130fccf5d6a3a0b33a15efb1ebf1ba8969342da26f4e77d410ed66af60b82 sbom.cdx.json
11
11
  b3ffedf9e146be802a15b4009f33e031dec3071ca1525e12c67606fd964a3067 schemas/contracts.schema.json
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "name": "zaip-aios",
4
- "version": "1.0.8",
4
+ "version": "1.3.0",
5
5
  "node": ">=22",
6
6
  "files": [
7
7
  "LICENSE",
@@ -1 +1 @@
1
- 457d23f9f21aba035f07125d08499bd5476426bf617d1c668e0b412761fb7cc9 pnpm-lock.yaml
1
+ 382ebb27a2a951eb61280171c27116233762370d9093ab516caef216475ba4fc pnpm-lock.yaml
@@ -2,10 +2,10 @@
2
2
  "schema_version": 1,
3
3
  "statement_type": "self_reported_build_integrity",
4
4
  "authenticity": "unverified",
5
- "version": "1.0.8",
5
+ "version": "1.3.0",
6
6
  "source_origin": "zaip-aios:local-build",
7
- "lockfile_sha256": "457d23f9f21aba035f07125d08499bd5476426bf617d1c668e0b412761fb7cc9",
8
- "sbom_sha256": "d584b6c4499773b200b0ab5e65f757a51699814614a5cab27c1b34fc604b95fa",
9
- "runtime_sha256": "bbc0e89fd10c9d00bf972c76a9f50452e4aa459314e7613516cc33de553a0f27",
10
- "statement_sha256": "eb4fb62b34020f90afc6312705f5d20b1c8bc915df9d00ca9ba496817772b879"
7
+ "lockfile_sha256": "382ebb27a2a951eb61280171c27116233762370d9093ab516caef216475ba4fc",
8
+ "sbom_sha256": "b64130fccf5d6a3a0b33a15efb1ebf1ba8969342da26f4e77d410ed66af60b82",
9
+ "runtime_sha256": "bbcdb68da07ece9966046e2d6ce1b54c5218d1318074c65e2de966b8280c02a4",
10
+ "statement_sha256": "391a666ed4dbc4ce18b481773a40a338bb3298e0bd503e75a0bfc4dea30f6e9c"
11
11
  }
@@ -6,7 +6,7 @@
6
6
  "component": {
7
7
  "type": "application",
8
8
  "name": "zaip-aios",
9
- "version": "1.0.8"
9
+ "version": "1.3.0"
10
10
  }
11
11
  },
12
12
  "components": [
@@ -4951,8 +4951,8 @@
4951
4951
  {
4952
4952
  "type": "library",
4953
4953
  "name": " nanoid",
4954
- "version": "3.3.17",
4955
- "purl": "pkg:npm/%20nanoid@3.3.17"
4954
+ "version": "3.3.18",
4955
+ "purl": "pkg:npm/%20nanoid@3.3.18"
4956
4956
  },
4957
4957
  {
4958
4958
  "type": "library",
@@ -0,0 +1,32 @@
1
+ # Playbook de Sales — Zaip
2
+
3
+ **Status:** draft interno
4
+ **Oferta:** IA comercial para WhatsApp com processo, CRM e fechamento inteligente.
5
+
6
+ ## ICP inicial
7
+
8
+ PMEs prestadoras de serviço com pelo menos um vendedor, leads recorrentes e necessidade de converter melhor o tráfego já adquirido. Canal parceiro: agências e consultores próximos da operação comercial do cliente.
9
+
10
+ ## Descoberta
11
+
12
+ Objetivo: entender origem dos leads, velocidade de resposta, processo atual, gargalos, CRM, volume, ticket, decisão e próximo passo.
13
+
14
+ Perguntas essenciais:
15
+
16
+ - Onde os leads se perdem hoje?
17
+ - Quanto tempo a equipe leva para responder?
18
+ - Como qualificam, acompanham e registram oportunidades?
19
+ - Qual etapa comercial mais trava?
20
+ - Quando um humano precisa assumir a conversa?
21
+
22
+ ## Narrativa de valor
23
+
24
+ A Zaip não é chatbot ou FAQ automático: ela segue o processo comercial, recupera conversas, atualiza o CRM e conduz o lead até pagamento, agendamento ou handoff humano.
25
+
26
+ ## Prova
27
+
28
+ Usar o case Moradigna como resultado contextualizado — até 11x de ROI no primeiro mês em operação real — sem apresentar como garantia.
29
+
30
+ ## Handoff
31
+
32
+ Registrar problema, contexto, etapa, decisor, necessidade, timing e próximo compromisso no CRM antes de transferir para closer, implantação ou suporte.
@@ -0,0 +1,252 @@
1
+ # Roteiro comercial da ZAIP
2
+
3
+ > **Uso interno.** Este roteiro organiza a conversa comercial; ele não autoriza promessa de resultado, desconto, proposta, contrato ou condição comercial. Preencha os campos entre colchetes somente com informações confirmadas e aprovadas.
4
+
5
+ ## Configuração antes do contato
6
+
7
+ | Campo | Preencher antes da conversa |
8
+ | --- | --- |
9
+ | Oferta | `[oferta ZAIP aprovada]` |
10
+ | ICP e persona | `[segmento, porte, cargo]` |
11
+ | Origem | `[inbound/outbound/parceiro/evento]` |
12
+ | Hipótese inicial | `[problema a explorar, sem presumir que existe]` |
13
+ | Prova autorizada | `[demo, case, documentação ou evidência aprovada]` |
14
+ | Escopo/preço aprovado | `[se aplicável; não inventar]` |
15
+ | Participantes esperados | `[prospect, decisor, técnico, closer]` |
16
+ | Awareness observado | `[desconhecido / problema / solução / produto; registrar fonte]` |
17
+ | Limites de compliance e autoridade | `[limites conhecidos; escalar lacunas]` |
18
+
19
+ **Regra de evidência:** cada campo do CRM deve registrar `confirmado`, `desconhecido` ou `não aplicável`, além da fonte (pessoa/documento) e da data. Uma hipótese do SDR não vira fato, urgência, budget, autoridade ou prova.
20
+
21
+ ## Etapa 1 — ligação SDR de pré-qualificação (10 minutos)
22
+
23
+ **Objetivo:** confirmar contexto, dor ou oportunidade, prioridade, contato adequado e permissão para uma conversa de diagnóstico.
24
+ **Dono:** SDR.
25
+ **Saída:** reunião de 60 minutos agendada; nurture; ou not-qualified.
26
+
27
+ ### Agenda de tempo
28
+
29
+ | Tempo | Objetivo |
30
+ | --- | --- |
31
+ | 0–1 min | Permissão e contexto |
32
+ | 1–3 min | Papel, empresa e cenário atual |
33
+ | 3–7 min | Problema, impacto e prioridade |
34
+ | 7–9 min | Processo decisório e próximo passo |
35
+ | 9–10 min | Recapitulação e encaminhamento |
36
+
37
+ ### Script literal
38
+
39
+ #### 0–1 min — abertura
40
+
41
+ > “Oi, [Nome], tudo bem? Aqui é [Seu nome], da ZAIP. Você teve contato com a gente por [origem]. Ainda é um bom momento para conversarmos por até 10 minutos?”
42
+
43
+ > “Quero entender rapidamente o contexto de vocês e verificar se uma conversa mais aprofundada faz sentido. Se não fizer, eu serei transparente e não vamos forçar um próximo passo. Tudo bem?”
44
+
45
+ #### 1–3 min — situação
46
+
47
+ > “Para eu não partir de suposições: qual é sua função e quais áreas ou resultados você influencia?”
48
+
49
+ > “Como vocês lidam hoje com [tema ligado à oferta]?”
50
+
51
+ > “O que fez você considerar este assunto agora?”
52
+
53
+ #### 3–7 min — problema, impacto e valor
54
+
55
+ > “Há alguma dificuldade ou oportunidade específica que vocês querem resolver nesse processo?”
56
+
57
+ > “Quando isso acontece, o que muda na operação, no time ou nas decisões?”
58
+
59
+ > “Essa é uma prioridade imediata, para este trimestre, ou ainda estão explorando possibilidades?”
60
+
61
+ > “Se encontrassem uma solução adequada, o que precisaria melhorar para ela valer a atenção de vocês?”
62
+
63
+ #### 7–9 min — decisão e qualificação
64
+
65
+ > “Além de você, quem normalmente participa da avaliação de uma solução como essa?”
66
+
67
+ > “Como costuma funcionar a decisão: critérios, validações e próximos responsáveis?”
68
+
69
+ > “Existe alguma data, iniciativa ou marco interno que influencie o timing?”
70
+
71
+ > “Vocês já têm orçamento ou uma faixa definida para esse tipo de iniciativa? Se ainda não houver, sem problema; registro como algo a validar.”
72
+
73
+ #### 9–10 min — recapitulação e CTA
74
+
75
+ > “Deixe-me confirmar se entendi: vocês estão olhando para [dor/oportunidade confirmada], que hoje afeta [impacto confirmado], e a prioridade é [timing confirmado]. Está correto?”
76
+
77
+ > “Pelo que você trouxe, faz sentido uma reunião de 60 minutos com [closer/especialista] para aprofundarmos o cenário e verificarmos aderência da ZAIP. Vale agendar com [participantes necessários]?”
78
+
79
+ > “Para essa próxima conversa render, há alguma informação ou pessoa que seria importante incluir?”
80
+
81
+ ### Registro obrigatório no CRM
82
+
83
+ | Campo | Estado possível |
84
+ | --- | --- |
85
+ | Empresa, cargo, área e origem | Confirmado / desconhecido |
86
+ | Situação atual | Fato relatado |
87
+ | Problema e impacto | Confirmado / desconhecido |
88
+ | Need (necessidade) | Confirmado / desconhecido / não aplicável |
89
+ | Authority (autoridade) | Confirmado / desconhecido / não aplicável |
90
+ | Budget (orçamento) | Confirmado / desconhecido / não aplicável |
91
+ | Timing | Confirmado / desconhecido / não aplicável |
92
+ | Próximo passo | Data, dono e participantes |
93
+
94
+ ### Banco de perguntas SPIN (usar de forma adaptativa)
95
+
96
+ Escolha as perguntas necessárias ao contexto; não siga esta lista como interrogatório e não repita algo já confirmado.
97
+
98
+ | Campo | Perguntas possíveis | Evidência a registrar |
99
+ | --- | --- | --- |
100
+ | **S — Situation** | “Como isso é tratado hoje?” / “Qual área participa?” | Contexto, processo e participantes relatados |
101
+ | **P — Problem** | “Onde há dificuldade ou oportunidade?” | Problema declarado, ou ausência de problema aplicável |
102
+ | **I — Implication** | “Quando isso ocorre, o que muda para o time ou operação?” | Consequência relatada; não inferir perda, risco ou urgência |
103
+ | **N — Need-payoff** | “O que precisaria melhorar para valer uma análise?” | Critério de valor descrito pelo prospect |
104
+
105
+ ### Gate BANT para encaminhar ao closer
106
+
107
+ | Campo | Evidência mínima | Se não confirmado |
108
+ | --- | --- | --- |
109
+ | **Budget** | Faixa, processo ou condição de orçamento relatada | Registrar `desconhecido`; não pressionar nem estimar |
110
+ | **Authority** | Papel do contato e participantes/decisores conhecidos | Pedir inclusão da pessoa adequada na próxima reunião |
111
+ | **Need** | Dor, oportunidade ou critério de melhoria relatado | Seguir em exploração, nurture ou not-qualified conforme contexto |
112
+ | **Timing** | Marco, prioridade ou janela relatada | Registrar `desconhecido`; não criar urgência artificial |
113
+
114
+ ### Rotas de saída
115
+
116
+ - **Qualificado:** contexto, necessidade ou oportunidade, prioridade e contato adequado confirmados; reunião aceita.
117
+ - **Nurture:** tema relevante, mas sem prioridade ou timing atual.
118
+ - **Not-qualified:** ausência de aderência, ausência de problema aplicável ou recusa clara em avançar.
119
+ - **Lacuna de dados:** informação ainda não confirmada; não inferir interesse, orçamento ou autoridade.
120
+
121
+ **SLA de encaminhamento:** o SDR registra o handoff no CRM antes do convite ou, se a agenda já foi aceita, até o fim do mesmo dia útil. O closer confirma o recebimento e eventuais lacunas antes da reunião; não presume informações ausentes.
122
+
123
+ ---
124
+
125
+ ## Etapa 2 — reunião de diagnóstico e fechamento (60 minutos)
126
+
127
+ **Objetivo:** aprofundar o diagnóstico, validar fit, conectar a ZAIP somente às necessidades confirmadas, tratar objeções e acordar um próximo passo autorizado.
128
+ **Dono:** closer/AE, com SDR responsável pelo handoff completo.
129
+ **Saída:** próxima ação acordada; proposta apenas pelo fluxo aprovado; nurture, no-decision ou encerramento.
130
+
131
+ ### Agenda de tempo
132
+
133
+ | Tempo | Objetivo |
134
+ | --- | --- |
135
+ | 0–5 min | Alinhar participantes, objetivo e agenda |
136
+ | 5–25 min | Diagnóstico de contexto, dor, impacto e prioridade |
137
+ | 25–35 min | Confirmar problema, critérios e processo de decisão |
138
+ | 35–45 min | Apresentar a ZAIP ligada às dores confirmadas |
139
+ | 45–52 min | Tratar dúvidas e objeções |
140
+ | 52–60 min | Definir próximo passo ou saída honesta |
141
+
142
+ **Entrada obrigatória:** handoff do SDR disponível no CRM, com fonte e estado dos campos conhecidos. Se ele não existir, o closer usa os primeiros minutos para preencher as lacunas, sem alegar que elas foram confirmadas previamente.
143
+
144
+ ### Script literal
145
+
146
+ #### 0–5 min — abertura e contrato de conversa
147
+
148
+ > “Obrigado pelo tempo. Minha proposta para esta reunião é entender o cenário de vocês, confirmar se existe aderência real e mostrar somente o que for relevante da ZAIP. No final, decidimos juntos se vale avançar, manter em acompanhamento ou encerrar por aqui. Faz sentido?”
149
+
150
+ > “Antes de começarmos: quem participa hoje, qual é o papel de cada pessoa e o que faria esta reunião valer a pena para vocês?”
151
+
152
+ #### 5–25 min — diagnóstico
153
+
154
+ > “Como funciona hoje [processo/tema] do início ao fim?”
155
+
156
+ > “O que motivou vocês a olhar para isso neste momento?”
157
+
158
+ > “Onde o processo tende a travar, gerar retrabalho ou exigir mais esforço?”
159
+
160
+ > “Quais consequências práticas isso traz para a equipe, a operação ou a tomada de decisão?”
161
+
162
+ > “Como vocês saberiam que a situação melhorou? Que critérios uma solução precisaria atender?”
163
+
164
+ > “Que alternativas já usam ou já avaliaram?”
165
+
166
+ > “Há uma data, projeto ou prioridade interna que define a decisão?”
167
+
168
+ #### 25–35 min — alinhamento
169
+
170
+ > “Quero checar se compreendi corretamente: hoje vocês enfrentam [dores confirmadas], isso afeta [impactos confirmados], e uma solução precisa atender [critérios confirmados]. O que eu ajustaria?”
171
+
172
+ > “Quem precisa estar confortável com essa decisão e como a avaliação costuma acontecer?”
173
+
174
+ > “O que ainda não conversamos que seria essencial antes de vocês considerarem uma mudança?”
175
+
176
+ #### 35–45 min — apresentação direcionada da ZAIP
177
+
178
+ > “Com base no que vocês confirmaram, vou mostrar apenas as partes da ZAIP que se conectam a esse cenário.”
179
+
180
+ Para cada capacidade, use este formato:
181
+
182
+ > “Para a necessidade de [dor confirmada], a ZAIP oferece [capacidade aprovada]. Na prática, isso se aplicaria a [fluxo aderente].”
183
+
184
+ > “O ponto que ainda precisamos validar é [integração, escopo, requisito ou dependência]. Não vou assumir que está resolvido antes dessa confirmação.”
185
+
186
+ Apresente somente demonstrações, casos, métricas, integrações e materiais aprovados.
187
+
188
+ Antes de demonstrar, valide o nível de awareness sem supor: para quem ainda explora o tema, use contexto e hipótese aberta; para quem já compara soluções, alinhe critérios; para quem avalia a ZAIP, confirme fit e lacunas. A chamada à ação continua sendo apenas o próximo passo permitido.
189
+
190
+ #### 45–52 min — objeções
191
+
192
+ > “Antes de falarmos de próximos passos, o que ainda impediria vocês de considerar essa solução viável?”
193
+
194
+ > “Existe alguma preocupação sobre implementação, adoção, integração, segurança ou escopo?”
195
+
196
+ > “O que precisaria estar claro para avançarmos com segurança?”
197
+
198
+ Resposta-base:
199
+
200
+ > “Faz sentido levantar esse ponto. O que consigo confirmar hoje é [fato autorizado]. O que exigir validação ficará registrado como próximo passo, com responsável e prazo.”
201
+
202
+ #### 52–60 min — fechamento
203
+
204
+ Se houver fit e interesse:
205
+
206
+ > “Pelo que validamos, existe aderência em [itens confirmados]. O próximo passo recomendado é [demonstração técnica, discovery adicional ou proposta aprovada], com [participantes]. Podemos combinar isso para [data]?”
207
+
208
+ Se houver pedido de preço:
209
+
210
+ > “Posso apresentar preço e escopo somente dentro de uma proposta aprovada para o cenário de vocês. Antes, preciso confirmar [variáveis reais de escopo].”
211
+
212
+ Se ainda não houver decisão:
213
+
214
+ > “Parece que faltam [itens]. Em vez de forçar um avanço, vamos registrar isso e definir [próxima ação] até [data].”
215
+
216
+ Se não houver fit:
217
+
218
+ > “Pelo que entendemos, a ZAIP não parece ser a melhor resposta para [motivo confirmado]. Prefiro ser transparente e encerrar esta oportunidade por agora. Posso manter contato caso o contexto mude?”
219
+
220
+ ## Handoff SDR → closer
221
+
222
+ O SDR deve enviar antes da reunião:
223
+
224
+ - contexto e origem do lead;
225
+ - fatos confirmados sobre situação, problema, impacto e timing;
226
+ - participantes e processo decisório conhecidos;
227
+ - BANT com cada campo marcado como confirmado, desconhecido ou não aplicável;
228
+ - objeções iniciais, lacunas e microcompromisso assumido;
229
+ - convite, data e objetivo da reunião.
230
+
231
+ ### Contrato de aceite do closer
232
+
233
+ O closer aceita a oportunidade quando há origem, contexto mínimo, motivo da reunião, próximo passo aceito e campos BANT com seus estados explícitos. Não exige que todos os campos estejam confirmados: lacunas são parte do plano de descoberta. Se faltar contexto mínimo, devolve ao SDR com a pergunta necessária ou reabre a descoberta na reunião, registrando o motivo.
234
+
235
+ O closer devolve ao CRM o resultado da reunião, fatos confirmados, lacunas, objeções, próximos passos, responsável, data e rota final. A devolução ocorre até o fim do mesmo dia útil após a reunião.
236
+
237
+ ### Rotas após a reunião do closer
238
+
239
+ | Rota | Condição observada | Ação e registro |
240
+ | --- | --- | --- |
241
+ | **Próximo passo autorizado** | Fit e microcompromisso confirmados | Registrar ação, dono, data, participantes e pré-requisitos; proposta só no fluxo aprovado |
242
+ | **Nurture** | Relevância reconhecida, sem prioridade ou timing atual | Registrar motivo, gatilho de retorno e responsável; não fabricar data de compra |
243
+ | **No-decision** | Não há decisão, patrocinador ou passo concreto no momento | Registrar a lacuna e o critério para retomar; não tratar como proposta em andamento |
244
+ | **Encerramento / not-qualified** | Sem aderência, necessidade aplicável ou interesse em avançar | Registrar motivo factual e encerrar respeitosamente |
245
+
246
+ ## Checklist rápido de qualidade
247
+
248
+ - A conversa usou perguntas e fatos confirmados, sem pressionar ou criar urgência artificial.
249
+ - O SDR vendeu somente a próxima conversa; o closer acordou somente um próximo passo autorizado.
250
+ - Nenhum preço, ROI, desconto, case ou claim foi inventado.
251
+ - BANT foi registrado como evidência ou lacuna, não como instrumento de pressão.
252
+ - Toda oportunidade teve uma saída explícita e um registro no CRM.
@@ -1,9 +1,18 @@
1
1
  import assert from "node:assert/strict";
2
2
  import { spawnSync } from "node:child_process";
3
- import { mkdir, mkdtemp, readFile, writeFile } from "node:fs/promises";
3
+ import { access, mkdir, mkdtemp, readFile, writeFile } from "node:fs/promises";
4
4
  import { tmpdir } from "node:os";
5
5
  import { resolve } from "node:path";
6
6
 
7
+ async function exists(path) {
8
+ try {
9
+ await access(path);
10
+ return true;
11
+ } catch {
12
+ return false;
13
+ }
14
+ }
15
+
7
16
  const root = await mkdtemp(resolve(tmpdir(), "zaip-obsidian-test-"));
8
17
  const records = resolve(root, ".agents/records/lifecycle");
9
18
  await mkdir(records, { recursive: true });
@@ -111,22 +120,17 @@ for (const [kind, folder] of [
111
120
  assert.match(css, new RegExp(`data-path="${folder}"`));
112
121
  assert.match(index, new RegExp(`zaip-kind-${kind}`));
113
122
  }
114
- assert.equal(
115
- await readFile(
116
- resolve(
117
- process.cwd(),
118
- ".agents/skills/criar-pasta-obsidian/scripts/generate-obsidian-vault.mjs",
119
- ),
120
- "utf8",
121
- ),
122
- await readFile(
123
- resolve(
124
- process.cwd(),
125
- "public-cli/packages/cli/templates/.agents/skills/criar-pasta-obsidian/scripts/generate-obsidian-vault.mjs",
126
- ),
127
- "utf8",
128
- ),
123
+ const sourceScript = resolve(
124
+ process.cwd(),
125
+ ".agents/skills/criar-pasta-obsidian/scripts/generate-obsidian-vault.mjs",
129
126
  );
127
+ const templateScript = resolve(
128
+ process.cwd(),
129
+ "public-cli/packages/cli/templates/.agents/skills/criar-pasta-obsidian/scripts/generate-obsidian-vault.mjs",
130
+ );
131
+ if ((await exists(sourceScript)) && (await exists(templateScript))) {
132
+ assert.equal(await readFile(sourceScript, "utf8"), await readFile(templateScript, "utf8"));
133
+ }
130
134
  assert.match(await readFile(resolve(vault, "PRDs/PRD-1.md"), "utf8"), /PRD summary/);
131
135
 
132
136
  const evidence = await readFile(resolve(vault, "Evidence/EVD-1.md"), "utf8");
@@ -1,5 +1,5 @@
1
1
  ---
2
- # zaip-managed generated-do-not-edit source=discovery-skill version=1.0.8 sha256=72e09e90f33f9ed2543daf8dfc09ee5b10fca74d7fa077db030b8b048301d806
2
+ # zaip-managed generated-do-not-edit source=discovery-skill version=1.3.0 sha256=72e09e90f33f9ed2543daf8dfc09ee5b10fca74d7fa077db030b8b048301d806
3
3
  name: zaip-aios
4
4
  description: Discover and apply the repository-local ZAIP-AIOS framework.
5
5
  ---
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: zaip-skill-agent-catalog
3
+ description: Create or change ZAIP agent catalog entries, capabilities, scopes, eligibility, and skill bindings while preserving adapter and distribution parity.
4
+ ---
5
+
6
+ # Maintain the agent catalog
7
+
8
+ Use when an agent identity or its operational contract changes.
9
+
10
+ 1. Inventory the intended capability, least-privilege write scope, execution
11
+ eligibility, tools, model policy, and escalation boundary before editing.
12
+ 2. Use only cataloged `codex_name` and `codex_task_name` values. Do not add ad-hoc
13
+ identities, task labels, or a mandatory dependency on a non-distributed skill.
14
+ 3. Bind each delivery specialty to its matching local ZAIP skill and keep `change`
15
+ evidence support where delivery is allowed.
16
+ 4. Validate YAML, catalog-to-skill references, specialist routing, and generated
17
+ Codex/Claude adapters. Update framework lock and public template only for framework
18
+ source changes.
19
+ 5. Report routing behavior and compatibility impact. Catalog maintenance does not
20
+ authorize a delivery, deployment, or approval of the agent's own work.
21
+
22
+ For a new skill, use `$zaip-skill-author-skills` first.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "ZAIP Agent Catalog"
3
+ short_description: "Maintain agent roles, skills, scopes, and adapter parity."
4
+ default_prompt: "Use $zaip-skill-agent-catalog to create or update this ZAIP agent catalog entry and validate its skill, scope, routing, and adapter bindings."
@@ -15,7 +15,8 @@ description: Create and audit portable ZAIP skills, triggers, resources, and rel
15
15
  6. No frontmatter aceite somente `name` e `description`. A descrição deve dizer o que faz e quando dispara.
16
16
  7. Mantenha o corpo operacional e curto. Coloque schemas/exemplos extensos em `references/`, scripts determinísticos em `scripts/` e assets somente quando reutilizáveis.
17
17
  8. Gere metadata com nome legível, descrição curta específica e prompt que mencione `$nome-da-skill`; evite prompts genéricos.
18
- 9. Valide links relativos, encoding UTF-8, placeholders, tamanho, políticas de invocação, triggers sobrepostos e comandos citados.
19
- 10. No framework source, rode `pnpm sync:framework-lock`, validação, testes relevantes, sync do template público, build e parity; no consumer, rode somente validação da skill, `zaip doctor` e adapters aplicáveis.
18
+ 9. Rode `scripts/audit-skill-catalog.mjs` para validar referências do catálogo, bindings obrigatórios, comandos conhecidos e contratos técnicos que não podem ser duplicados em documentação; rode `scripts/run-skill-tests.mjs` para executar todos os testes de skills descobertos.
19
+ 10. Valide links relativos, encoding UTF-8, placeholders, tamanho, políticas de invocação, triggers sobrepostos e comandos citados.
20
+ 11. No framework source, rode `pnpm sync:framework-lock`, validação, testes relevantes, sync do template público, build e parity; no consumer, rode somente validação da skill, `zaip doctor` e adapters aplicáveis.
20
21
 
21
22
  Não copie paths pessoais, portas, credenciais, integrações específicas do projeto ou runners inexistentes para uma skill core.
@@ -0,0 +1,49 @@
1
+ import { readdir, readFile } from "node:fs/promises";
2
+ import { resolve } from "node:path";
3
+ import { parseDocument } from "yaml";
4
+
5
+ const root = resolve(import.meta.dirname, "..", "..", "..", "..");
6
+ const skillsRoot = resolve(root, ".agents/skills");
7
+ const skillDirectories = (await readdir(skillsRoot, { withFileTypes: true }))
8
+ .filter((entry) => entry.isDirectory())
9
+ .map((entry) => entry.name);
10
+ const knownSkills = new Set(skillDirectories);
11
+ const errors = [];
12
+ const catalog = parseYaml(
13
+ await readFile(resolve(root, ".agents/config/agents/catalog.yaml"), "utf8"),
14
+ );
15
+
16
+ for (const agent of catalog.agents ?? []) {
17
+ for (const skill of agent.skills ?? []) {
18
+ if (!knownSkills.has(skill)) errors.push(`${agent.id}: references unavailable skill ${skill}`);
19
+ }
20
+ }
21
+ for (const [agentId, requiredSkill] of [
22
+ ["agent-frontend", "zaip-skill-frontend"],
23
+ ["agent-backend", "zaip-skill-backend"],
24
+ ["agent-designer", "zaip-skill-design-system"],
25
+ ]) {
26
+ const agent = (catalog.agents ?? []).find((entry) => entry.id === agentId);
27
+ if (!agent?.skills?.includes(requiredSkill))
28
+ errors.push(`${agentId}: must load ${requiredSkill}`);
29
+ }
30
+ const rulesSource = await readFile(resolve(skillsRoot, "zaip-skill-rules/SKILL.md"), "utf8");
31
+ if (/\bcontext validate\b/i.test(rulesSource))
32
+ errors.push("zaip-skill-rules: cites unavailable context validate command");
33
+ const sqliteSource = await readFile(
34
+ resolve(skillsRoot, "zaip-skill-sqlite-read-model/SKILL.md"),
35
+ "utf8",
36
+ );
37
+ if (/schema version \d+|schema \d+|requiredIndexCount|exactly these tables/i.test(sqliteSource))
38
+ errors.push("zaip-skill-sqlite-read-model: duplicates volatile runtime schema contract");
39
+
40
+ if (errors.length > 0) throw new Error(`Skill catalog audit failed:\n${errors.join("\n")}`);
41
+ process.stdout.write(
42
+ `Audited ${skillDirectories.length} skills and ${(catalog.agents ?? []).length} agents.\n`,
43
+ );
44
+
45
+ function parseYaml(source) {
46
+ const document = parseDocument(source, { strict: true, uniqueKeys: true });
47
+ if (document.errors.length > 0) throw new Error(document.errors.map(String).join("\n"));
48
+ return document.toJS();
49
+ }
@@ -0,0 +1,27 @@
1
+ import assert from "node:assert/strict";
2
+ import { execFile } from "node:child_process";
3
+ import { resolve } from "node:path";
4
+ import test from "node:test";
5
+ import { promisify } from "node:util";
6
+
7
+ const run = promisify(execFile);
8
+ const root = resolve(import.meta.dirname, "..", "..", "..", "..");
9
+ const scripts = resolve(root, ".agents/skills/zaip-skill-author-skills/scripts");
10
+
11
+ test("skill test discovery lists every checked-in skill test without executing recursively", async () => {
12
+ const { stdout } = await run(
13
+ process.execPath,
14
+ [resolve(scripts, "run-skill-tests.mjs"), "--list"],
15
+ { cwd: root },
16
+ );
17
+ assert.match(stdout, /author-skill-scripts\.test\.mjs/);
18
+ assert.match(stdout, /github-deploy-contract\.test\.mjs/);
19
+ assert.match(stdout, /refactor-scripts\.test\.mjs/);
20
+ });
21
+
22
+ test("skill catalog audit validates the checked-in catalog and technical contracts", async () => {
23
+ const { stdout } = await run(process.execPath, [resolve(scripts, "audit-skill-catalog.mjs")], {
24
+ cwd: root,
25
+ });
26
+ assert.match(stdout, /Audited \d+ skills and \d+ agents/);
27
+ });
@@ -0,0 +1,37 @@
1
+ import { spawn } from "node:child_process";
2
+ import { readdir } from "node:fs/promises";
3
+ import { resolve } from "node:path";
4
+
5
+ const skillsRoot = resolve(import.meta.dirname, "..", "..");
6
+ const tests = (await files(skillsRoot))
7
+ .filter((path) => /(?:^|[\\/])[^\\/]+\.(?:test|tests)\.(?:mjs|cjs|js)$/i.test(path))
8
+ .sort();
9
+
10
+ if (tests.length === 0) {
11
+ process.stdout.write("No ZAIP skill tests found.\n");
12
+ process.exit(0);
13
+ }
14
+
15
+ if (process.argv.includes("--list")) {
16
+ process.stdout.write(`${tests.join("\n")}\n`);
17
+ process.exit(0);
18
+ }
19
+
20
+ await new Promise((resolveRun, reject) => {
21
+ const child = spawn(process.execPath, ["--test", ...tests], { stdio: "inherit" });
22
+ child.once("error", reject);
23
+ child.once("exit", (code) =>
24
+ code === 0 ? resolveRun() : reject(new Error(`Skill tests failed (${code})`)),
25
+ );
26
+ });
27
+
28
+ async function files(directory) {
29
+ const entries = await readdir(directory, { withFileTypes: true });
30
+ const nested = await Promise.all(
31
+ entries.map(async (entry) => {
32
+ const path = resolve(directory, entry.name);
33
+ return entry.isDirectory() ? files(path) : entry.isFile() ? [path] : [];
34
+ }),
35
+ );
36
+ return nested.flat();
37
+ }
@@ -8,3 +8,4 @@ description: Implement backend APIs, persistence, and integration boundaries ins
8
8
  1. Confirmar contrato de entrada e saída, limites de persistência e dependências antes da alteração.
9
9
  2. Preservar a direção de dependências e manter detalhes de infraestrutura atrás da fronteira do módulo.
10
10
  3. Aplicar arquitetura e CQRS proporcionalmente ao contrato alterado: não introduzir camadas, migrações ou gates pesados quando a mudança local não os exige. Cobrir o comportamento alterado com testes focados e registrar incompatibilidades, migrações ou riscos de integração.
11
+ 4. Aplicar [o contrato de prova observável](../zaip-skill-change/references/observable-evidence.md): metadados para estrutura/migração, fluxo autorizado e registros específicos para persistência, logs correlacionados para correções e observação direta de API/fila/cache/integração. SQL não é obrigatório quando inaplicável. Correlacionar UI e backend quando o AC exigir o fluxo completo; registrar ambiente, versão, limitações e fallback finito sem expor dados sensíveis.
@@ -5,11 +5,18 @@ description: Define and govern an evidence-backed brand platform, Brandbook, arc
5
5
 
6
6
  # Governar a marca
7
7
 
8
+ ## Localização canônica
9
+
10
+ Salve Brandbooks, plataformas de marca, decisões de identidade, arquétipos, escalas de diferencial semântico e materiais de governança em `.agents/branding/`. Todo Brandbook salvo como `.docx` deve ter, na mesma pasta e com o mesmo nome-base, uma fonte canônica `.md` com o conteúdo estratégico equivalente; mantenha os dois arquivos sincronizados a cada revisão. Use `.agents/branding/archive/` somente para versões substituídas. Não crie esses artefatos em `docs/`, na raiz do repositório ou em diretórios de outra disciplina.
11
+
12
+ O arquivo central da área é `.agents/branding/brandbook.md`; atualize-o quando a decisão afetar a plataforma de marca. A versão Word correspondente é `.agents/branding/brandbook.docx`.
13
+
8
14
  1. Delimite objetivo, públicos, contexto de negócio, fontes e autoridade de aprovação. Classifique cada afirmação como evidência, hipótese ou decisão; não apresente hipótese como fato.
9
- 2. Construa ou atualize a plataforma: cultura, propósito, posicionamento, proposta de valor, promessa, diferenciais, atributos, personalidade, arquitetura de marca e pontos de contato.
15
+ 2. Construa ou atualize a plataforma: cultura, propósito, posicionamento, proposta de valor, promessa, diferenciais, atributos, personalidade, arquitetura de marca e pontos de contato. Para Brandbooks completos, use o framework de domínios em [referências do Brandbook](references/brandbook-framework.md).
10
16
  3. Quando o trabalho incluir um Brandbook, mantenha uma fonte estratégica interna e derive uma versão externa somente com conteúdo autorizado. Preserve versão, proprietário, aprovadores, confidencialidade e histórico de decisão.
17
+ - A primeira versão oficial de um Brandbook é sempre `v1.0`; não use versões `v0.x`. Incrementos posteriores seguem versionamento semântico editorial (`v1.1`, `v1.2` para evolução aprovada; `v2.0` para mudança material de plataforma ou arquitetura).
11
18
  4. Para arquétipos, registre evidência, comportamento esperado, limites e implicações para linguagem e experiência. Se houver pesos, valide que o total é 100%; se não houver pesquisa, registre como hipótese de trabalho.
12
19
  5. Para diferencial semântico, registre dimensões, polos, escala, fonte, data, amostra e diferença entre identidade desejada e percebida. Não fabrique respostas, baseline, validação estatística ou brand equity.
13
20
  6. Encaminhe aplicação ordinária de Brandbook aprovado, campanhas, copy e ativos para Lúcia; scripts e playbooks sales-facing para Aaron; análise quantitativa para Gabi; impacto de receita/custo e RevOps para Robert; e produção operacional genérica para Clara. Um Brandbook aprovado é input, não motivo para assumir a aplicação.
14
21
 
15
- Consulte [padrões de Brandbook](references/brandbook-standards.md) ao estruturar entregáveis internos ou externos.
22
+ Consulte [padrões de Brandbook](references/brandbook-standards.md) e o [framework de domínios](references/brandbook-framework.md) ao estruturar entregáveis internos ou externos.
@@ -0,0 +1,39 @@
1
+ # Framework de domínios do Brandbook
2
+
3
+ Use este framework para um Brandbook interno. Ele organiza a estratégia; não autoriza apresentar hipóteses como fato nem copiar o conteúdo de uma referência externa.
4
+
5
+ ## Versionamento
6
+
7
+ Inicie todo Brandbook aprovado em `v1.0`. Use `v1.x` para complementos ou revisões aprovadas que preservam a plataforma e `v2.0` para uma mudança material de propósito, posicionamento ou arquitetura. Versões de trabalho internas não devem usar `v0.x`.
8
+
9
+ ## Formatos canônicos
10
+
11
+ Para cada Brandbook, mantenha obrigatoriamente uma fonte estratégica em Markdown e uma versão Word com o mesmo nome-base na pasta `.agents/branding/`; por exemplo, `Brandbook v1.0.md` e `Brandbook v1.0.docx`. Atualize ambos na mesma alteração. O Markdown é a fonte de revisão Git-native; o DOCX é a versão de leitura e apresentação.
12
+
13
+ ## Fundação
14
+
15
+ Defina propósito, porquê, visão futura, quem somos, história, proposta de valor, manifesto, crenças e DNA. Para cada domínio, registre fonte, data, proprietário e classificação: evidência, decisão ou hipótese.
16
+
17
+ ## Ecossistema
18
+
19
+ Mapeie mercado, categorias de concorrência, stakeholders, públicos, personas, parceiros, canais e marcas de inspiração. Mantenha concorrentes observados separados de percepções competitivas não pesquisadas.
20
+
21
+ ## Identidade
22
+
23
+ Registre atributos, autoimagem do público, reflexo desejado, personalidade, relação com clientes, tom de voz e prisma de identidade. O prisma deve cobrir físico, personalidade, cultura, relação, reflexo e autoimagem.
24
+
25
+ ## Arquétipos e diferencial semântico
26
+
27
+ Para arquétipos, indique dominante, apoios, pesos que totalizem 100%, motivação, comportamentos esperados, sombra, limites e implicações de linguagem e experiência. Sem pesquisa, os pesos são hipótese de trabalho.
28
+
29
+ Para diferencial semântico, use dimensões com polos claros e escala de -3 a +3, zero neutro. Registre separadamente perfil desejado, percepção interna, percepção externa e concorrentes, com fonte, data, amostra e confiança. Ausência de amostra não recebe nota.
30
+
31
+ ## Estratégia
32
+
33
+ Defina arquitetura entre: casa com marca (branded house), casa de marcas, marcas endossadas ou híbrida. Registre postura estratégica, estratégia competitiva, estratégia de posicionamento, frase de definição, promessa, lema, diferencial competitivo, vantagem injusta e experiência emocional.
34
+
35
+ Uma vantagem injusta só pode ser afirmada como fato se houver evidência de difícil replicação, valor e sustentação. Caso contrário, trate-a como hipótese ou ativo a desenvolver.
36
+
37
+ ## Publicação
38
+
39
+ A versão externa deriva somente dos domínios aprovados. Exclua dados brutos, pesquisa, projeções, justificativas confidenciais, comparativos competitivos internos e hipóteses não aprovadas.