@zaip-ai/cli 1.0.7 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/dist/services/adapters.d.ts +1 -1
- package/dist/services/adapters.d.ts.map +1 -1
- package/dist/services/adapters.js +15 -5
- package/dist/services/adapters.js.map +1 -1
- package/dist/services/adapters.test.js +1 -1
- package/dist/services/agent-adapters.d.ts +9 -0
- package/dist/services/agent-adapters.d.ts.map +1 -1
- package/dist/services/agent-adapters.js +39 -4
- package/dist/services/agent-adapters.js.map +1 -1
- package/dist/services/agent-adapters.test.js +13 -1
- package/dist/services/agent-adapters.test.js.map +1 -1
- package/dist/services/codex-config-template.d.ts +2 -1
- package/dist/services/codex-config-template.d.ts.map +1 -1
- package/dist/services/codex-config-template.js +13 -2
- package/dist/services/codex-config-template.js.map +1 -1
- package/dist/services/codex-rules.d.ts +1 -1
- package/dist/services/codex-rules.d.ts.map +1 -1
- package/dist/services/codex-rules.js +31 -7
- package/dist/services/codex-rules.js.map +1 -1
- package/dist/services/codex-subagent-hook-template.d.ts +1 -1
- package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
- package/dist/services/codex-subagent-hook-template.js +4 -1
- package/dist/services/codex-subagent-hook-template.js.map +1 -1
- package/dist/services/doctor.d.ts.map +1 -1
- package/dist/services/doctor.js +3 -1
- package/dist/services/doctor.js.map +1 -1
- package/dist/services/global-codex-config.d.ts +6 -3
- package/dist/services/global-codex-config.d.ts.map +1 -1
- package/dist/services/global-codex-config.js +82 -13
- package/dist/services/global-codex-config.js.map +1 -1
- package/dist/services/global-codex-config.test.js +57 -10
- package/dist/services/global-codex-config.test.js.map +1 -1
- package/dist/services/install-agents-template.d.ts.map +1 -1
- package/dist/services/install-agents-template.js +15 -2
- package/dist/services/install-agents-template.js.map +1 -1
- package/dist/services/logger.js +1 -1
- package/dist/services/logger.js.map +1 -1
- package/dist/services/logger.test.js +3 -3
- package/dist/services/logger.test.js.map +1 -1
- package/dist/services/runtime-template.test.js +21 -5
- package/dist/services/runtime-template.test.js.map +1 -1
- package/dist/services/template-manifest.d.ts.map +1 -1
- package/dist/services/template-manifest.js +7 -0
- package/dist/services/template-manifest.js.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/architecture/software-architecture.md +131 -0
- package/templates/.agents/branding/brandbook.docx +0 -0
- package/templates/.agents/branding/brandbook.md +60 -0
- package/templates/.agents/config/agents/catalog.yaml +310 -10
- package/templates/.agents/config/clients/codex/agents/zaip-agent-brand-strategist.toml +30 -0
- package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +5 -5
- package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +2 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-general-operations.toml +30 -0
- package/templates/.agents/config/clients/codex/agents/zaip-agent-governance-compliance.toml +30 -0
- package/templates/.agents/config/clients/codex/agents/zaip-agent-growth-strategist.toml +30 -0
- package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +8 -8
- package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +5 -3
- package/templates/.agents/config/clients/codex/agents/zaip-agent-sales-specialist.toml +30 -0
- package/templates/.agents/config/project.yaml +1 -1
- package/templates/.agents/dashboard/.tmp-run-list.json +254 -0
- package/templates/.agents/dashboard/.zaip-managed.json +775 -163
- package/templates/.agents/dashboard/DATA-DICTIONARY.md +2227 -0
- package/templates/.agents/dashboard/README.md +48 -97
- package/templates/.agents/dashboard/apps/frontend/dist/assets/CostCalculationGuidePage-DxR_pgSV.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-4jZLTWE_.js +2156 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-CKcsqb-r.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-BomxqCBU.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-DmmJD2Th.js +3 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-BwtitWa_.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-CaKwQP43.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-BZ5WdaMN.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-N5Csr0RP.js +68 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-C98LGC-Q.js → dashboard-localization-CLJ0lT9v.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/icons-vendor-C0fj2uU9.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-C4aIB1PV.js +2 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DK_enB5Z.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/react-vendor-BEsJ-FYH.js +9 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/rolldown-runtime-D9-fqq9M.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-B6y6Gw12.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-DFY7ZDlu.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +9 -2
- package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/App.tsx +1129 -600
- package/templates/.agents/dashboard/apps/frontend/src/AppLoadingBoundary.tsx +48 -0
- package/templates/.agents/dashboard/apps/frontend/src/AppLoadingPanels.tsx +2 -0
- package/templates/.agents/dashboard/apps/frontend/src/AppOverlays.tsx +247 -0
- package/templates/.agents/dashboard/apps/frontend/src/AppRequestGuards.tsx +95 -0
- package/templates/.agents/dashboard/apps/frontend/src/AppSetupRoutes.tsx +87 -0
- package/templates/.agents/dashboard/apps/frontend/src/CostCalculationGuidePage.tsx +641 -0
- package/templates/.agents/dashboard/apps/frontend/src/DashboardAlternateContent.tsx +159 -0
- package/templates/.agents/dashboard/apps/frontend/src/DashboardCapabilityNav.tsx +13 -13
- package/templates/.agents/dashboard/apps/frontend/src/DashboardGlobalSettings.tsx +56 -0
- package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +266 -315
- package/templates/.agents/dashboard/apps/frontend/src/ProjectStackEditor.tsx +151 -0
- package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.test.ts +37 -0
- package/templates/.agents/dashboard/apps/frontend/src/TraceabilityWorkspace.tsx +114 -12
- package/templates/.agents/dashboard/apps/frontend/src/app-preferences.ts +15 -0
- package/templates/.agents/dashboard/apps/frontend/src/app-session-token.ts +20 -0
- package/templates/.agents/dashboard/apps/frontend/src/cost-calculation-guide.css +267 -0
- package/templates/.agents/dashboard/apps/frontend/src/cost-calculation-guide.test.ts +69 -0
- package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +85 -0
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +133 -0
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.ts +453 -13
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-localization.ts +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/main.tsx +1 -0
- package/templates/.agents/dashboard/apps/frontend/src/operations-detail-hydration.test.ts +55 -0
- package/templates/.agents/dashboard/apps/frontend/src/operations-detail-hydration.ts +36 -0
- package/templates/.agents/dashboard/apps/frontend/src/operations-entity-page-projection.test.ts +126 -0
- package/templates/.agents/dashboard/apps/frontend/src/operations-entity-page-projection.ts +181 -0
- package/templates/.agents/dashboard/apps/frontend/src/operations-period-contract.test.ts +138 -0
- package/templates/.agents/dashboard/apps/frontend/src/operations-period-render.test.ts +105 -0
- package/templates/.agents/dashboard/apps/frontend/src/operations-period.test.ts +6 -3
- package/templates/.agents/dashboard/apps/frontend/src/operations-period.ts +9 -5
- package/templates/.agents/dashboard/apps/frontend/src/overview-status-page.test.ts +26 -0
- package/templates/.agents/dashboard/apps/frontend/src/period-transition-overlay.css +44 -0
- package/templates/.agents/dashboard/apps/frontend/src/project-settings-model.ts +121 -62
- package/templates/.agents/dashboard/apps/frontend/src/project-settings-page.css +482 -3
- package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +84 -17
- package/templates/.agents/dashboard/apps/frontend/src/snapshot-banner-semantics.test.ts +78 -0
- package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +234 -39
- package/templates/.agents/dashboard/apps/frontend/src/snapshot-notice.ts +15 -0
- package/templates/.agents/dashboard/apps/frontend/src/sqlite-cost-adapters.ts +26 -0
- package/templates/.agents/dashboard/apps/frontend/src/styles.css +14 -2
- package/templates/.agents/dashboard/apps/frontend/src/traceability-workspace.css +38 -2
- package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.test.ts +253 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.ts +380 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-effects.ts +175 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-operations-pages.ts +395 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-documents.ts +141 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-idle-cost-prefetch.ts +45 -0
- package/templates/.agents/dashboard/apps/frontend/src/work-list-pagination.test.ts +46 -0
- package/templates/.agents/dashboard/apps/frontend/src/work-list-pagination.ts +36 -0
- package/templates/.agents/dashboard/apps/frontend/vite.config.ts +58 -5
- package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/contracts.ts +47 -6
- package/templates/.agents/dashboard/modules/cost-monitor/src/duration-estimate.ts +13 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.test.ts +134 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.tsx +290 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.test.ts +133 -19
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostCharts.tsx +134 -43
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.tsx +137 -19
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostModelsAuditTable.test.ts +2 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostModelsAuditTable.tsx +13 -10
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorContent.tsx +328 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.test.ts +302 -6
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +627 -400
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostSummary.tsx +5 -13
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +370 -72
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.tsx +467 -326
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/MacroCostTable.test.ts +17 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/MacroCostTable.tsx +25 -6
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-copy.ts +0 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-helpers.ts +17 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-responsive.css +6 -3
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-row-filters.ts +123 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-summary.ts +8 -3
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-views.ts +32 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor.css +55 -14
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-presentation.ts +121 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/index.ts +3 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/period-cost-groups.test.ts +68 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/period-cost-groups.ts +33 -5
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-compact-cost-page.ts +119 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-group-page.test.ts +12 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-group-page.ts +146 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-run-page.ts +118 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.test.ts +2 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.ts +5 -3
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-pricing-fallback.test.ts +53 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.basics.test.ts +34 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.test.ts +168 -161
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +188 -29
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.test.ts +757 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +784 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-terminal-day.test.ts +100 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/index.ts +1 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/refactor-map-xr9l.json +61 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/source-size-cost-server/build-cost-monitor-projection-agents.test.ts +31 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/source-size-cost-server/build-cost-summary-projection-duration.test.ts +414 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/task-cost-groups.test.ts +41 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/task-cost-groups.ts +55 -11
- package/templates/.agents/dashboard/modules/operations/package.json +2 -1
- package/templates/.agents/dashboard/modules/operations/src/contracts.ts +185 -0
- package/templates/.agents/dashboard/modules/operations/src/duration-population.test.ts +63 -1
- package/templates/.agents/dashboard/modules/operations/src/duration-population.ts +60 -5
- package/templates/.agents/dashboard/modules/operations/src/react/EntityDetailsDialog.tsx +14 -3
- package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.test.ts +44 -1
- package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +345 -18
- package/templates/.agents/dashboard/modules/operations/src/react/MacroPlanningDialog.tsx +1 -0
- package/templates/.agents/dashboard/modules/operations/src/react/OperationDateFilters.test.ts +9 -5
- package/templates/.agents/dashboard/modules/operations/src/react/OperationDateFilters.tsx +2 -2
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsMainContent.tsx +168 -0
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.helpers.tsx +95 -6
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +367 -14
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +562 -131
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +353 -355
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageNavigation.tsx +65 -0
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageOverview.tsx +169 -0
- package/templates/.agents/dashboard/modules/operations/src/react/PeriodSummaryTable.tsx +73 -8
- package/templates/.agents/dashboard/modules/operations/src/react/PrdDocumentDialog.test.tsx +32 -0
- package/templates/.agents/dashboard/modules/operations/src/react/PrdDocumentDialog.tsx +62 -6
- package/templates/.agents/dashboard/modules/operations/src/react/TaskBoard.test.ts +55 -0
- package/templates/.agents/dashboard/modules/operations/src/react/TaskBoard.tsx +27 -19
- package/templates/.agents/dashboard/modules/operations/src/react/TaskDetailsDialog.tsx +105 -42
- package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.priority.test.ts +19 -0
- package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkBoard.tsx +265 -36
- package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.test.ts +171 -8
- package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.tsx +98 -68
- package/templates/.agents/dashboard/modules/operations/src/react/conversation-rows.test.ts +72 -1
- package/templates/.agents/dashboard/modules/operations/src/react/conversation-rows.ts +78 -17
- package/templates/.agents/dashboard/modules/operations/src/react/execution-metrics.ts +6 -4
- package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.test.ts +431 -1
- package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.tsx +574 -20
- package/templates/.agents/dashboard/modules/operations/src/react/export/export-layout.test.ts +42 -4
- package/templates/.agents/dashboard/modules/operations/src/react/export/xlsx-runtime-e2e.test.ts +248 -0
- package/templates/.agents/dashboard/modules/operations/src/react/macro-planning-dialog-content.css +49 -0
- package/templates/.agents/dashboard/modules/operations/src/react/macro-planning-dialog.css +93 -50
- package/templates/.agents/dashboard/modules/operations/src/react/manual-work-priority.test.ts +82 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operation-date-range.test.ts +29 -2
- package/templates/.agents/dashboard/modules/operations/src/react/operation-date-range.ts +22 -1
- package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.test.ts +77 -4
- package/templates/.agents/dashboard/modules/operations/src/react/operation-duration.ts +67 -5
- package/templates/.agents/dashboard/modules/operations/src/react/operations-coverage-toast.test.ts +54 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-global-filters.test.ts +22 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +149 -12
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview.status-cards.test.ts +27 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +176 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-period-scope.test.ts +160 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-period-scope.ts +47 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-query.ts +10 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-responsive.css +3 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-view-labels.ts +28 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-view-order.test.ts +21 -7
- package/templates/.agents/dashboard/modules/operations/src/react/operations.css +42 -0
- package/templates/.agents/dashboard/modules/operations/src/react/period-summary-population.test.ts +54 -0
- package/templates/.agents/dashboard/modules/operations/src/react/period-summary-population.ts +32 -0
- package/templates/.agents/dashboard/modules/operations/src/react/period-summary.test.ts +241 -6
- package/templates/.agents/dashboard/modules/operations/src/react/period-summary.ts +148 -6
- package/templates/.agents/dashboard/modules/operations/src/react/popup-localization.test.ts +1 -1
- package/templates/.agents/dashboard/modules/operations/src/react/unified-work-board.css +132 -0
- package/templates/.agents/dashboard/modules/operations/src/react/unified-work-board.css.test.ts +13 -0
- package/templates/.agents/dashboard/modules/operations/src/react/unified-work-board.header.test.ts +16 -0
- package/templates/.agents/dashboard/modules/operations/src/react/use-infinite-column.ts +11 -5
- package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.test.ts +7 -4
- package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.ts +5 -84
- package/templates/.agents/dashboard/modules/operations/src/server/build-operations-projection.test.ts +291 -15
- package/templates/.agents/dashboard/modules/operations/src/server/build-operations-projection.ts +182 -472
- package/templates/.agents/dashboard/modules/operations/src/server/canonical-compat.test.ts +40 -0
- package/templates/.agents/dashboard/modules/operations/src/server/canonical-compat.ts +19 -6
- package/templates/.agents/dashboard/modules/operations/src/server/canonical-run-projection.ts +31 -6
- package/templates/.agents/dashboard/modules/operations/src/server/daily-duration-projection.ts +220 -0
- package/templates/.agents/dashboard/modules/operations/src/server/execution-duration-projection.ts +28 -0
- package/templates/.agents/dashboard/modules/operations/src/server/execution-relationship-counts.test.ts +39 -2
- package/templates/.agents/dashboard/modules/operations/src/server/execution-relationship-counts.ts +25 -13
- package/templates/.agents/dashboard/modules/operations/src/server/filter.test.ts +3 -3
- package/templates/.agents/dashboard/modules/operations/src/server/filter.ts +7 -2
- package/templates/.agents/dashboard/modules/operations/src/server/index.ts +3 -0
- package/templates/.agents/dashboard/modules/operations/src/server/macro.ts +3 -12
- package/templates/.agents/dashboard/modules/operations/src/server/manifest-usage.ts +65 -0
- package/templates/.agents/dashboard/modules/operations/src/server/operations-projection-aggregates.ts +297 -0
- package/templates/.agents/dashboard/modules/operations/src/server/quick-daily-operations-projection.ts +330 -0
- package/templates/.agents/dashboard/modules/operations/src/server/quick-operations-projection.test.ts +505 -0
- package/templates/.agents/dashboard/modules/operations/src/server/quick-operations-projection.ts +609 -0
- package/templates/.agents/dashboard/modules/operations/src/server/runs.ts +18 -19
- package/templates/.agents/dashboard/modules/operations/src/work-board-model.ts +76 -0
- package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
- package/templates/.agents/dashboard/modules/traceability/src/server/build-task-trace.ts +3 -1
- package/templates/.agents/dashboard/packages/branding/package.json +1 -1
- package/templates/.agents/dashboard/packages/branding/src/index.ts +1 -1
- package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
- package/templates/.agents/dashboard/packages/contracts/src/index.ts +2 -0
- package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +1759 -0
- package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs.metafile.json +7333 -0
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +1611 -0
- package/templates/.agents/dashboard/packages/local-runtime/package.json +8 -3
- package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-dashboard.mjs +20 -0
- package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-runtime.mjs +114 -0
- package/templates/.agents/dashboard/packages/local-runtime/scripts/rebuild-sqlite-read-model.mjs +31 -0
- package/templates/.agents/dashboard/packages/local-runtime/scripts/source-size-runtime-scripts/sqlite-read-model-fixture.mjs +397 -0
- package/templates/.agents/dashboard/packages/local-runtime/scripts/test-sqlite-read-model.mjs +589 -0
- package/templates/.agents/dashboard/packages/local-runtime/scripts/test-unix-launchers.mjs +53 -0
- package/templates/.agents/dashboard/packages/local-runtime/scripts/validate-sqlite-read-model.mjs +203 -0
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +1646 -107
- package/templates/.agents/dashboard/packages/local-runtime/src/agent-adapter-sync.ts +30 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.test.ts +3 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.ts +5 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/manifest-runs.ts +72 -33
- package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +339 -4
- package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +392 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/runtime.mjs +5 -5
- package/templates/.agents/dashboard/packages/local-runtime/src/server-board.test.ts +110 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-board.ts +189 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-cross-layer-parity.test.ts +245 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-daily-read-models-route.ts +64 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-daily-read-models.test.ts +204 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-daily-read-models.ts +194 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-pages.test.ts +163 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-pages.ts +354 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-runs-route.test.ts +74 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-runs-route.ts +113 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-overview.test.ts +68 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-period.ts +47 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-projections.ts +483 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-settings.test.ts +5 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +178 -84
- package/templates/.agents/dashboard/packages/local-runtime/src/server-workspace.ts +149 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +675 -267
- package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +1212 -309
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-metric-contract.test.ts +53 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-metric-contract.ts +722 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +3743 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.ts +7017 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/work-priority-contract.test.ts +33 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-history.mjs +41 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-processes.mjs +210 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.mjs +514 -190
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +324 -24
- package/templates/.agents/dashboard/packages/ui/package.json +1 -1
- package/templates/.agents/dashboard/packages/windows-launcher/LauncherVerificationBehaviorTests.cs +206 -0
- package/templates/.agents/dashboard/packages/windows-launcher/Program.cs +95 -8
- package/templates/.agents/dashboard/packages/windows-launcher/build-dashboard-launcher.ps1 +2 -2
- package/templates/.agents/dashboard/packages/windows-launcher/run-launcher-verification-tests.ps1 +22 -0
- package/templates/.agents/dashboard/read-model.dbml +2201 -0
- package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/playwright.config.ts +1 -1
- package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +216 -41
- package/templates/.agents/dashboard/work-priority.json +34 -0
- package/templates/.agents/dashboard/zaip-dashboard-linux.sh +45 -0
- package/templates/.agents/dashboard/zaip-dashboard-mac.command +3 -0
- package/templates/.agents/dashboard/zaip-dashboard-windows.exe +0 -0
- package/templates/.agents/design/.zaip-managed.json +3 -3
- package/templates/.agents/design/apps/catalog/package.json +1 -1
- package/templates/.agents/design/packages/local-runtime/package.json +1 -1
- package/templates/.agents/growth/estrategia-bootstrap-90-dias.md +169 -0
- package/templates/.agents/growth/strategy.md +27 -0
- package/templates/.agents/marketing/estrategia-marketing-zaip-90-dias.md +197 -0
- package/templates/.agents/marketing/strategy.md +29 -0
- package/templates/.agents/requirements/autonomous-assurance.md +1 -1
- package/templates/.agents/requirements/comparative-audit.md +1 -1
- package/templates/.agents/requirements/context-engine.md +1 -1
- package/templates/.agents/requirements/cost-observability.md +1 -1
- package/templates/.agents/requirements/dashboard-launch.md +24 -0
- package/templates/.agents/requirements/data-export.md +1 -1
- package/templates/.agents/requirements/design-system.md +1 -1
- package/templates/.agents/requirements/execution-engine.md +1 -1
- package/templates/.agents/requirements/kanban-dashboard.md +4 -3
- package/templates/.agents/requirements/model-orchestration.md +1 -1
- package/templates/.agents/requirements/public-distribution.md +9 -6
- package/templates/.agents/requirements/software-architecture.md +1 -1
- package/templates/.agents/requirements/strategic-improvements.md +1 -1
- package/templates/.agents/requirements/work-lifecycle.md +9 -3
- package/templates/.agents/requirements/zaip-strategic-95.md +4 -4
- package/templates/.agents/rules/autonomy-decision.md +15 -0
- package/templates/.agents/rules/core.md +1 -1
- package/templates/.agents/rules/run-lifecycle-closure.md +1 -1
- package/templates/.agents/rules/specialist-routing.md +19 -0
- package/templates/.agents/rules/workflow.md +1 -1
- package/templates/.agents/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +118 -67
- package/templates/.agents/runtime/checksums.sha256 +6 -4
- package/templates/.agents/runtime/manifest.json +3 -1
- package/templates/.agents/runtime/pnpm-lock.sha256 +1 -0
- package/templates/.agents/runtime/provenance.json +11 -0
- package/templates/.agents/runtime/sbom.cdx.json +1929 -39
- package/templates/.agents/sales/playbook.md +32 -0
- package/templates/.agents/sales/roteiro-comercial-zaip.md +252 -0
- package/templates/.agents/skills/zaip-aios/SKILL.md +1 -1
- package/templates/.agents/skills/zaip-skill-brand-governance/SKILL.md +22 -0
- package/templates/.agents/skills/zaip-skill-brand-governance/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-brand-governance/references/brandbook-framework.md +39 -0
- package/templates/.agents/skills/zaip-skill-brand-governance/references/brandbook-standards.md +30 -0
- package/templates/.agents/skills/zaip-skill-dashboard-sqlite/SKILL.md +25 -0
- package/templates/.agents/skills/zaip-skill-dashboard-sqlite/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-enforce-architecture/SKILL.md +2 -0
- package/templates/.agents/skills/zaip-skill-executar-fila-pronta/SKILL.md +18 -0
- package/templates/.agents/skills/zaip-skill-executar-fila-pronta/agents/openai.yaml +6 -0
- package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.mjs +71 -0
- package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.test.mjs +60 -0
- package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/scheduled-ready-queue-contract.test.mjs +111 -0
- package/templates/.agents/skills/zaip-skill-execution/SKILL.md +2 -2
- package/templates/.agents/skills/zaip-skill-frontend-launcher/references/launcher-contract.md +3 -1
- package/templates/.agents/skills/zaip-skill-general-operations/SKILL.md +12 -0
- package/templates/.agents/skills/zaip-skill-general-operations/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +9 -7
- package/templates/.agents/skills/zaip-skill-github-deploy/agents/openai.yaml +2 -2
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +11 -38
- package/templates/.agents/skills/zaip-skill-governance-compliance/SKILL.md +12 -0
- package/templates/.agents/skills/zaip-skill-governance-compliance/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-growth-strategy-revops/SKILL.md +21 -0
- package/templates/.agents/skills/zaip-skill-growth-strategy-revops/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-growth-strategy-revops/references/growth-revops-framework.md +25 -0
- package/templates/.agents/skills/zaip-skill-instalar-agendamento/SKILL.md +17 -0
- package/templates/.agents/skills/zaip-skill-instalar-agendamento/agents/openai.yaml +6 -0
- package/templates/.agents/skills/zaip-skill-marketing/SKILL.md +9 -3
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +99 -93
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +132 -23
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +149 -1
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.mjs +76 -19
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.test.mjs +217 -7
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/source-size-telemetry/model-identity-reconciliation.mjs +77 -0
- package/templates/.agents/skills/zaip-skill-sales-methodology/SKILL.md +20 -0
- package/templates/.agents/skills/zaip-skill-sales-methodology/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-sales-methodology/references/sales-process-framework.md +77 -0
- package/templates/.agents/skills/zaip-skill-setup/SKILL.md +5 -0
- package/templates/.agents/skills/zaip-skill-sqlite-read-model/SKILL.md +96 -0
- package/templates/.agents/skills/zaip-skill-sqlite-read-model/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-sqlite-read-model/scripts/ensure-node.mjs +41 -0
- package/templates/.agents/zaip-aios/INDEX.md +11 -0
- package/templates/.agents/zaip-aios/README.md +38 -8
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/.agents/zaip-aios/guides/09-agentes-e-squads.md +43 -6
- package/templates/.agents/zaip-aios/guides/10-seguranca.md +21 -7
- package/templates/.agents/zaip-aios/guides/17-como-o-custo-e-calculado.md +32 -0
- package/templates/.agents/zaip-aios/guides/18-catalogo-de-agentes.md +76 -0
- package/templates/.agents/zaip-aios/guides/19-assurance-e-autonomia.md +72 -0
- package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +330 -0
- package/templates/.agents/zaip-aios/guides/21-telemetria-monitor-custos.md +52 -0
- package/templates/.agents/zaip-aios/guides/22-fluxos-e-roteamento.md +69 -0
- package/templates/.agents/zaip-aios/guides/23-orquestracao-de-modelos.md +483 -0
- package/templates/.agents/zaip-aios/guides/24-calculo-de-custos-openai.md +85 -0
- package/templates/.agents/zaip-aios/guides/25-fontes-de-precos-openai.md +18 -0
- package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +44 -0
- package/templates/.agents/zaip-aios/guides/27-telemetria-git-native.md +167 -0
- package/templates/.agents/zaip-aios/guides/28-lifecycle-completo.md +144 -0
- package/templates/.agents/zaip-aios/guides/assets/diagrams/lifecycles-task-spec-prd.png +0 -0
- package/templates/.agents/zaip-aios/guides/assets/diagrams/prd-lifecycle.png +0 -0
- package/templates/.agents/zaip-aios/guides/assets/diagrams/spec-lifecycle.png +0 -0
- package/templates/.agents/zaip-aios/guides/assets/diagrams/task-lifecycle.png +0 -0
- package/templates/template-manifest.json +1082 -215
- package/templates/.agents/dashboard/apps/frontend/dist/assets/AgentCatalogSettingsPage-CLYIi7Vo.js +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/AgentCatalogSettingsPage-DTDNVQGX.css +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-Cv-JcoxP.js +0 -1320
- package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-CzEggcRb.js +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-05YKn6Z4.js +0 -3
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-YO3yqtgV.css +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-8AzCnl3a.js +0 -77
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DdBYQ_8D.css +0 -1
- package/templates/.agents/dashboard/apps/frontend/src/AgentCatalogSettingsPage.tsx +0 -617
- package/templates/.agents/dashboard/apps/frontend/src/agent-catalog-settings-page.css +0 -660
- package/templates/.agents/dashboard/apps/frontend/src/agent-catalog-settings.test.ts +0 -249
- package/templates/.agents/dashboard/dashboard.config.json +0 -4
- package/templates/.agents/dashboard/zaip-dashboard.exe +0 -0
|
@@ -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,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
# zaip-managed generated-do-not-edit source=discovery-skill version=1.
|
|
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-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
|
+
## 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
|
+
|
|
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.
|
|
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).
|
|
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).
|
|
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.
|
|
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.
|
|
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.
|
|
21
|
+
|
|
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.
|
package/templates/.agents/skills/zaip-skill-brand-governance/references/brandbook-framework.md
ADDED
|
@@ -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.
|
package/templates/.agents/skills/zaip-skill-brand-governance/references/brandbook-standards.md
ADDED
|
@@ -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 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.
|
|
@@ -5,6 +5,8 @@ description: Enforce ZAIP module boundaries, dependency direction, composition r
|
|
|
5
5
|
|
|
6
6
|
# Enforce architecture
|
|
7
7
|
|
|
8
|
+
O documento canônico de arquitetura é `.agents/architecture/software-architecture.md`. Ao criar ou atualizar a arquitetura, crie `.agents/architecture/` quando ausente e escreva somente esse arquivo, sempre com o nome em minúsculas. Em qualquer pergunta, auditoria ou necessidade de consultar arquitetura, abra primeiro esse arquivo exato. Jamais infira seu conteúdo nem crie cópias ou duplicatas em `docs/` ou em outro local.
|
|
9
|
+
|
|
8
10
|
1. Load `RULE-ARCHITECTURE` and `REQUIREMENTS-SOFTWARE-ARCHITECTURE`, then run `zaip architecture validate`, `zaip modules validate` and `zaip profile validate`; in the framework source repository, also run `node scripts/validate-source-size.mjs`.
|
|
9
11
|
2. Classify product surfaces before moving code: `apps/frontend` is product UI, `apps/backend` is APIs/workers, and `apps/site` is the public site. Never use the ZAIP dashboard as one of those apps.
|
|
10
12
|
3. Enforce `apps -> modules -> packages`, inward Clean Architecture dependencies, one explicit composition root per module and private module storage.
|
|
@@ -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
|
package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.mjs
ADDED
|
@@ -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
|
+
}
|
package/templates/.agents/skills/zaip-skill-executar-fila-pronta/scripts/ready-queue-fence.test.mjs
ADDED
|
@@ -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
|
+
});
|