@zaip-ai/cli 1.0.7 → 1.0.8

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 (410) hide show
  1. package/README.md +6 -4
  2. package/dist/services/adapters.d.ts +1 -1
  3. package/dist/services/adapters.d.ts.map +1 -1
  4. package/dist/services/adapters.js +15 -5
  5. package/dist/services/adapters.js.map +1 -1
  6. package/dist/services/adapters.test.js +1 -1
  7. package/dist/services/agent-adapters.d.ts +9 -0
  8. package/dist/services/agent-adapters.d.ts.map +1 -1
  9. package/dist/services/agent-adapters.js +38 -3
  10. package/dist/services/agent-adapters.js.map +1 -1
  11. package/dist/services/agent-adapters.test.js +8 -1
  12. package/dist/services/agent-adapters.test.js.map +1 -1
  13. package/dist/services/codex-config-template.d.ts +2 -1
  14. package/dist/services/codex-config-template.d.ts.map +1 -1
  15. package/dist/services/codex-config-template.js +13 -2
  16. package/dist/services/codex-config-template.js.map +1 -1
  17. package/dist/services/codex-rules.d.ts +1 -1
  18. package/dist/services/codex-rules.d.ts.map +1 -1
  19. package/dist/services/codex-rules.js +31 -7
  20. package/dist/services/codex-rules.js.map +1 -1
  21. package/dist/services/codex-subagent-hook-template.d.ts +1 -1
  22. package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
  23. package/dist/services/codex-subagent-hook-template.js +4 -1
  24. package/dist/services/codex-subagent-hook-template.js.map +1 -1
  25. package/dist/services/doctor.d.ts.map +1 -1
  26. package/dist/services/doctor.js +3 -1
  27. package/dist/services/doctor.js.map +1 -1
  28. package/dist/services/global-codex-config.d.ts +6 -3
  29. package/dist/services/global-codex-config.d.ts.map +1 -1
  30. package/dist/services/global-codex-config.js +82 -13
  31. package/dist/services/global-codex-config.js.map +1 -1
  32. package/dist/services/global-codex-config.test.js +57 -10
  33. package/dist/services/global-codex-config.test.js.map +1 -1
  34. package/dist/services/install-agents-template.d.ts.map +1 -1
  35. package/dist/services/install-agents-template.js +15 -2
  36. package/dist/services/install-agents-template.js.map +1 -1
  37. package/dist/services/logger.js +1 -1
  38. package/dist/services/logger.js.map +1 -1
  39. package/dist/services/logger.test.js +3 -3
  40. package/dist/services/logger.test.js.map +1 -1
  41. package/dist/services/runtime-template.test.js +21 -5
  42. package/dist/services/runtime-template.test.js.map +1 -1
  43. package/dist/services/template-manifest.d.ts.map +1 -1
  44. package/dist/services/template-manifest.js +2 -0
  45. package/dist/services/template-manifest.js.map +1 -1
  46. package/package.json +1 -1
  47. package/templates/.agents/config/agents/catalog.yaml +310 -10
  48. package/templates/.agents/config/clients/codex/agents/zaip-agent-brand-strategist.toml +30 -0
  49. package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +5 -5
  50. package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +1 -1
  51. package/templates/.agents/config/clients/codex/agents/zaip-agent-general-operations.toml +30 -0
  52. package/templates/.agents/config/clients/codex/agents/zaip-agent-governance-compliance.toml +30 -0
  53. package/templates/.agents/config/clients/codex/agents/zaip-agent-growth-strategist.toml +30 -0
  54. package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +8 -8
  55. package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +5 -3
  56. package/templates/.agents/config/clients/codex/agents/zaip-agent-sales-specialist.toml +30 -0
  57. package/templates/.agents/config/project.yaml +1 -1
  58. package/templates/.agents/dashboard/.zaip-managed.json +659 -163
  59. package/templates/.agents/dashboard/DATA-DICTIONARY.md +2227 -0
  60. package/templates/.agents/dashboard/README.md +48 -97
  61. package/templates/.agents/dashboard/apps/frontend/dist/assets/CostCalculationGuidePage-Z60df2r-.js +1 -0
  62. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-Cv-JcoxP.js → DashboardHelpDialog-Cs6dzDmW.js} +294 -109
  63. package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-Coc6pA-1.js +1 -0
  64. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-QE1k9yZB.css +1 -0
  65. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-_Pf5DA_A.js +3 -0
  66. package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-BVlz3DLZ.js +1 -0
  67. package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-CaKwQP43.css +1 -0
  68. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-BZ5WdaMN.css +1 -0
  69. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-Cf9ctPVt.js +68 -0
  70. package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-C98LGC-Q.js → dashboard-localization-CLJ0lT9v.js} +1 -1
  71. package/templates/.agents/dashboard/apps/frontend/dist/assets/icons-vendor-DFBuc_qp.js +1 -0
  72. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-8A4DcNXM.js +2 -0
  73. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DK_enB5Z.css +1 -0
  74. package/templates/.agents/dashboard/apps/frontend/dist/assets/react-vendor-CCQOHdVI.js +9 -0
  75. package/templates/.agents/dashboard/apps/frontend/dist/assets/rolldown-runtime-D9-fqq9M.js +1 -0
  76. package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-DFY7ZDlu.css +1 -0
  77. package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-pC2_0J8x.js +1 -0
  78. package/templates/.agents/dashboard/apps/frontend/dist/index.html +9 -2
  79. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  80. package/templates/.agents/dashboard/apps/frontend/src/App.tsx +952 -595
  81. package/templates/.agents/dashboard/apps/frontend/src/AppLoadingBoundary.tsx +48 -0
  82. package/templates/.agents/dashboard/apps/frontend/src/AppLoadingPanels.tsx +2 -0
  83. package/templates/.agents/dashboard/apps/frontend/src/AppOverlays.tsx +247 -0
  84. package/templates/.agents/dashboard/apps/frontend/src/AppRequestGuards.tsx +95 -0
  85. package/templates/.agents/dashboard/apps/frontend/src/AppSetupRoutes.tsx +87 -0
  86. package/templates/.agents/dashboard/apps/frontend/src/CostCalculationGuidePage.tsx +641 -0
  87. package/templates/.agents/dashboard/apps/frontend/src/DashboardAlternateContent.tsx +159 -0
  88. package/templates/.agents/dashboard/apps/frontend/src/DashboardCapabilityNav.tsx +13 -13
  89. package/templates/.agents/dashboard/apps/frontend/src/DashboardGlobalSettings.tsx +56 -0
  90. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +257 -313
  91. package/templates/.agents/dashboard/apps/frontend/src/ProjectStackEditor.tsx +149 -0
  92. package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.test.ts +35 -0
  93. package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.tsx +111 -12
  94. package/templates/.agents/dashboard/apps/frontend/src/app-preferences.ts +15 -0
  95. package/templates/.agents/dashboard/apps/frontend/src/app-session-token.ts +20 -0
  96. package/templates/.agents/dashboard/apps/frontend/src/cost-calculation-guide.css +267 -0
  97. package/templates/.agents/dashboard/apps/frontend/src/cost-calculation-guide.test.ts +69 -0
  98. package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +70 -0
  99. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +111 -0
  100. package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.ts +432 -13
  101. package/templates/.agents/dashboard/apps/frontend/src/dashboard-localization.ts +1 -1
  102. package/templates/.agents/dashboard/apps/frontend/src/main.tsx +1 -0
  103. package/templates/.agents/dashboard/apps/frontend/src/operations-detail-hydration.test.ts +55 -0
  104. package/templates/.agents/dashboard/apps/frontend/src/operations-detail-hydration.ts +36 -0
  105. package/templates/.agents/dashboard/apps/frontend/src/operations-entity-page-projection.test.ts +126 -0
  106. package/templates/.agents/dashboard/apps/frontend/src/operations-entity-page-projection.ts +181 -0
  107. package/templates/.agents/dashboard/apps/frontend/src/operations-period-contract.test.ts +138 -0
  108. package/templates/.agents/dashboard/apps/frontend/src/operations-period-render.test.ts +105 -0
  109. package/templates/.agents/dashboard/apps/frontend/src/operations-period.test.ts +6 -3
  110. package/templates/.agents/dashboard/apps/frontend/src/operations-period.ts +9 -5
  111. package/templates/.agents/dashboard/apps/frontend/src/overview-status-page.test.ts +24 -0
  112. package/templates/.agents/dashboard/apps/frontend/src/period-transition-overlay.css +44 -0
  113. package/templates/.agents/dashboard/apps/frontend/src/project-settings-model.ts +121 -62
  114. package/templates/.agents/dashboard/apps/frontend/src/project-settings-page.css +471 -2
  115. package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +84 -17
  116. package/templates/.agents/dashboard/apps/frontend/src/snapshot-banner-semantics.test.ts +44 -0
  117. package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +196 -39
  118. package/templates/.agents/dashboard/apps/frontend/src/snapshot-notice.ts +15 -0
  119. package/templates/.agents/dashboard/apps/frontend/src/sqlite-cost-adapters.ts +26 -0
  120. package/templates/.agents/dashboard/apps/frontend/src/styles.css +14 -2
  121. package/templates/.agents/dashboard/apps/frontend/src/traceability-workspace.css +38 -2
  122. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.test.ts +187 -0
  123. package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.ts +190 -0
  124. package/templates/.agents/dashboard/apps/frontend/src/use-app-effects.ts +121 -0
  125. package/templates/.agents/dashboard/apps/frontend/src/use-app-operations-pages.ts +398 -0
  126. package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-documents.ts +141 -0
  127. package/templates/.agents/dashboard/apps/frontend/src/use-idle-cost-prefetch.ts +45 -0
  128. package/templates/.agents/dashboard/apps/frontend/src/work-list-pagination.test.ts +46 -0
  129. package/templates/.agents/dashboard/apps/frontend/src/work-list-pagination.ts +37 -0
  130. package/templates/.agents/dashboard/apps/frontend/vite.config.ts +55 -5
  131. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  132. package/templates/.agents/dashboard/modules/cost-monitor/src/contracts.ts +47 -6
  133. package/templates/.agents/dashboard/modules/cost-monitor/src/duration-estimate.ts +13 -0
  134. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.test.ts +64 -0
  135. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.tsx +275 -0
  136. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.test.ts +100 -15
  137. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.tsx +131 -40
  138. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.tsx +137 -19
  139. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostModelsAuditTable.test.ts +2 -0
  140. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostModelsAuditTable.tsx +13 -10
  141. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorContent.tsx +303 -0
  142. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.test.ts +226 -6
  143. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +479 -402
  144. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostSummary.tsx +5 -13
  145. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +312 -72
  146. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.tsx +373 -321
  147. package/templates/.agents/dashboard/modules/cost-monitor/src/react/MacroCostTable.test.ts +17 -0
  148. package/templates/.agents/dashboard/modules/cost-monitor/src/react/MacroCostTable.tsx +25 -6
  149. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-copy.ts +0 -2
  150. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-helpers.ts +17 -0
  151. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-responsive.css +6 -3
  152. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-row-filters.ts +123 -0
  153. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-summary.ts +8 -3
  154. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-views.ts +32 -0
  155. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor.css +52 -14
  156. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-presentation.ts +121 -0
  157. package/templates/.agents/dashboard/modules/cost-monitor/src/react/index.ts +3 -0
  158. package/templates/.agents/dashboard/modules/cost-monitor/src/react/period-cost-groups.test.ts +68 -0
  159. package/templates/.agents/dashboard/modules/cost-monitor/src/react/period-cost-groups.ts +32 -5
  160. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-compact-cost-page.ts +108 -0
  161. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-group-page.test.ts +12 -0
  162. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-group-page.ts +60 -0
  163. package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-run-page.ts +106 -0
  164. package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.test.ts +2 -2
  165. package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.ts +5 -3
  166. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-pricing-fallback.test.ts +53 -0
  167. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.basics.test.ts +34 -0
  168. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.test.ts +168 -137
  169. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +188 -29
  170. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.test.ts +956 -0
  171. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +775 -0
  172. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-terminal-day.test.ts +95 -0
  173. package/templates/.agents/dashboard/modules/cost-monitor/src/server/index.ts +1 -0
  174. package/templates/.agents/dashboard/modules/cost-monitor/src/server/refactor-map-xr9l.json +61 -0
  175. package/templates/.agents/dashboard/modules/cost-monitor/src/task-cost-groups.test.ts +41 -0
  176. package/templates/.agents/dashboard/modules/cost-monitor/src/task-cost-groups.ts +55 -11
  177. package/templates/.agents/dashboard/modules/operations/package.json +2 -1
  178. package/templates/.agents/dashboard/modules/operations/src/contracts.ts +182 -0
  179. package/templates/.agents/dashboard/modules/operations/src/duration-population.test.ts +63 -1
  180. package/templates/.agents/dashboard/modules/operations/src/duration-population.ts +60 -5
  181. package/templates/.agents/dashboard/modules/operations/src/react/EntityDetailsDialog.tsx +14 -3
  182. package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.test.ts +44 -1
  183. package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +325 -18
  184. package/templates/.agents/dashboard/modules/operations/src/react/MacroPlanningDialog.tsx +1 -0
  185. package/templates/.agents/dashboard/modules/operations/src/react/OperationDateFilters.test.ts +9 -5
  186. package/templates/.agents/dashboard/modules/operations/src/react/OperationDateFilters.tsx +2 -2
  187. package/templates/.agents/dashboard/modules/operations/src/react/OperationsMainContent.tsx +168 -0
  188. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.helpers.tsx +95 -6
  189. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +365 -14
  190. package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +532 -131
  191. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +314 -358
  192. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageNavigation.tsx +68 -0
  193. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageOverview.tsx +169 -0
  194. package/templates/.agents/dashboard/modules/operations/src/react/PeriodSummaryTable.tsx +51 -8
  195. package/templates/.agents/dashboard/modules/operations/src/react/PrdDocumentDialog.test.tsx +32 -0
  196. package/templates/.agents/dashboard/modules/operations/src/react/PrdDocumentDialog.tsx +62 -6
  197. package/templates/.agents/dashboard/modules/operations/src/react/TaskBoard.test.ts +55 -0
  198. package/templates/.agents/dashboard/modules/operations/src/react/TaskBoard.tsx +27 -19
  199. package/templates/.agents/dashboard/modules/operations/src/react/TaskDetailsDialog.tsx +99 -42
  200. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.priority.test.ts +19 -0
  201. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.tsx +255 -34
  202. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.test.ts +163 -8
  203. package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.tsx +101 -68
  204. package/templates/.agents/dashboard/modules/operations/src/react/conversation-rows.test.ts +72 -1
  205. package/templates/.agents/dashboard/modules/operations/src/react/conversation-rows.ts +78 -16
  206. package/templates/.agents/dashboard/modules/operations/src/react/execution-metrics.ts +6 -4
  207. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.test.ts +50 -1
  208. package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.tsx +143 -9
  209. package/templates/.agents/dashboard/modules/operations/src/react/export/export-layout.test.ts +29 -4
  210. package/templates/.agents/dashboard/modules/operations/src/react/macro-planning-dialog-content.css +49 -0
  211. package/templates/.agents/dashboard/modules/operations/src/react/macro-planning-dialog.css +93 -50
  212. package/templates/.agents/dashboard/modules/operations/src/react/manual-work-priority.test.ts +82 -0
  213. package/templates/.agents/dashboard/modules/operations/src/react/operation-date-range.test.ts +29 -2
  214. package/templates/.agents/dashboard/modules/operations/src/react/operation-date-range.ts +22 -1
  215. package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.test.ts +77 -4
  216. package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.ts +65 -5
  217. package/templates/.agents/dashboard/modules/operations/src/react/operations-coverage-toast.test.ts +54 -0
  218. package/templates/.agents/dashboard/modules/operations/src/react/operations-global-filters.test.ts +19 -0
  219. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +149 -12
  220. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview.status-cards.test.ts +27 -0
  221. package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +136 -0
  222. package/templates/.agents/dashboard/modules/operations/src/react/operations-period-scope.test.ts +160 -0
  223. package/templates/.agents/dashboard/modules/operations/src/react/operations-period-scope.ts +47 -0
  224. package/templates/.agents/dashboard/modules/operations/src/react/operations-query.ts +10 -0
  225. package/templates/.agents/dashboard/modules/operations/src/react/operations-responsive.css +3 -0
  226. package/templates/.agents/dashboard/modules/operations/src/react/operations-view-labels.ts +28 -0
  227. package/templates/.agents/dashboard/modules/operations/src/react/operations-view-order.test.ts +24 -7
  228. package/templates/.agents/dashboard/modules/operations/src/react/operations.css +42 -0
  229. package/templates/.agents/dashboard/modules/operations/src/react/period-summary-population.test.ts +54 -0
  230. package/templates/.agents/dashboard/modules/operations/src/react/period-summary-population.ts +32 -0
  231. package/templates/.agents/dashboard/modules/operations/src/react/period-summary.test.ts +165 -6
  232. package/templates/.agents/dashboard/modules/operations/src/react/period-summary.ts +148 -6
  233. package/templates/.agents/dashboard/modules/operations/src/react/popup-localization.test.ts +1 -1
  234. package/templates/.agents/dashboard/modules/operations/src/react/unified-work-board.css +132 -0
  235. package/templates/.agents/dashboard/modules/operations/src/react/unified-work-board.css.test.ts +13 -0
  236. package/templates/.agents/dashboard/modules/operations/src/react/unified-work-board.header.test.ts +16 -0
  237. package/templates/.agents/dashboard/modules/operations/src/react/use-infinite-column.ts +11 -5
  238. package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.test.ts +5 -3
  239. package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.ts +4 -83
  240. package/templates/.agents/dashboard/modules/operations/src/server/build-operations-projection.test.ts +291 -15
  241. package/templates/.agents/dashboard/modules/operations/src/server/build-operations-projection.ts +182 -472
  242. package/templates/.agents/dashboard/modules/operations/src/server/canonical-compat.test.ts +40 -0
  243. package/templates/.agents/dashboard/modules/operations/src/server/canonical-compat.ts +19 -6
  244. package/templates/.agents/dashboard/modules/operations/src/server/canonical-run-projection.ts +31 -6
  245. package/templates/.agents/dashboard/modules/operations/src/server/daily-duration-projection.ts +220 -0
  246. package/templates/.agents/dashboard/modules/operations/src/server/execution-duration-projection.ts +28 -0
  247. package/templates/.agents/dashboard/modules/operations/src/server/execution-relationship-counts.test.ts +27 -2
  248. package/templates/.agents/dashboard/modules/operations/src/server/execution-relationship-counts.ts +22 -13
  249. package/templates/.agents/dashboard/modules/operations/src/server/filter.test.ts +3 -3
  250. package/templates/.agents/dashboard/modules/operations/src/server/filter.ts +7 -2
  251. package/templates/.agents/dashboard/modules/operations/src/server/index.ts +3 -0
  252. package/templates/.agents/dashboard/modules/operations/src/server/macro.ts +3 -12
  253. package/templates/.agents/dashboard/modules/operations/src/server/manifest-usage.ts +65 -0
  254. package/templates/.agents/dashboard/modules/operations/src/server/operations-projection-aggregates.ts +297 -0
  255. package/templates/.agents/dashboard/modules/operations/src/server/quick-daily-operations-projection.ts +324 -0
  256. package/templates/.agents/dashboard/modules/operations/src/server/quick-operations-projection.test.ts +505 -0
  257. package/templates/.agents/dashboard/modules/operations/src/server/quick-operations-projection.ts +609 -0
  258. package/templates/.agents/dashboard/modules/operations/src/server/runs.ts +18 -19
  259. package/templates/.agents/dashboard/modules/operations/src/work-board-model.ts +76 -0
  260. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  261. package/templates/.agents/dashboard/modules/traceability/src/server/build-task-trace.ts +3 -1
  262. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  263. package/templates/.agents/dashboard/packages/branding/src/index.ts +1 -1
  264. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  265. package/templates/.agents/dashboard/packages/contracts/src/index.ts +1 -0
  266. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  267. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +1756 -0
  268. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +1608 -0
  269. package/templates/.agents/dashboard/packages/local-runtime/package.json +8 -3
  270. package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-dashboard.mjs +12 -0
  271. package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-runtime.mjs +83 -0
  272. package/templates/.agents/dashboard/packages/local-runtime/scripts/rebuild-sqlite-read-model.mjs +28 -0
  273. package/templates/.agents/dashboard/packages/local-runtime/scripts/test-sqlite-read-model.mjs +262 -0
  274. package/templates/.agents/dashboard/packages/local-runtime/scripts/test-unix-launchers.mjs +41 -0
  275. package/templates/.agents/dashboard/packages/local-runtime/scripts/validate-sqlite-read-model.mjs +105 -0
  276. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +1643 -107
  277. package/templates/.agents/dashboard/packages/local-runtime/src/agent-adapter-sync.ts +30 -0
  278. package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.test.ts +3 -2
  279. package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.ts +5 -0
  280. package/templates/.agents/dashboard/packages/local-runtime/src/manifest-runs.ts +72 -33
  281. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +335 -4
  282. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +392 -1
  283. package/templates/.agents/dashboard/packages/local-runtime/src/runtime.mjs +5 -5
  284. package/templates/.agents/dashboard/packages/local-runtime/src/server-board.test.ts +71 -0
  285. package/templates/.agents/dashboard/packages/local-runtime/src/server-board.ts +179 -0
  286. package/templates/.agents/dashboard/packages/local-runtime/src/server-cross-layer-parity.test.ts +245 -0
  287. package/templates/.agents/dashboard/packages/local-runtime/src/server-daily-read-models-route.ts +64 -0
  288. package/templates/.agents/dashboard/packages/local-runtime/src/server-daily-read-models.test.ts +204 -0
  289. package/templates/.agents/dashboard/packages/local-runtime/src/server-daily-read-models.ts +194 -0
  290. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-pages.test.ts +163 -0
  291. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-pages.ts +354 -0
  292. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-runs-route.test.ts +74 -0
  293. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-runs-route.ts +113 -0
  294. package/templates/.agents/dashboard/packages/local-runtime/src/server-overview.test.ts +68 -0
  295. package/templates/.agents/dashboard/packages/local-runtime/src/server-period.ts +47 -0
  296. package/templates/.agents/dashboard/packages/local-runtime/src/server-projections.ts +483 -0
  297. package/templates/.agents/dashboard/packages/local-runtime/src/server-settings.test.ts +5 -2
  298. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +163 -84
  299. package/templates/.agents/dashboard/packages/local-runtime/src/server-workspace.ts +145 -0
  300. package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +551 -266
  301. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +1145 -308
  302. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-metric-contract.test.ts +53 -0
  303. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-metric-contract.ts +708 -0
  304. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +2232 -0
  305. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.ts +6151 -0
  306. package/templates/.agents/dashboard/packages/local-runtime/src/work-priority-contract.test.ts +33 -0
  307. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-history.mjs +41 -0
  308. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-processes.mjs +210 -0
  309. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.mjs +437 -190
  310. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +299 -24
  311. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  312. package/templates/.agents/dashboard/packages/windows-launcher/LauncherVerificationBehaviorTests.cs +206 -0
  313. package/templates/.agents/dashboard/packages/windows-launcher/Program.cs +95 -8
  314. package/templates/.agents/dashboard/packages/windows-launcher/build-dashboard-launcher.ps1 +2 -2
  315. package/templates/.agents/dashboard/packages/windows-launcher/run-launcher-verification-tests.ps1 +22 -0
  316. package/templates/.agents/dashboard/read-model.dbml +2201 -0
  317. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  318. package/templates/.agents/dashboard/tests/e2e/playwright.config.ts +1 -1
  319. package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +214 -41
  320. package/templates/.agents/dashboard/work-priority.json +34 -0
  321. package/templates/.agents/dashboard/zaip-dashboard-linux.sh +45 -0
  322. package/templates/.agents/dashboard/zaip-dashboard-mac.command +3 -0
  323. package/templates/.agents/dashboard/zaip-dashboard-windows.exe +0 -0
  324. package/templates/.agents/design/.zaip-managed.json +3 -3
  325. package/templates/.agents/design/apps/catalog/package.json +1 -1
  326. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  327. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  328. package/templates/.agents/requirements/comparative-audit.md +1 -1
  329. package/templates/.agents/requirements/context-engine.md +1 -1
  330. package/templates/.agents/requirements/cost-observability.md +1 -1
  331. package/templates/.agents/requirements/dashboard-launch.md +24 -0
  332. package/templates/.agents/requirements/data-export.md +1 -1
  333. package/templates/.agents/requirements/design-system.md +1 -1
  334. package/templates/.agents/requirements/execution-engine.md +1 -1
  335. package/templates/.agents/requirements/kanban-dashboard.md +4 -3
  336. package/templates/.agents/requirements/model-orchestration.md +1 -1
  337. package/templates/.agents/requirements/public-distribution.md +9 -6
  338. package/templates/.agents/requirements/software-architecture.md +1 -1
  339. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  340. package/templates/.agents/requirements/work-lifecycle.md +9 -3
  341. package/templates/.agents/requirements/zaip-strategic-95.md +4 -4
  342. package/templates/.agents/rules/autonomy-decision.md +15 -0
  343. package/templates/.agents/rules/core.md +1 -1
  344. package/templates/.agents/rules/run-lifecycle-closure.md +1 -1
  345. package/templates/.agents/rules/specialist-routing.md +19 -0
  346. package/templates/.agents/rules/workflow.md +1 -1
  347. package/templates/.agents/runtime/VERSION +1 -1
  348. package/templates/.agents/runtime/bin/zaip.mjs +114 -64
  349. package/templates/.agents/runtime/checksums.sha256 +6 -4
  350. package/templates/.agents/runtime/manifest.json +3 -1
  351. package/templates/.agents/runtime/pnpm-lock.sha256 +1 -0
  352. package/templates/.agents/runtime/provenance.json +11 -0
  353. package/templates/.agents/runtime/sbom.cdx.json +1929 -39
  354. package/templates/.agents/skills/zaip-aios/SKILL.md +1 -1
  355. package/templates/.agents/skills/zaip-skill-brand-governance/SKILL.md +15 -0
  356. package/templates/.agents/skills/zaip-skill-brand-governance/agents/openai.yaml +4 -0
  357. package/templates/.agents/skills/zaip-skill-brand-governance/references/brandbook-standards.md +30 -0
  358. package/templates/.agents/skills/zaip-skill-dashboard-sqlite/SKILL.md +25 -0
  359. package/templates/.agents/skills/zaip-skill-dashboard-sqlite/agents/openai.yaml +4 -0
  360. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/SKILL.md +18 -0
  361. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/agents/openai.yaml +6 -0
  362. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.mjs +71 -0
  363. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.test.mjs +60 -0
  364. package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/scheduled-ready-queue-contract.test.mjs +111 -0
  365. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +2 -2
  366. package/templates/.agents/skills/zaip-skill-frontend-launcher/references/launcher-contract.md +3 -1
  367. package/templates/.agents/skills/zaip-skill-general-operations/SKILL.md +12 -0
  368. package/templates/.agents/skills/zaip-skill-general-operations/agents/openai.yaml +4 -0
  369. package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +9 -7
  370. package/templates/.agents/skills/zaip-skill-github-deploy/agents/openai.yaml +2 -2
  371. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +11 -38
  372. package/templates/.agents/skills/zaip-skill-governance-compliance/SKILL.md +12 -0
  373. package/templates/.agents/skills/zaip-skill-governance-compliance/agents/openai.yaml +4 -0
  374. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/SKILL.md +15 -0
  375. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/agents/openai.yaml +4 -0
  376. package/templates/.agents/skills/zaip-skill-growth-strategy-revops/references/growth-revops-framework.md +25 -0
  377. package/templates/.agents/skills/zaip-skill-instalar-agendamento/SKILL.md +17 -0
  378. package/templates/.agents/skills/zaip-skill-instalar-agendamento/agents/openai.yaml +6 -0
  379. package/templates/.agents/skills/zaip-skill-marketing/SKILL.md +3 -3
  380. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +76 -27
  381. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +128 -24
  382. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +122 -4
  383. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.mjs +66 -19
  384. package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.test.mjs +193 -7
  385. package/templates/.agents/skills/zaip-skill-sales-methodology/SKILL.md +14 -0
  386. package/templates/.agents/skills/zaip-skill-sales-methodology/agents/openai.yaml +4 -0
  387. package/templates/.agents/skills/zaip-skill-sales-methodology/references/sales-process-framework.md +77 -0
  388. package/templates/.agents/skills/zaip-skill-setup/SKILL.md +5 -0
  389. package/templates/.agents/skills/zaip-skill-sqlite-read-model/SKILL.md +96 -0
  390. package/templates/.agents/skills/zaip-skill-sqlite-read-model/agents/openai.yaml +4 -0
  391. package/templates/.agents/skills/zaip-skill-sqlite-read-model/scripts/ensure-node.mjs +18 -0
  392. package/templates/.agents/zaip-aios/INDEX.md +1 -0
  393. package/templates/.agents/zaip-aios/README.md +37 -8
  394. package/templates/.agents/zaip-aios/VERSION +1 -1
  395. package/templates/.agents/zaip-aios/guides/09-agentes-e-squads.md +43 -6
  396. package/templates/.agents/zaip-aios/guides/10-seguranca.md +21 -7
  397. package/templates/.agents/zaip-aios/guides/17-como-o-custo-e-calculado.md +32 -0
  398. package/templates/template-manifest.json +945 -214
  399. package/templates/.agents/dashboard/apps/frontend/dist/assets/AgentCatalogSettingsPage-CLYIi7Vo.js +0 -1
  400. package/templates/.agents/dashboard/apps/frontend/dist/assets/AgentCatalogSettingsPage-DTDNVQGX.css +0 -1
  401. package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-CzEggcRb.js +0 -1
  402. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-05YKn6Z4.js +0 -3
  403. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-YO3yqtgV.css +0 -1
  404. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-8AzCnl3a.js +0 -77
  405. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DdBYQ_8D.css +0 -1
  406. package/templates/.agents/dashboard/apps/frontend/src/AgentCatalogSettingsPage.tsx +0 -617
  407. package/templates/.agents/dashboard/apps/frontend/src/agent-catalog-settings-page.css +0 -660
  408. package/templates/.agents/dashboard/apps/frontend/src/agent-catalog-settings.test.ts +0 -249
  409. package/templates/.agents/dashboard/dashboard.config.json +0 -4
  410. package/templates/.agents/dashboard/zaip-dashboard.exe +0 -0
@@ -1,5 +1,5 @@
1
1
  ---
2
- # zaip-managed generated-do-not-edit source=discovery-skill version=1.0.0 sha256=72e09e90f33f9ed2543daf8dfc09ee5b10fca74d7fa077db030b8b048301d806
2
+ # zaip-managed generated-do-not-edit source=discovery-skill version=1.0.8 sha256=72e09e90f33f9ed2543daf8dfc09ee5b10fca74d7fa077db030b8b048301d806
3
3
  name: zaip-aios
4
4
  description: Discover and apply the repository-local ZAIP-AIOS framework.
5
5
  ---
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: zaip-skill-brand-governance
3
+ description: Define and govern an evidence-backed brand platform, Brandbook, archetypes, and brand identity decisions. Use for brand strategy and governance; not for product design-system implementation or marketing campaign execution.
4
+ ---
5
+
6
+ # Governar a marca
7
+
8
+ 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.
10
+ 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.
11
+ 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
+ 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
+ 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
+
15
+ Consulte [padrões de Brandbook](references/brandbook-standards.md) ao estruturar entregáveis internos ou externos.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Branding Specialist"
3
+ short_description: "Define and govern an evidence-backed brand platform."
4
+ default_prompt: "Use $zaip-skill-brand-governance to define or govern an evidence-backed brand platform."
@@ -0,0 +1,30 @@
1
+ # Padrões de Brandbook e governança
2
+
3
+ Use este roteiro quando o pedido exigir a plataforma ou o Brandbook da marca.
4
+
5
+ ## Fonte estratégica interna
6
+
7
+ Registre os treze domínios: cultura da empresa e da marca; posicionamento e plataforma; Brandbook interno e externo; arquitetura e portfólio; modelo e diretrizes de gestão; RACI e equipe de marca; procedimentos; sistema de identidade; manuais de identidade; pontos de contato; stakeholders; métricas e avaliações; e brand equity.
8
+
9
+ O Brandbook Mestre também registra controle do documento; história; mercado; público e personas; promessa e diferenciais; DNA, atributos e personalidade; tom de voz; arquitetura; identidade verbal e visual; evidências e decisões.
10
+
11
+ Cada decisão material deve informar proprietário, aprovador, versão, data, evidência e classificação de confidencialidade. Conteúdo proprietário de terceiros serve como referência metodológica, nunca como conteúdo reutilizável.
12
+
13
+ ## Versão externa
14
+
15
+ Derive a publicação externa da fonte interna. Ela pode comunicar propósito, posicionamento aprovado, promessa, diferenciais, personalidade, tom e aplicações autorizadas. Exclua pesquisa bruta, comparativos competitivos, dados pessoais, riscos, negociações, valuation, hipóteses não aprovadas e justificativas confidenciais.
16
+
17
+ ## Instrumentos
18
+
19
+ - Diferencial semântico: use polos claros, escala explícita de -3 a +3 e zero neutro. Armazene perfil desejado e percepção observada separadamente.
20
+ - Diferencial semântico: para cada perfil, registre versão, fonte, respondente ou amostra, data, confiança e finalidade. Mantenha os perfis intended, internal, external e competitor separados; ausência de amostra é uma limitação, não uma pontuação.
21
+ - Arquétipos: documente papel dominante, papéis de apoio, motivação, comportamento, sombra, evidência, contraevidência e comportamentos do/don't. Pesos devem totalizar 100% somente quando forem usados.
22
+ - Métricas: se não houver dataset ou método validável, registre a métrica como pendente; não infira reconhecimento, preferência ou valor de marca.
23
+
24
+ ## Operação contínua
25
+
26
+ Mantenha RACI, cadência de revisão, critério de exceção, inventário de touchpoints, matriz de stakeholders e log de versões. Cada mudança de identidade deve ligar a decisão à plataforma, ao manual afetado e ao responsável pela aplicação.
27
+
28
+ ## Handoffs
29
+
30
+ Sarah decide a estratégia e a governança da marca. Manu traduz decisões aprovadas para o design system digital; Lúcia ativa a marca em marketing; Gabi mede dados; Robert relaciona oportunidades a receita, custo e RevOps; Clara produz artefatos operacionais autorizados.
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: zaip-skill-dashboard-sqlite
3
+ description: Rebuild and open the isolated SQLite dashboard comparison runtime.
4
+ ---
5
+
6
+ # Dashboard SQLite comparativo
7
+
8
+ Use esta skill para o dashboard SQLite em `.agents/dashboard`. Ela reconstrói um snapshot descartável
9
+ em `.local/dashboard-sqlite/read-model.sqlite`.
10
+
11
+ 1. Na raiz do repositório, execute `node .agents/dashboard/packages/local-runtime/scripts/rebuild-sqlite-read-model.mjs`.
12
+ 2. Para regenerar os artefatos sem depender dos globs do workspace principal, execute
13
+ `node .agents/dashboard/packages/local-runtime/scripts/build-sqlite-dashboard.mjs`.
14
+ 3. Verifique a paridade de all-time/intervalos, zero conhecido e todo-desconhecido/null com
15
+ `node .agents/dashboard/packages/local-runtime/scripts/test-sqlite-read-model.mjs`.
16
+ 4. Abra com `node .agents/dashboard/packages/local-runtime/start-dashboard.mjs` ou com
17
+ `.agents/dashboard/zaip-dashboard-windows.exe`.
18
+ 5. Confirme `GET /api/v2/health`: o retorno deve conter `kind: zaip-dashboard-sqlite-runtime` e
19
+ `storage.storage_mode: sqlite_read_model`.
20
+
21
+ O banco é um read model dos registros e da configuração ZAIP. `daily_aggregates` é derivada do
22
+ read model lifecycle diário e alimenta, via SQL, os fatos de primeiro fold de
23
+ `operations?scope=quick` e `cost-monitor?scope=summary` (runs, tokens, custo e cobertura).
24
+ A duração híbrida legada e os detalhes de entidades permanecem no projection/adapter compartilhado
25
+ para preservar semântica. A API é somente leitura para que o snapshot não fique desatualizado.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "ZAIP Dashboard SQLite"
3
+ short_description: "Rebuild and open the isolated SQLite dashboard comparison."
4
+ default_prompt: "Use $zaip-skill-dashboard-sqlite to rebuild the disposable read model and verify the isolated dashboard."
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: zaip-skill-executar-fila-pronta
3
+ description: Execute the full eligible ready-work snapshot using the canonical queue order.
4
+ ---
5
+
6
+ # Executar fila pronta
7
+
8
+ Use esta skill para uma rodada idempotente que processa sequencialmente o snapshot elegível da fila. A seleção é estrita: PRD `ready`, depois SPEC `ready` independente, depois Task-first standalone elegível em `Pronto para Executar`.
9
+
10
+ 1. A primeira ação da conversa agendada chama `codex_app set_thread_title` sem `threadId`, usando a hora local `America/Sao_Paulo` no formato exato `[YYYY-MM-DD-T-HH-mm] Tarefa Agendada`. Registre a falha de renomeação observada e continue para a fila; ela não bloqueia a rodada.
11
+ 2. Valide o checkout local, `zaip.enabled: true`, registros canônicos e runtime. Leia `.agents/dashboard/work-priority.json` quando existir; ausência ou conteúdo inválido equivale a nenhuma prioridade manual, nunca a uma ordem inventada.
12
+ 3. Antes de selecionar, crie atomicamente `.local/automation/ready-queue.lock.json` (diretório local não versionado) com `owner_token` aleatório, `fencing_token`, `acquired_at` e `expires_at`. O `fencing_token` é um inteiro monotônico: toda aquisição que substitui um lock expirado recebe valor maior que o último valor observado. Se existir lock válido de outra rodada, retorne sem efeito; nunca force a sobreposição. Renove o mesmo lock, com token e `owner_token` conferidos, antes de cada candidato. Antes de cada efeito (incluindo iniciar uma Execution), releia o lock e exija ambos os tokens atuais e prazo válido; se a renovação falhar ou o token não for atual, encerre a rodada sem executar mais efeitos. Libere somente ao terminar e apenas se o `owner_token` ainda corresponder; locks expirados podem ser substituídos atomicamente.
13
+ 4. Forme os candidatos nesta precedência: (a) PRDs `ready`; (b) SPECs `ready` que não descendem de PRD; (c) Tasks Task-first standalone `prepared`/`planned`, com dependências concluídas e exatamente um PreparedPlan resolvível: `prepared_plan` inline válido **ou** `plan_ref` válido, nunca ambos. A Task ainda não pode ter Execution vinculada e nunca pode ter sido iniciada ou tentada. Para cada candidata, exclua o registro sem `status: planned`, com `started_at`, `attempt_count` diferente de zero, Execution existente, estado de plano ambíguo, ou cujo próprio ID apareça em `task next` ou no conjunto materializado concorrente. Exclua também descendentes de PRD/SPEC e itens `active`, `blocked`, `failed`, `cancelled` ou terminais.
14
+ 5. Ordene cada classe por `.agents/dashboard/work-priority.json`: itens enumerados no Kanban vêm primeiro e mantêm a ordem de cima para baixo; os sem enumeração entram depois pelo fallback canônico determinístico. Congele o snapshot ordenado e processe todos os PRDs antes de SPECs, e todos os SPECs antes das Tasks; não misture classes.
15
+ 6. Execute cada unidade do snapshot, uma por vez, pelo comando explícito no menor grão (`prd execute`, `spec execute` ou `task execute`). Para uma Task-first elegível, use `task execute` para materializar sua Execution; não crie a Execution por outro atalho. Reavalie o estado antes de cada início e pule o item que deixou de ser elegível. Preserve os gates de write scope, dependências, evidências, testes e finalizador; uma seleção não é autorização para ignorar qualquer gate.
16
+ 7. Registre o resultado de cada unidade, as omissões e a ausência de candidatos, e solte o lease. Sem candidato, retorne `no_eligible_work`; com precondição ausente, conflito de lease ou estado ambíguo, falhe fechado e não altere registros.
17
+
18
+ Esta skill não cria um agendamento. Ela só pode ser chamada pela automação nativa do Codex Desktop ou por um usuário com autoridade explícita para executar o trabalho selecionado.
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "ZAIP Executar Fila Pronta"
3
+ short_description: "Execute o ciclo completo do snapshot elegível da fila pronta."
4
+ default_prompt: "Use $zaip-skill-executar-fila-pronta para executar o ciclo completo do snapshot elegível, respeitando a prioridade do Kanban e sem promover ou retomar itens inelegíveis."
5
+ policy:
6
+ allow_implicit_invocation: false
@@ -0,0 +1,71 @@
1
+ import { mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
2
+ import { dirname, resolve } from "node:path";
3
+
4
+ export async function acquireReadyQueueFence(lockPath, input) {
5
+ return withMutex(lockPath, async () => {
6
+ const current = await readLease(lockPath);
7
+ if (current !== null && current.released_at === undefined && current.expires_at > input.now)
8
+ return null;
9
+ const lease = {
10
+ owner_token: input.owner_token,
11
+ fencing_token: (current?.fencing_token ?? 0) + 1,
12
+ acquired_at: input.now,
13
+ expires_at: input.expires_at,
14
+ };
15
+ await writeLease(lockPath, lease);
16
+ return lease;
17
+ });
18
+ }
19
+ export async function renewReadyQueueFence(lockPath, lease, now, expiresAt) {
20
+ return withMutex(lockPath, async () => {
21
+ if (!(await assertReadyQueueFence(lockPath, lease, now))) return null;
22
+ const renewed = { ...lease, expires_at: expiresAt };
23
+ await writeLease(lockPath, renewed);
24
+ return renewed;
25
+ });
26
+ }
27
+ export async function assertReadyQueueFence(lockPath, lease, now) {
28
+ const current = await readLease(lockPath);
29
+ return (
30
+ current !== null &&
31
+ current.released_at === undefined &&
32
+ current.owner_token === lease.owner_token &&
33
+ current.fencing_token === lease.fencing_token &&
34
+ current.expires_at > now
35
+ );
36
+ }
37
+ export async function releaseReadyQueueFence(lockPath, lease, now) {
38
+ return withMutex(lockPath, async () => {
39
+ if (!(await assertReadyQueueFence(lockPath, lease, now))) return false;
40
+ await writeLease(lockPath, { ...lease, expires_at: now, released_at: now });
41
+ return true;
42
+ });
43
+ }
44
+ async function withMutex(lockPath, operation) {
45
+ const mutex = `${lockPath}.mutex`;
46
+ await mkdir(dirname(lockPath), { recursive: true });
47
+ try {
48
+ await mkdir(mutex);
49
+ } catch (error) {
50
+ if (error?.code === "EEXIST") return null;
51
+ throw error;
52
+ }
53
+ try {
54
+ return await operation();
55
+ } finally {
56
+ await rm(mutex, { recursive: true, force: true });
57
+ }
58
+ }
59
+ async function readLease(lockPath) {
60
+ try {
61
+ return JSON.parse(await readFile(lockPath, "utf8"));
62
+ } catch (error) {
63
+ if (error?.code === "ENOENT") return null;
64
+ throw error;
65
+ }
66
+ }
67
+ async function writeLease(lockPath, lease) {
68
+ const temporary = resolve(dirname(lockPath), `.${lease.owner_token}.ready-queue.tmp`);
69
+ await writeFile(temporary, `${JSON.stringify(lease)}\n`, "utf8");
70
+ await rename(temporary, lockPath);
71
+ }
@@ -0,0 +1,60 @@
1
+ import assert from "node:assert/strict";
2
+ import { mkdtemp, rm } from "node:fs/promises";
3
+ import { tmpdir } from "node:os";
4
+ import { join } from "node:path";
5
+ import test from "node:test";
6
+ import {
7
+ acquireReadyQueueFence,
8
+ assertReadyQueueFence,
9
+ releaseReadyQueueFence,
10
+ renewReadyQueueFence,
11
+ } from "./ready-queue-fence.mjs";
12
+
13
+ test("fence is exclusive, monotonic, and rejects a stale owner", async () => {
14
+ const directory = await mkdtemp(join(tmpdir(), "zaip-ready-fence-"));
15
+ const lock = join(directory, "ready-queue.lock.json");
16
+ try {
17
+ const [first, concurrent] = await Promise.all([
18
+ acquireReadyQueueFence(lock, {
19
+ owner_token: "owner-a",
20
+ now: "2026-08-05T18:00:00.000Z",
21
+ expires_at: "2026-08-05T18:01:00.000Z",
22
+ }),
23
+ acquireReadyQueueFence(lock, {
24
+ owner_token: "owner-b",
25
+ now: "2026-08-05T18:00:00.000Z",
26
+ expires_at: "2026-08-05T18:01:00.000Z",
27
+ }),
28
+ ]);
29
+ const owner = first ?? concurrent;
30
+ assert.equal([first, concurrent].filter((candidate) => candidate !== null).length, 1);
31
+ assert.equal(owner?.fencing_token, 1);
32
+ const second = await acquireReadyQueueFence(lock, {
33
+ owner_token: "owner-b",
34
+ now: "2026-08-05T18:01:01.000Z",
35
+ expires_at: "2026-08-05T18:02:00.000Z",
36
+ });
37
+ assert.equal(second?.fencing_token, 2);
38
+ assert.equal(
39
+ await renewReadyQueueFence(
40
+ lock,
41
+ owner,
42
+ "2026-08-05T18:01:02.000Z",
43
+ "2026-08-05T18:03:00.000Z",
44
+ ),
45
+ null,
46
+ );
47
+ assert.equal(await assertReadyQueueFence(lock, owner, "2026-08-05T18:01:02.000Z"), false);
48
+ assert.equal(await releaseReadyQueueFence(lock, owner, "2026-08-05T18:01:02.000Z"), false);
49
+ assert.equal(await releaseReadyQueueFence(lock, second, "2026-08-05T18:01:03.000Z"), true);
50
+ const third = await acquireReadyQueueFence(lock, {
51
+ owner_token: "owner-c",
52
+ now: "2026-08-05T18:01:04.000Z",
53
+ expires_at: "2026-08-05T18:02:00.000Z",
54
+ });
55
+ assert.equal(third?.fencing_token, 3);
56
+ assert.equal(await releaseReadyQueueFence(lock, third, "2026-08-05T18:01:05.000Z"), true);
57
+ } finally {
58
+ await rm(directory, { recursive: true, force: true });
59
+ }
60
+ });
@@ -0,0 +1,111 @@
1
+ import assert from "node:assert/strict";
2
+ import { access, readFile } from "node:fs/promises";
3
+ import { resolve } from "node:path";
4
+ import test from "node:test";
5
+
6
+ const root = resolve(import.meta.dirname, "../..");
7
+ const read = (path) => readFile(resolve(root, path), "utf8");
8
+ const repositoryReadme = resolve(root, "../../README.md");
9
+
10
+ test("hourly ready queue contracts the native Codex scheduler and full ordered snapshot", async () => {
11
+ const [installer, executor] = await Promise.all([
12
+ read("zaip-skill-instalar-agendamento/SKILL.md"),
13
+ read("zaip-skill-executar-fila-pronta/SKILL.md"),
14
+ ]);
15
+
16
+ assert.match(installer, /Codex Desktop/);
17
+ assert.match(installer, /automation_update/);
18
+ assert.match(installer, /codex_app list_projects/);
19
+ assert.match(installer, /codex_app automation_update/);
20
+ assert.match(installer, /\$CODEX_HOME\/automations\/\*\/automation\.toml/);
21
+ assert.match(installer, /somente em leitura/);
22
+ assert.match(
23
+ installer,
24
+ /exclusivamente pelo nome estável para resolver identidade e deduplicação/,
25
+ );
26
+ assert.match(installer, /É proibido criar, editar ou apagar TOML/);
27
+ assert.match(installer, /ou usá-lo como fallback/);
28
+ assert.match(
29
+ installer,
30
+ /Todas as visualizações e mutações da automação são exclusivamente por `codex_app automation_update`/,
31
+ );
32
+ assert.match(installer, /ZAIP-AIOS - Fila Pronta Horária/);
33
+ assert.match(installer, /cada hora/);
34
+ assert.match(installer, /checkout local/);
35
+ assert.match(installer, /standalone/);
36
+ assert.match(installer, /sem duplicar/);
37
+ assert.match(installer, /Nunca use o Agendador do Windows/);
38
+ assert.match(installer, /authorizes only canonically ready\/eligible items/);
39
+ assert.match(installer, /a cada hora, no minuto 0/);
40
+ assert.match(installer, /nova conversa/);
41
+ assert.match(installer, /\.agents\/dashboard\/work-priority\.json/);
42
+ assert.match(installer, /Ignore Automation memory and \$CODEX_HOME/);
43
+ assert.match(installer, /Start immediately by validating the repository and ready queue/);
44
+ assert.match(installer, /set_thread_title without threadId/);
45
+ assert.match(installer, /\[YYYY-MM-DD-T-HH-mm\] Tarefa Agendada/);
46
+
47
+ assert.match(executor, /snapshot elegível/);
48
+ assert.match(executor, /todos os PRDs antes de SPECs, e todos os SPECs antes das Tasks/);
49
+ assert.match(executor, /descendem de PRD/);
50
+ assert.match(executor, /`active`, `blocked`, `failed`, `cancelled` ou terminais/);
51
+ assert.match(executor, /\.agents\/dashboard\/work-priority\.json/);
52
+ assert.match(executor, /\.local\/automation\/ready-queue\.lock\.json/);
53
+ assert.match(executor, /owner_token/);
54
+ assert.match(executor, /fencing_token/);
55
+ assert.match(executor, /inteiro monotônico/);
56
+ assert.match(executor, /Antes de cada efeito/);
57
+ assert.match(executor, /set_thread_title/);
58
+ assert.match(executor, /sem `threadId`/);
59
+ assert.match(executor, /America\/Sao_Paulo/);
60
+ assert.match(executor, /falha de renomeação observada/);
61
+ assert.match(executor, /Task-first standalone `prepared`\/`planned`/);
62
+ assert.doesNotMatch(executor, /Task-first materializada/);
63
+ assert.match(executor, /exatamente um PreparedPlan resolvível/);
64
+ assert.match(executor, /`prepared_plan` inline válido \*\*ou\*\* `plan_ref` válido, nunca ambos/);
65
+ assert.match(executor, /não pode ter Execution vinculada/);
66
+ assert.match(executor, /nunca pode ter sido iniciada ou tentada/);
67
+ assert.match(executor, /Para cada candidata/);
68
+ assert.match(
69
+ executor,
70
+ /cujo próprio ID apareça em `task next` ou no conjunto materializado concorrente/,
71
+ );
72
+ assert.doesNotMatch(executor, /`task next` não vazio/);
73
+ assert.match(executor, /use `task execute` para materializar sua Execution/);
74
+
75
+ if (
76
+ await access(repositoryReadme).then(
77
+ () => true,
78
+ () => false,
79
+ )
80
+ ) {
81
+ const readme = await readFile(repositoryReadme, "utf8");
82
+ assert.match(readme, /\$zaip-skill-instalar-agendamento/);
83
+ assert.match(readme, /rodada horária/);
84
+ assert.match(readme, /Pronto para Executar/);
85
+ assert.match(readme, /Dashboard > Trabalho \(Kanban\) > Pronto para Executar/);
86
+ assert.match(readme, /máquina ligada, do Codex Desktop em execução/);
87
+ }
88
+ });
89
+
90
+ test("fencing lease rejects stale effects after renewal or ownership failure", () => {
91
+ let lock = { owner_token: "owner-a", fencing_token: 7, expires_at: 20 };
92
+ const renew = (owner, now, expiry) => {
93
+ if (lock.owner_token !== owner || now >= lock.expires_at) return null;
94
+ lock = { ...lock, expires_at: expiry };
95
+ return lock;
96
+ };
97
+ const effect = (owner, fence, now) => {
98
+ assert.equal(lock.owner_token, owner, "owner token must still match");
99
+ assert.equal(lock.fencing_token, fence, "fencing token must still be current");
100
+ assert.ok(now < lock.expires_at, "lease must be valid before an effect");
101
+ return "executed";
102
+ };
103
+
104
+ assert.equal(effect("owner-a", 7, 10), "executed");
105
+ assert.equal(renew("owner-a", 10, 30)?.fencing_token, 7);
106
+ lock = { owner_token: "owner-b", fencing_token: 8, expires_at: 40 };
107
+ assert.throws(() => effect("owner-a", 7, 11), /owner token/);
108
+ assert.equal(renew("owner-a", 11, 50), null);
109
+ assert.throws(() => effect("owner-b", 7, 12), /fencing token/);
110
+ assert.equal(effect("owner-b", 8, 12), "executed");
111
+ });
@@ -7,7 +7,7 @@ description: Execute prepared ZAIP work explicitly, materialize its DAG, and clo
7
7
 
8
8
  Use esta skill somente quando o usuário pedir execução. `prepare` não autoriza mutação nem promoção para `ready`; quando a execução foi pedida explicitamente, prepare o PRD/SPEC ainda em `draft`, se necessário, e então execute sem exigir outra confirmação intermediária.
9
9
 
10
- 1. Carregue o PreparedPlan e valide hash, origem, Requirements/AC, DAG, write scopes e estado atual. Ao construir ou diagnosticar o plano externo, leia [o contrato compacto](references/prepared-plan.md).
10
+ 1. Carregue o PreparedPlan e valide hash, origem, Requirements/AC, DAG, write scopes e estado atual. Antes de selecionar executor, carregue as Rules aplicáveis; para decisão comercial, use `$RULE-SPECIALIST-ROUTING` como fonte única da matriz de roteamento. Ao construir ou diagnosticar o plano externo, leia [o contrato compacto](references/prepared-plan.md).
11
11
  2. Materialize idempotentemente Change, Tasks e Execution antes da primeira alteração do produto.
12
12
  3. A partir da tentativa explícita de `execute`, classifique uso como `execution`; inicie Execution, Changes, Tasks elegíveis e Runs com atribuição ao nível de entrada (`task`, `spec` ou `prd`). Ausência de diff não retroage a fase: registre `changed_files` vazio e o resultado real.
13
13
  4. Execute a ordem topológica. Paralelize apenas Tasks independentes cujos arquivos, módulos, migrations, ambientes e recursos não conflitem.
@@ -18,7 +18,7 @@ Use esta skill somente quando o usuário pedir execução. `prepare` não autori
18
18
  9. Em cada `run usage`, leia `budget.context_refresh_required` e `budget.checkpoint_required`. O runtime grava o checkpoint sanitizado em `.local/checkpoints/`; quando sinalizado, reconstrua contexto somente de IDs ativos, diff e findings, descarte outputs brutos antigos e continue apenas com autoridade.
19
19
  10. Em falha operacional, use retry limitado; em falha lógica, crie repair/rework explícito. Nunca esconda uma tentativa.
20
20
  11. Cada tentativa usa uma Run raiz do `zaip-agent-orchestrator`; subagentes e fases materialmente distintas usam Sub-Runs relacionadas por `parent_run_id`. Cada Run/Sub-Run fixa agente, modelo e effort; retry técnico preserva a configuração e qualquer mudança deliberada abre outra chamada de agente.
21
- 12. Interaction read-only sem descendentes termina após a resposta, sem executor/finalizador. Para interaction com descendente delegado e para delivery, depois que todos os Sub-Runs de trabalho terminarem invoque `zaip-agent-finalizer` como último filho com propósito `finalization`. Não inicie novos filhos depois dele; auto-settlement nunca fecha interaction com descendente ativo. A CLI aplica seu resultado restrito; ausência, interrupção ou falha deixa a Execution inconclusiva como `blocked`.
21
+ 12. Interaction read-only sem descendentes termina após a resposta, sem executor/finalizador. Para interaction com descendente delegado e para delivery, depois que todos os Sub-Runs de trabalho terminarem invoque `zaip-agent-finalizer` como último filho com propósito `finalization`. Não inicie novos filhos depois dele; auto-settlement nunca fecha interaction com descendente ativo. Isso também vale para `cancelled`: o orquestrador aplica a decisão Gui pela CLI; comandos diretos Task/SPEC/PRD nunca terminalizam. Ausência, interrupção ou falha do Gui deixa a Execution inconclusiva como `blocked`.
22
22
  13. SPEC/PRD permanece `active` entre Runs filhas e só entra em verificação após todas as Tasks; a Run filha não entrega nem bloqueia automaticamente o pai.
23
23
  14. Resolva execução no menor grão explicitado: Task executa um nó elegível, SPEC executa sua DAG interna e PRD executa todas as SPECs selecionadas. Nunca amplie Task para SPEC/PRD por inferência.
24
24
  15. “Conclua a execução” ou “finalize a implementação” em macro ativo continua Tasks e gates até resultado verdadeiro; não força `deliver`. “Desenvolva/melhore/aprimore” interrompe execução implícita, registra diagnóstico e cria plano/rework antes de nova promoção.
@@ -2,7 +2,9 @@
2
2
 
3
3
  ## Estrutura
4
4
 
5
- - `<surface>/launcher.exe`: artefato de duplo clique.
5
+ - `<surface>/zaip-dashboard-windows.exe`: artefato Windows de duplo clique.
6
+ - `<surface>/zaip-dashboard-linux.sh`: launcher Linux executável.
7
+ - `<surface>/zaip-dashboard-mac.command`: launcher macOS executável.
6
8
  - `<surface>/packages/windows-launcher/`: fonte C# e build PowerShell.
7
9
  - `<surface>/packages/local-runtime/`: servidor loopback, sessão, lock e testes.
8
10
  - `<surface>/apps/frontend/dist/`: build estático servido; ajuste o path à superfície real.
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: zaip-skill-general-operations
3
+ description: Deliver bounded operational artifacts when no mandatory specialist scope applies. Use for documents, presentations, spreadsheets, process artifacts, and comparative research; do not use for regulated governance work or external acts.
4
+ ---
5
+
6
+ # Executar operações gerais
7
+
8
+ 1. Delimite o resultado, público, fontes, formato, write scope e critério de aceitação; trate fatos ausentes como pendências, nunca como dados inferidos.
9
+ 2. Se houver capability ou escopo obrigatório de produto, design, marketing, dados, segurança, cloud, frontend, backend, website ou governança, devolva ao orquestrador para a rota especialista.
10
+ 3. Produza o artefato delimitado e uma verificação proporcional. Para identidade visual existente, siga o contrato da Manu; para conteúdo de marketing, devolva a rota para Lúcia.
11
+ 4. Pesquisa comparativa usa apenas fontes autorizadas e registra critérios, evidência e incertezas. Não contrate, envie dados, assine, publique ou execute ato externo.
12
+ 5. Quando faltar autoridade humana, entregue a minuta, checklist, lacunas e a ação humana exata; a entrega não fica sem resultado por falta dessa autoridade.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "ZAIP General Operations"
3
+ short_description: "Deliver bounded operational artifacts outside specialist scopes."
4
+ default_prompt: "Use $zaip-skill-general-operations to deliver a bounded document, presentation, spreadsheet, process artifact, or comparative research result."
@@ -5,16 +5,18 @@ description: Use only when the user explicitly asks in the current turn to deplo
5
5
 
6
6
  # Deploy and repair GitHub publication
7
7
 
8
+ The exact command “faça deploy” authorizes publication of everything versionable in the selected worktree, including tracked and untracked files, after the safety gates below. It does not authorize provider deployment.
9
+
8
10
  Treat deploy as Git-only publication. An explicit current-turn request to `deploy`, `push`, `publicar`, `publicação` or GitHub publication selects this skill; it authorizes only the bounded Git publication described below, never a provider deployment or automatic publication.
9
11
 
10
12
  ## Authorization
11
13
 
12
14
  - Require an explicit deploy, push, publicar, publicação, GitHub publication, or failed-deploy repair request in the current turn.
13
- - The request authorizes the initial publication, bounded reconciliation needed to publish the selected branch, functional commits for the evidenced intended pending scope, and up to five repair cycles needed to make required local and remote GitHub checks pass.
15
+ - The request authorizes the initial publication, reconciliation needed to publish the selected branch, commits covering all versionable pending changes in the selected worktree, and up to five repair cycles needed to make required local and remote GitHub checks pass.
14
16
  - Limit repairs to the intended repository state and the evidenced failure. Do not add unrelated features or broaden product scope.
15
17
  - Never force push, rewrite history, replace remotes, change credentials or Git/SSH configuration, bypass checks, or deploy to another service.
16
- - Do not create lifecycle artifacts for an explicit Git-only publication request. The deploy authorization may stage and commit only the evidenced intended pending scope with explicit pathspecs before publication; it never authorizes unrelated product work.
17
- - Map a functional group to PRD/SPEC/Task only when evidence exists; otherwise use `[CODEX] <functional title>` without `ZAIP-Task`. Omit nonexistent lineage blocks and trailers. Deploy authorization never permits `git add -A`, broad staging, force, destructive reset, squash, or publication outside the current explicit request.
18
+ - Do not create lifecycle artifacts for an explicit Git-only publication request. The deploy authorization permits staging the complete selected worktree with `git add -A` after secret, size, and ignore checks; it never authorizes changes outside that worktree.
19
+ - Map a functional group to PRD/SPEC/Task only when evidence exists; otherwise use `[CODEX] <functional title>` without `ZAIP-Task`. Omit nonexistent lineage blocks and trailers. Broad staging is authorized only by the exact current-turn deploy request; force, destructive reset, history rewrite, and credential changes remain prohibited.
18
20
 
19
21
  ## Mandatory authorization record
20
22
 
@@ -32,8 +34,8 @@ The conversation and terminal deploy report are the authority record for Git-onl
32
34
  ## Multiple worktrees and divergent history
33
35
 
34
36
  1. Run `git worktree list --porcelain` and inspect `git status --porcelain` in every existing worktree before staging.
35
- 2. Select exactly one publishing worktree. A clean worktree on another branch or a detached verification worktree does not join the deploy. Preserve a stable dirty worktree and partition only its evidenced intended scope; exclude its alien paths unless the user explicitly includes them.
36
- 3. Stop when another process or agent is actively mutating a shared branch, index, canonical source or generated projection, or when scope is ambiguous.
37
+ 2. Select exactly one publishing worktree. A clean worktree on another branch or a detached verification worktree does not join the deploy. The selected worktree is the complete publication scope.
38
+ 3. Report concurrent activity, but do not block solely because the selected worktree is dirty or contains mixed changes; the explicit “faça deploy” authorization includes those changes. Stop only for an unresolved index conflict, secret/oversize file, authentication failure, or destructive/rewrite requirement.
37
39
  4. Prunable or missing worktrees are reported but never pruned automatically. Dirty detached or temporary worktrees are never deleted, reset, stashed or copied into the publishing worktree implicitly.
38
40
  5. Fetch once and compute ahead/behind for the publishing branch. If it is behind or diverged, reconcile only the selected branch under this deploy authorization.
39
41
  6. Before reconciliation, create a recoverable branch reference and preserve tracked plus untracked changes in a named stash. Verify both references before proceeding. Use `rebase` unless the user explicitly selected `merge`.
@@ -43,7 +45,7 @@ The conversation and terminal deploy report are the authority record for Git-onl
43
45
  ## Repair-loop integrity
44
46
 
45
47
  - A publication cycle is: run deploy preflight, inventory the intended pending diff, synchronize, create any required functional commits with explicit pathspecs, push, and verify the remote hash. When no intended pending diff exists, publish already-formed commits. Run only gates required or evidenced by repository Rules, the active Change, or failed remote CI.
46
- - First prove each functional group and its pathspecs from the intended pending diff; stage only that group with explicit paths, commit it, then continue with the next group. A stable mixed worktree is partitioned and preserved; only a moving worktree, ambiguous scope, or unresolved conflict is a terminal blocker.
48
+ - Inventory the complete pending diff, run the safety gates, then stage the selected worktree with `git add -A` and commit it. Do not require functional partitioning for this explicit broad-deploy mode.
47
49
  - Run each diagnostic, gate, fetch, stage, commit, push, and hash verification at most once per cycle.
48
50
  - Start a new cycle only after a repository change or new remote evidence. Never repeat an unchanged failing command hoping for a different result.
49
51
  - Continue until all required checks pass or a terminal blocker occurs. Stop after five repair cycles, or when the same root cause remains after two repairs.
@@ -69,7 +71,7 @@ Run preflight once at the start of the authorized deployment. On failure, stop.
69
71
  - Turbo cache hits are valid only when the active work did not originate from a failed remote CI gate.
70
72
  - When repairing failed CI, reproduce the exact failed gate once per repair cycle with Turbo cache bypassed when applicable.
71
73
  4. If a local gate fails, capture the exact failing command and error, make the smallest authorized repair, update lifecycle evidence, and start the next cycle without asking for another deploy authorization.
72
- 5. After all required local gates pass, partition only the evidenced intended pending diff with explicit pathspecs. If tracked or untracked changes remain outside that scope, stop and identify the Task that must own them; never stage or combine alien changes during deploy.
74
+ 5. After all required local gates pass, stage the complete selected worktree with `git add -A`. If a file is secret, oversized, ignored by policy, or outside the selected worktree, exclude it and report the reason; otherwise include it.
73
75
 
74
76
  ## Synchronize and publish each cycle
75
77
 
@@ -1,6 +1,6 @@
1
1
  interface:
2
2
  display_name: "ZAIP GitHub Deploy"
3
- short_description: "Publicação GitHub explícita, Git-only e verificável"
4
- default_prompt: "Use $zaip-skill-github-deploy somente para um pedido explícito neste turno de deploy, push, publicar ou publicação GitHub; registre a autorização, inventarie todos os worktrees, reconcilie com segurança apenas o worktree selecionado e publique somente o escopo evidenciado via SSH da pasta."
3
+ short_description: "Publicacao GitHub explicita, Git-only e verificavel"
4
+ default_prompt: "Use $zaip-skill-github-deploy para pedidos explicitos de deploy, push, publicar ou publicacao GitHub; quando o usuario disser 'faca deploy', trate o worktree selecionado inteiro como escopo autorizado, incluindo arquivos novos, apos os gates de segredos, tamanho, conflitos e SSH; publique via SSH da pasta sem force push nem reescrita de historico."
5
5
  policy:
6
6
  allow_implicit_invocation: true
@@ -12,22 +12,12 @@ test("explicit Git publication verbs select the guarded deploy skill", async ()
12
12
  readFile(resolve(skillRoot, "agents", "openai.yaml"), "utf8"),
13
13
  readFile(resolve(root, "rules", "core.md"), "utf8"),
14
14
  ]);
15
-
16
- assert.match(
17
- skill,
18
- /explicit current-turn request to `deploy`, `push`, `publicar`, `publicação`/,
19
- );
15
+ assert.match(skill, /explicit current-turn request to `deploy`, `push`, `publicar`/);
20
16
  assert.match(skill, /never grants publication automatically/);
21
17
  assert.doesNotMatch(skill, /standing automatic deployment|activate it automatically/);
22
18
  assert.match(openai, /\$zaip-skill-github-deploy/);
23
- assert.match(
24
- openai,
25
- /pedido explícito neste turno de deploy, push, publicar ou publicação GitHub/,
26
- );
27
- assert.match(
28
- core,
29
- /Pedido explícito no turno de `deploy\|push\|publicar\|publicação GitHub` seleciona `\$zaip-skill-github-deploy`/,
30
- );
19
+ assert.match(openai, /fa.a deploy/);
20
+ assert.match(core, /deploy.*seleciona/);
31
21
  });
32
22
 
33
23
  test("deploy guidance preserves the canonical Task subject and Git-only boundary", async () => {
@@ -35,46 +25,29 @@ test("deploy guidance preserves the canonical Task subject and Git-only boundary
35
25
  readFile(resolve(skillRoot, "SKILL.md"), "utf8"),
36
26
  readFile(resolve(root, "rules", "workflow.md"), "utf8"),
37
27
  ]);
38
- const subject = "[CODEX|CLAUDE] [P:XXXX] [S:XXXX] [T:XXXX] <Task title>";
39
-
40
- assert.ok(skill.includes(subject));
28
+ assert.ok(skill.includes("[CODEX|CLAUDE] [P:XXXX] [S:XXXX] [T:XXXX] <Task title>"));
41
29
  assert.match(skill, /exclusively `CODEX` or `CLAUDE`; `AUTO` is not part/);
42
- assert.match(skill, /P\/S\/T blocks are emitted only when their evidence exists/);
43
- assert.match(skill, /\[Task-first:XXXX\]/);
44
30
  assert.match(skill, /Git-only publication/);
45
- assert.match(workflow, /assunto é ≤96 e só o título reduz por palavra/);
46
31
  assert.match(workflow, /formar commits funcionais apenas do diff pretendido\/evidenciado/);
47
- assert.doesNotMatch(workflow, /deploy\/push simples publica somente commits formados/);
48
32
  });
49
33
 
50
- test("every explicit deploy authorizes bounded reconciliation and functional commits with pathspecs", async () => {
34
+ test("faça deploy authorizes the complete selected worktree with safety gates", async () => {
51
35
  const skill = await readFile(resolve(skillRoot, "SKILL.md"), "utf8");
52
-
53
- assert.match(skill, /bounded reconciliation needed to publish the selected branch/);
54
- assert.match(skill, /functional commits for the evidenced intended pending scope/);
55
- assert.match(skill, /Use `rebase` unless the user explicitly selected `merge`/);
56
- assert.match(skill, /explicit pathspecs/);
57
- assert.match(skill, /without `ZAIP-Task`/);
58
- assert.match(skill, /never permits `git add -A`/);
59
- assert.match(skill, /stable mixed worktree is partitioned and preserved/);
60
- assert.match(
61
- skill,
62
- /moving worktree, ambiguous scope, or unresolved conflict is a terminal blocker/,
63
- );
36
+ assert.match(skill, /commits covering all versionable pending changes/);
37
+ assert.match(skill, /`git add -A`/);
38
+ assert.match(skill, /selected worktree is the complete publication scope/);
39
+ assert.match(skill, /Stop only for an unresolved index conflict/);
64
40
  });
65
41
 
66
- test("deploy permission and multi-worktree reconciliation are explicit and recoverable", async () => {
42
+ test("deploy permission and reconciliation remain explicit and recoverable", async () => {
67
43
  const [skill, openai] = await Promise.all([
68
44
  readFile(resolve(skillRoot, "SKILL.md"), "utf8"),
69
45
  readFile(resolve(skillRoot, "agents", "openai.yaml"), "utf8"),
70
46
  ]);
71
-
72
47
  assert.match(skill, /Mandatory authorization record/);
73
48
  assert.match(skill, /repository, remote, branch and selected worktree/);
74
- assert.match(skill, /`rebase` by default, or user-selected `merge`/);
75
49
  assert.match(skill, /recoverable branch reference/);
76
50
  assert.match(skill, /preserve tracked plus untracked changes in a named stash/);
77
51
  assert.match(skill, /Restore with `git stash apply`/);
78
- assert.match(skill, /Prunable or missing worktrees are reported but never pruned automatically/);
79
- assert.match(openai, /registre a autorização, inventarie todos os worktrees/);
52
+ assert.match(openai, /worktree selecionado inteiro como escopo autorizado/);
80
53
  });
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: zaip-skill-governance-compliance
3
+ description: Prepare non-binding internal governance and compliance artifacts for HR, legal operations, policy, privacy, vendors, and risk. Use for bounded internal work; do not give legal advice or execute external authority.
4
+ ---
5
+
6
+ # Preparar governança e conformidade
7
+
8
+ 1. Delimite jurisdição, destinatário, fontes autorizadas, dados pessoais, prazo e autoridade necessária. Declare toda informação ausente ou incerta.
9
+ 2. Produza a minuta, checklist, matriz de risco, registro de decisão ou pacote de aprovação solicitado. Diferencie requisito fornecido, referência e hipótese.
10
+ 3. Não ofereça parecer jurídico vinculante, representação, assinatura, protocolo externo, contratação, decisão de pessoas ou aprovação regulatória.
11
+ 4. Para cada fronteira de autoridade, prepare a versão revisável, os riscos, pendências e a ação humana exata. Escale somente a decisão ou ato que exige autoridade; não interrompa a preparação do restante.
12
+ 5. Registre decisões consequenciais e evidência proporcional na Change/Execution, preservando confidencialidade e escopo declarado.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "ZAIP Governance and Compliance"
3
+ short_description: "Prepare internal governance and compliance artifacts."
4
+ default_prompt: "Use $zaip-skill-governance-compliance to prepare a bounded internal HR, legal-operations, policy, privacy, vendor, or risk artifact."
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: zaip-skill-growth-strategy-revops
3
+ description: Guide data-driven growth strategy, RevOps decisions, experiments, and financial-impact recommendations. Use for cross-funnel growth or operating decisions; not for raw data analysis, campaign production, or external commercial action.
4
+ ---
5
+
6
+ # Orientar Growth e RevOps
7
+
8
+ 1. Delimite a decisão de negócio, período, segmentos, funil, métricas, restrições e impacto financeiro esperado. Separe fatos observados, cálculo determinístico, hipótese e recomendação.
9
+ 2. Examine a ponta a ponta do funil e dos handoffs de RevOps: aquisição, qualificação, conversão, receita, retenção, expansão, custos e capacidade. Não declare causalidade sem desenho ou evidência adequados.
10
+ 3. Proponha testes com hipótese, população, métrica primária, guardrails, duração, critério de decisão, risco e responsável. Não execute campanhas, alterações comerciais externas ou experimentos sem a autorização e o escopo correspondentes.
11
+ 4. Priorize oportunidades por impacto potencial, confiança, esforço, dependências e reversibilidade. Para recomendações financeiras, explicite fórmula, premissas, sensibilidade e lacunas; não prometa receita nem economia.
12
+ 5. Em conselho ou planejamento de negócio, priorize portfólio, modelo de negócio, opções e handoffs de execução. Solicite análise reprodutível de Gabi quando houver dataset, cálculo, qualidade de dados ou significância. Encaminhe plataforma de marca à Sarah, campanha/copy a Lúcia e playbook/processo sales-facing a Aaron.
13
+ 6. Produza uma recomendação consultiva: decisão, evidência, incerteza, opções, impacto esperado, próximo experimento e dono da próxima ação. Não produza campanha, Brandbook ou playbook comercial como substituto da recomendação.
14
+
15
+ Consulte o [framework de decisão](references/growth-revops-framework.md) para planejar diagnóstico ou experimento.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Growth Strategist"
3
+ short_description: "Guide data-driven growth and RevOps decisions."
4
+ default_prompt: "Use $zaip-skill-growth-strategy-revops to analyze growth or RevOps decisions with evidence."