@zaip-ai/cli 2.2.0 → 3.0.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 +36 -13
- package/dist/services/adapters.d.ts +1 -1
- package/dist/services/adapters.d.ts.map +1 -1
- package/dist/services/adapters.js +26 -9
- package/dist/services/adapters.js.map +1 -1
- package/dist/services/agent-adapters.js +37 -18
- package/dist/services/agent-adapters.js.map +1 -1
- package/dist/services/agent-discovery.d.ts +27 -0
- package/dist/services/agent-discovery.d.ts.map +1 -0
- package/dist/services/agent-discovery.js +73 -0
- package/dist/services/agent-discovery.js.map +1 -0
- package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
- package/dist/services/codex-conversation-lifecycle-hook.js +164 -24
- package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.js +146 -72
- package/dist/services/codex-pre-tool-hook-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 +3 -3
- 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 +117 -66
- package/dist/services/codex-subagent-hook-template.js.map +1 -1
- package/dist/services/install-agents-template.d.ts.map +1 -1
- package/dist/services/install-agents-template.js +65 -7
- 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 +22 -1
- package/dist/services/logger.test.js.map +1 -1
- package/dist/services/runtime-template.test.js +153 -1
- package/dist/services/runtime-template.test.js.map +1 -1
- package/dist/services/transactional-files.d.ts.map +1 -1
- package/dist/services/transactional-files.js +59 -14
- package/dist/services/transactional-files.js.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/.env.example +9 -3
- package/templates/.agents/README-ENG.md +101 -15
- package/templates/.agents/README.md +102 -17
- package/templates/.agents/architecture/software-architecture.md +1 -59
- package/templates/.agents/branding/brandbook.md +3 -0
- package/templates/.agents/config/agents/catalog.yaml +25 -10
- package/templates/.agents/config/agents/discovery.json +319 -0
- package/templates/.agents/config/clients/codex/agents/zaip-agent-analyst.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-auditor.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-backend.toml +3 -3
- package/templates/.agents/config/clients/codex/agents/zaip-agent-brand-strategist.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +3 -3
- package/templates/.agents/config/clients/codex/agents/zaip-agent-cloud-engineer.toml +12 -9
- package/templates/.agents/config/clients/codex/agents/zaip-agent-data-analyst.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +3 -3
- package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +2 -2
- package/templates/.agents/config/clients/codex/agents/zaip-agent-frontend.toml +3 -3
- package/templates/.agents/config/clients/codex/agents/zaip-agent-general-operations.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-governance-compliance.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-growth-strategist.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-integrator.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +13 -10
- package/templates/.agents/config/clients/codex/agents/zaip-agent-refactoring-specialist.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-reviewer.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-sales-specialist.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-security-auditor.toml +1 -1
- package/templates/.agents/config/clients/codex/agents/zaip-agent-task-executor.toml +3 -3
- package/templates/.agents/config/clients/codex/agents/zaip-agent-website-developer.toml +3 -3
- package/templates/.agents/config/clients/codex/agents/zaip-agent-writer.toml +1 -1
- package/templates/.agents/config/pricing/models.json +9 -5
- package/templates/.agents/config/project.yaml +22 -2
- package/templates/.agents/dashboard/.zaip-managed.json +530 -138
- package/templates/.agents/dashboard/README.md +16 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/CostCalculationGuidePage-CEDZjl4V.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-DaSllaJp.js → DashboardHelpDialog-TnrL1ZyZ.js} +967 -578
- package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-DjQpBqGU.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-B9GWkEyN.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-BAvLPAee.js +3 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-BQZXUnQu.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-06__WZco.js +68 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/dashboard-localization-Basaw1NR.js +824 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-TPUT2IUt.js → icons-vendor-DEmo6Tn2.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-BQe3zTvL.js +2 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-Ct48XHGL.js → react-vendor-CadYsm83.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/rolldown-runtime-Bh1tDfsg.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-BzKK8kK3.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +6 -6
- package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/App.tsx +3 -1264
- package/templates/.agents/dashboard/apps/frontend/src/AppDashboardContent.tsx +368 -0
- package/templates/.agents/dashboard/apps/frontend/src/AutonomySettings.tsx +82 -0
- package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.dom.test.ts +130 -0
- package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +206 -157
- package/templates/.agents/dashboard/apps/frontend/src/ProjectStackEditor.tsx +3 -1
- package/templates/.agents/dashboard/apps/frontend/src/__tests__/app-composition-support.ts +12 -0
- package/templates/.agents/dashboard/apps/frontend/src/cost-monitor-population.test.tsx +149 -0
- package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +9 -7
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-api-settings.ts +152 -0
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.test.ts +19 -0
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-api.ts +50 -154
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-app-shell.tsx +33 -0
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-cost-facts.test.ts +54 -0
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-cost-facts.ts +48 -0
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-localization.test.ts +37 -43
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-localization.ts +9 -251
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-project-overview.ts +35 -2
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-retry.ts +17 -0
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-setup-route.ts +29 -0
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-view-actions.test.ts +51 -0
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-view-actions.ts +68 -0
- package/templates/.agents/dashboard/apps/frontend/src/operations-period-render.test.ts +38 -2
- package/templates/.agents/dashboard/apps/frontend/src/operations-period.test.ts +19 -4
- package/templates/.agents/dashboard/apps/frontend/src/operations-period.ts +5 -3
- package/templates/.agents/dashboard/apps/frontend/src/overview-status-page.test.ts +2 -2
- package/templates/.agents/dashboard/apps/frontend/src/project-installation-status.test.ts +137 -0
- package/templates/.agents/dashboard/apps/frontend/src/project-installation-status.ts +66 -0
- package/templates/.agents/dashboard/apps/frontend/src/project-settings-copy.ts +181 -0
- package/templates/.agents/dashboard/apps/frontend/src/project-settings-model.ts +11 -1
- package/templates/.agents/dashboard/apps/frontend/src/project-settings-page.css +102 -51
- package/templates/.agents/dashboard/apps/frontend/src/project-settings-state.css +55 -0
- package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +14 -2
- package/templates/.agents/dashboard/apps/frontend/src/sao-paulo-day-rollover.test.ts +36 -0
- package/templates/.agents/dashboard/apps/frontend/src/sao-paulo-day-rollover.ts +30 -0
- package/templates/.agents/dashboard/apps/frontend/src/snapshot-banner-semantics.test.ts +2 -5
- package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +31 -20
- package/templates/.agents/dashboard/apps/frontend/src/traceability-task-pagination.ts +1 -2
- package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.test.ts +6 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.ts +2 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-effects.ts +9 -1
- package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-documents.ts +3 -1
- package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-task-pagination.ts +66 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-work-board.ts +397 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-dashboard-app-model.tsx +782 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-snapshot-notice.tsx +49 -0
- package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/complete-cost-average.test.ts +73 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/contracts.ts +9 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/period-averages.ts +60 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostDeveloperPanelSlot.tsx +16 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.tsx +459 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorContent.tsx +8 -22
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.test.ts +27 -17
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +64 -189
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorRunDialog.tsx +20 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostPeriodAverageCards.tsx +32 -8
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-hides-calls-that-have-no-collected.test.ts +80 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +455 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +18 -525
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.tsx +32 -508
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-export-sources.ts +74 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-actions.ts +19 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-selectors.ts +49 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-summary.ts +3 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-formatters.ts +115 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/period-cost-groups.ts +1 -42
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/use-cost-group-page.ts +2 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.test-fixtures.ts +2 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +3 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +8 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/index.ts +1 -0
- package/templates/.agents/dashboard/modules/operations/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/src/contracts.ts +4 -0
- package/templates/.agents/dashboard/modules/operations/src/react/EntityTableBadges.tsx +34 -0
- package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +8 -38
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview-keeps-structure-classes-mutually-exclusive.test.ts +244 -0
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.helpers.tsx +66 -3
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.test.ts +98 -276
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +105 -276
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewCharts.tsx +171 -0
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewPanels.tsx +64 -0
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +9 -17
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageOverview.tsx +3 -0
- package/templates/.agents/dashboard/modules/operations/src/react/OverviewCostKpi.tsx +46 -0
- package/templates/.agents/dashboard/modules/operations/src/react/PrdDocumentDialog.test.tsx +2 -1
- package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.test.ts +28 -1
- package/templates/.agents/dashboard/modules/operations/src/react/UnifiedWorkList.tsx +11 -4
- package/templates/.agents/dashboard/modules/operations/src/react/index.ts +1 -0
- package/templates/.agents/dashboard/modules/operations/src/react/manual-work-priority.test.ts +2 -1
- package/templates/.agents/dashboard/modules/operations/src/react/operations-coverage-toast.test.ts +8 -4
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +34 -22
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview.status-cards.test.ts +3 -1
- package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +21 -2
- package/templates/.agents/dashboard/modules/operations/src/react/overview-cost-card.test.tsx +89 -0
- package/templates/.agents/dashboard/modules/operations/src/react/overview-metric-format.ts +32 -0
- package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.test.ts +3 -3
- package/templates/.agents/dashboard/modules/operations/src/work-board-model.ts +2 -1
- package/templates/.agents/dashboard/modules/traceability/package.json +1 -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/data-export/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +1625 -1613
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +1592 -1582
- package/templates/.agents/dashboard/packages/local-runtime/package.json +3 -2
- package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-runtime.mjs +22 -28
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +1625 -1614
- package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +25 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.test.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/project-installation-summary.test.ts +142 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/project-installation-summary.ts +190 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +118 -8
- package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +92 -36
- package/templates/.agents/dashboard/packages/local-runtime/src/projection-refresh-diagnostics.ts +35 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-browser-lease.test.ts +91 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-browser-lease.ts +24 -4
- package/templates/.agents/dashboard/packages/local-runtime/src/server-costs-routes.ts +168 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-dual-reads-manifest-summaries-without-losing.test.ts +344 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-hono-security.test.ts +17 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-http-contracts.ts +31 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-routes.ts +364 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-read-projections.ts +461 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-reconciliation-refresh.test.ts +78 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-route-context.ts +13 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-refresh.test.ts +94 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-refresh.ts +62 -12
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.test.ts +44 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.ts +22 -3
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot.test.ts +22 -21
- package/templates/.agents/dashboard/packages/local-runtime/src/server-sqlite-task-trace.test.ts +97 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-sqlite-task-trace.ts +10 -13
- package/templates/.agents/dashboard/packages/local-runtime/src/server-sqlite-view-allowlist.test.ts +25 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-trace-routes.ts +56 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-traceability-index.test.ts +84 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-work-reconciliation.test.ts +2 -30
- package/templates/.agents/dashboard/packages/local-runtime/src/server-work-reconciliation.ts +6 -23
- package/templates/.agents/dashboard/packages/local-runtime/src/server.test-fixtures.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +2 -330
- package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +87 -1060
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-dimension-facts.test.ts +12 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-file-index.test.ts +69 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-first-fold-cache.ts +3 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-force-canonical.test.ts +3 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-incremental-refresh.test.ts +2 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-materialize-first-fold.ts +78 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-materialize-projections.ts +570 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-materialize-runs.ts +600 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-metric-contract.test.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-period-averages.ts +46 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-provider-alias-parity.test.ts +50 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-agent-dimension.ts +269 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-context.ts +32 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-entity-group.ts +244 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-filtered-dimension.ts +303 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-financial.ts +547 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-model-dimension.ts +360 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-provider-dimension.ts +169 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-summary.ts +493 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-temporal-dimension.ts +134 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-timing.ts +299 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-view-page.ts +692 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-counts-every-root-execution-day-returns.test.ts +763 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-does-not-convert-delayed-historical-finalizer.test.ts +706 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-filesystem.ts +762 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-first-fold-types.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-keeps-orphan-telemetry-out-kanban-without.test.ts +710 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-marks-token-cost-telemetry-unavailable-when.test.ts +618 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuild.ts +764 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuilds-disposable-snapshot-serves-zaip-records.test.ts +276 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-schema.ts +193 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.test.ts +54 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-source-fingerprint.ts +7 -3
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-types.ts +123 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +5 -2806
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.ts +17 -6930
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-risk-population.test.ts +98 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-base-views.ts +390 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-dashboard-views.ts +413 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-snapshot-seed.test.ts +2 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/verify-project-settings.mjs +57 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/work-priority-contract.test.ts +4 -3
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-build.mjs +195 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-lifecycle.test.mjs +2 -7
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-logging.mjs +35 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-navigation.mjs +114 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-paths.mjs +90 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.mjs +89 -418
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +22 -12
- package/templates/.agents/dashboard/packages/ui/package.json +1 -1
- package/templates/.agents/dashboard/scripts/qualify-observability.mjs +130 -0
- package/templates/.agents/dashboard/scripts/verify-autonomy-settings.mjs +175 -0
- package/templates/.agents/dashboard/scripts/verify-observability.mjs +254 -0
- package/templates/.agents/dashboard/scripts/verify-project-setup.mjs +64 -0
- package/templates/.agents/dashboard/tests/e2e/lease-global-setup.ts +37 -0
- package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/playwright.config.ts +9 -4
- package/templates/.agents/dashboard/tests/e2e/specs/cost-monitor-period-transition.spec.ts +22 -1
- package/templates/.agents/dashboard/tests/e2e/specs/dashboard-performance-matrix.spec.ts +17 -8
- package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +47 -6
- package/templates/.agents/dashboard/tests/e2e/specs/lease-lifetime.spec.ts +14 -0
- package/templates/.agents/dashboard/tests/observability-fixture.mjs +200 -0
- package/templates/.agents/design/.zaip-managed.json +86 -42
- package/templates/.agents/design/DESIGN.md +2 -186
- package/templates/.agents/design/README.md +12 -2
- package/templates/.agents/design/apps/catalog/dist/assets/index-BJV597iq.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/assets/index-BOjCcUaU.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/assets/index-B_WhrCZe.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/assets/index-CqtYXZfV.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/assets/index-D_lfqoyx.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/assets/index-i_PO2k9R.js +9 -0
- package/templates/.agents/design/apps/catalog/dist/index.html +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/CatalogShell-Cstn1UwA.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{Color-6AOWCN3U-B-kAgAjB.js → Color-6AOWCN3U-Cm-yJJz_.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-D1WopB2L.js +137 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-DQ9PJ3N3.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{DocsRenderer-JROSPFPF-BVN7xHtv.js → DocsRenderer-JROSPFPF-Belk4jRr.js} +4 -4
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{WithTooltip-7X4HQR7L-CDHtKYkz.js → WithTooltip-7X4HQR7L-DoPvjkS1.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-DRQKCCAG-D6AsDkMK.js → chunk-DRQKCCAG-B1itKXEN.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-W22LQPXL-B4m5uloN.js → chunk-W22LQPXL-C-Eb5SPY.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{components-CN8YyTUg.js → components-DnyKLwhj.js} +5 -5
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-D0OSgxWz.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{iframe-9yZfIsdT.js → iframe-DcXBsFPz.js} +3 -3
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{react-18-BoCSnq6H.js → react-18-CRM89QRf.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-C3tkVMIp.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{syntaxhighlighter-YFXUGROL-Bnn_nMwJ.js → syntaxhighlighter-YFXUGROL-B03jQGTF.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{theming-DS_ue2sb.js → theming-4ZyufAga.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/iframe.html +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/index.json +1 -1
- package/templates/.agents/design/apps/catalog/package.json +2 -2
- package/templates/.agents/design/apps/catalog/src/components/AutonomySpecimen.tsx +15 -0
- package/templates/.agents/design/apps/catalog/src/components/CostPopulationSpecimen.test.tsx +19 -0
- package/templates/.agents/design/apps/catalog/src/components/CostPopulationSpecimen.tsx +45 -0
- package/templates/.agents/design/apps/catalog/src/components/EstimatedCostSpecimen.tsx +48 -0
- package/templates/.agents/design/apps/catalog/src/components/ProjectStatusSpecimen.tsx +169 -0
- package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +55 -0
- package/templates/.agents/design/apps/catalog/src/stories/Components.stories.tsx +60 -0
- package/templates/.agents/design/packages/local-runtime/package.json +1 -1
- package/templates/.agents/growth/strategy.md +3 -0
- package/templates/.agents/marketing/strategy.md +3 -0
- package/templates/.agents/requirements/autonomous-assurance.md +2 -1
- package/templates/.agents/requirements/cloud-hostinger-autonomy.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 +1 -1
- package/templates/.agents/requirements/data-export.md +1 -1
- package/templates/.agents/requirements/design-system.md +13 -4
- package/templates/.agents/requirements/execution-engine.md +1 -1
- package/templates/.agents/requirements/kanban-dashboard.md +1 -1
- package/templates/.agents/requirements/model-orchestration.md +1 -1
- package/templates/.agents/requirements/public-distribution.md +4 -2
- 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 +6 -6
- package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
- package/templates/.agents/rules/architecture.md +2 -0
- package/templates/.agents/rules/astra-diagnostic.md +3 -1
- package/templates/.agents/rules/autonomy-decision.md +12 -2
- package/templates/.agents/rules/cloud-hostinger-autonomy.md +2 -0
- package/templates/.agents/rules/context.md +2 -1
- package/templates/.agents/rules/core.md +15 -4
- package/templates/.agents/rules/design-system-central-contract.md +17 -0
- package/templates/.agents/rules/evolution.md +3 -1
- package/templates/.agents/rules/frontend-lite.md +3 -1
- package/templates/.agents/rules/local-sqlite-storage.md +2 -2
- package/templates/.agents/rules/meta-mcp.md +3 -1
- package/templates/.agents/rules/model-orchestration.md +1 -1
- package/templates/.agents/rules/run-lifecycle-closure.md +11 -7
- package/templates/.agents/rules/security.md +3 -1
- package/templates/.agents/rules/specialist-routing.md +3 -1
- package/templates/.agents/rules/text-writing-utf8.md +1 -1
- package/templates/.agents/rules/workflow.md +7 -5
- package/templates/.agents/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +821 -516
- package/templates/.agents/runtime/checksums.sha256 +6 -6
- package/templates/.agents/runtime/manifest.json +1 -1
- package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
- package/templates/.agents/runtime/provenance.json +5 -5
- package/templates/.agents/runtime/sbom.cdx.json +3 -3
- package/templates/.agents/sales/playbook.md +3 -0
- package/templates/.agents/skills/zaip-aios/SKILL.md +5 -3
- package/templates/.agents/skills/zaip-skill-adapt-stack/SKILL.md +1 -0
- package/templates/.agents/skills/zaip-skill-api-contracts/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-api-contracts/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-application-observability/SKILL.md +15 -0
- package/templates/.agents/skills/zaip-skill-application-observability/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-application-observability/references/signal-design.md +3 -0
- package/templates/.agents/skills/zaip-skill-application-readiness/SKILL.md +15 -0
- package/templates/.agents/skills/zaip-skill-application-readiness/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-application-readiness/references/evidence-matrix.md +3 -0
- package/templates/.agents/skills/zaip-skill-architecture-design/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-architecture-design/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-async-jobs/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-async-jobs/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-auth-tenancy/SKILL.md +15 -0
- package/templates/.agents/skills/zaip-skill-auth-tenancy/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-auth-tenancy/references/data-access-paths.md +9 -0
- package/templates/.agents/skills/zaip-skill-auth-tenancy/references/worker-scenario.md +5 -0
- package/templates/.agents/skills/zaip-skill-auth-tenancy/scripts/worker-contract.test.mjs +27 -0
- package/templates/.agents/skills/zaip-skill-author-skills/SKILL.md +2 -0
- package/templates/.agents/skills/zaip-skill-author-skills/references/engineering-skill-index.md +9 -0
- package/templates/.agents/skills/zaip-skill-author-skills/scripts/audit-skill-catalog.mjs +5 -3
- package/templates/.agents/skills/zaip-skill-author-skills/scripts/author-skill-scripts.test.mjs +27 -0
- package/templates/.agents/skills/zaip-skill-backend/SKILL.md +4 -0
- package/templates/.agents/skills/zaip-skill-backend/references/deployment-environments.md +75 -0
- package/templates/.agents/skills/zaip-skill-backend/references/supabase-migration-contract.md +23 -0
- package/templates/.agents/skills/zaip-skill-brand-governance/SKILL.md +2 -0
- package/templates/.agents/skills/zaip-skill-cache-strategy/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-cache-strategy/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-change/SKILL.md +1 -1
- package/templates/.agents/skills/zaip-skill-cloud-engineering/SKILL.md +7 -0
- package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/SKILL.md +37 -0
- package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/agents/openai.yaml +6 -0
- package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/references/workers-static-assets.md +26 -0
- package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/references/workflow-templates.md +71 -0
- package/templates/.agents/skills/zaip-skill-cloudflare-github-deploy/scripts/cloudflare-github-deploy-contract.test.mjs +77 -0
- package/templates/.agents/skills/zaip-skill-config/SKILL.md +21 -11
- package/templates/.agents/skills/zaip-skill-config/agents/openai.yaml +2 -2
- package/templates/.agents/skills/zaip-skill-container-runtime/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-container-runtime/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-context/SKILL.md +6 -1
- package/templates/.agents/skills/zaip-skill-context/references/prd-spec-task-handoff.md +10 -0
- package/templates/.agents/skills/zaip-skill-context/references/rule-selection.md +20 -0
- package/templates/.agents/skills/zaip-skill-cqrs/SKILL.md +1 -0
- package/templates/.agents/skills/zaip-skill-cybersecurity/SKILL.md +18 -0
- package/templates/.agents/skills/zaip-skill-cybersecurity/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-cybersecurity/references/audit-contract.md +94 -0
- package/templates/.agents/skills/zaip-skill-cybersecurity/scripts/score-audit.mjs +185 -0
- package/templates/.agents/skills/zaip-skill-cybersecurity/scripts/score-audit.test.mjs +101 -0
- package/templates/.agents/skills/zaip-skill-data-modeling/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-data-modeling/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-database-migrations/SKILL.md +20 -0
- package/templates/.agents/skills/zaip-skill-database-migrations/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-database-migrations/references/manual-mode.md +15 -0
- package/templates/.agents/skills/zaip-skill-database-migrations/references/promotion-example.md +5 -0
- package/templates/.agents/skills/zaip-skill-database-migrations/scripts/export-manual-sql.mjs +145 -0
- package/templates/.agents/skills/zaip-skill-database-migrations/scripts/export-manual-sql.test.mjs +178 -0
- package/templates/.agents/skills/zaip-skill-dependency-upgrade/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-dependency-upgrade/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-deployment-pipeline/SKILL.md +15 -0
- package/templates/.agents/skills/zaip-skill-deployment-pipeline/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-deployment-pipeline/references/runtime-shapes.md +3 -0
- package/templates/.agents/skills/zaip-skill-design-system/SKILL.md +20 -9
- package/templates/.agents/skills/zaip-skill-dev-environment/SKILL.md +16 -0
- package/templates/.agents/skills/zaip-skill-dev-environment/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-dev-environment/references/inventory-contract.md +7 -0
- package/templates/.agents/skills/zaip-skill-dev-environment/scripts/inventory.mjs +77 -0
- package/templates/.agents/skills/zaip-skill-disaster-recovery/SKILL.md +15 -0
- package/templates/.agents/skills/zaip-skill-disaster-recovery/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-disaster-recovery/references/recovery-scope.md +3 -0
- package/templates/.agents/skills/zaip-skill-execution/SKILL.md +31 -8
- package/templates/.agents/skills/zaip-skill-execution/references/correction-cycle.md +7 -0
- package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +18 -8
- package/templates/.agents/skills/zaip-skill-external-integrations/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-external-integrations/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-frontend/SKILL.md +4 -0
- package/templates/.agents/skills/zaip-skill-frontend-componentization/SKILL.md +44 -0
- package/templates/.agents/skills/zaip-skill-frontend-componentization/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-frontend-data-flows/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-frontend-data-flows/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-general-operations/SKILL.md +2 -0
- package/templates/.agents/skills/zaip-skill-github-actions-setup/SKILL.md +36 -0
- package/templates/.agents/skills/zaip-skill-github-actions-setup/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-github-actions-setup/references/cloudflare-pages.md +33 -0
- package/templates/.agents/skills/zaip-skill-github-actions-setup/references/github.md +63 -0
- package/templates/.agents/skills/zaip-skill-github-actions-setup/references/hostinger-vps.md +55 -0
- package/templates/.agents/skills/zaip-skill-github-actions-setup/references/npm.md +30 -0
- package/templates/.agents/skills/zaip-skill-github-actions-setup/scripts/check-skill.mjs +55 -0
- package/templates/.agents/skills/zaip-skill-github-actions-setup/scripts/verify-cloudflare.mjs +61 -0
- package/templates/.agents/skills/zaip-skill-github-actions-setup/scripts/verify-cloudflare.test.mjs +128 -0
- package/templates/.agents/skills/zaip-skill-github-actions-setup/scripts/verify-ssh.integration.test.mjs +106 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +42 -76
- package/templates/.agents/skills/zaip-skill-github-deploy/references/deployment-workflow.md +135 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/references/github-release-workflow-template.md +31 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/references/release-gate-matrix.md +24 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/references/release-identity.md +44 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/references/release-notes.md +134 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/consumer-release-preparation.mjs +389 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/consumer-release-preparation.test.mjs +134 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +25 -2
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-readiness-api.test.mjs +134 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-readiness.mjs +98 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-readiness.test.mjs +25 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/install-github-readiness-workflow.mjs +159 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/install-github-readiness-workflow.test.mjs +160 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight.mjs +149 -12
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight.test.mjs +64 -5
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/release-notes-coverage.test.mjs +126 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/resolve-release-identity.mjs +78 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/resolve-release-identity.test.mjs +51 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/validate-release-notes.mjs +184 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/validate-release-notes.test.mjs +109 -0
- package/templates/.agents/skills/zaip-skill-growth-strategy-revops/SKILL.md +2 -0
- package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/SKILL.md +18 -10
- package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/agents/openai.yaml +3 -4
- package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/aws-cli-terraform.md +62 -0
- package/templates/.agents/skills/zaip-skill-hostinger-cloudflare-terraform/references/guia-iniciante-hostinger-vps.md +183 -0
- package/templates/.agents/skills/zaip-skill-marketing/SKILL.md +2 -0
- package/templates/.agents/skills/zaip-skill-module-scaffold/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-module-scaffold/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-module-scaffold/references/scaffold-contract.md +9 -0
- package/templates/.agents/skills/zaip-skill-module-scaffold/scripts/helpers.test.mjs +121 -0
- package/templates/.agents/skills/zaip-skill-module-scaffold/scripts/scaffold.mjs +169 -0
- package/templates/.agents/skills/zaip-skill-move-prd/SKILL.md +3 -1
- package/templates/.agents/skills/zaip-skill-move-spec/SKILL.md +1 -1
- package/templates/.agents/skills/zaip-skill-performance-engineering/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-performance-engineering/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-prd/SKILL.md +3 -1
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +1 -0
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +26 -9
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +39 -13
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-remeasurement.mjs +1 -0
- package/templates/.agents/skills/zaip-skill-refactor-landing-page/SKILL.md +66 -0
- package/templates/.agents/skills/zaip-skill-refactor-landing-page/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-refactor-landing-page/references/behavioral-dry-run.md +23 -0
- package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +38 -1
- package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +122 -0
- package/templates/.agents/skills/zaip-skill-review/SKILL.md +1 -0
- package/templates/.agents/skills/zaip-skill-rules/SKILL.md +3 -3
- package/templates/.agents/skills/zaip-skill-sales-methodology/SKILL.md +2 -0
- package/templates/.agents/skills/zaip-skill-setup/SKILL.md +21 -21
- package/templates/.agents/skills/zaip-skill-setup/agents/openai.yaml +2 -2
- package/templates/.agents/skills/zaip-skill-spec/SKILL.md +3 -2
- package/templates/.agents/skills/zaip-skill-storage-uploads/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-storage-uploads/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-systematic-debugging/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-systematic-debugging/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-task/SKILL.md +16 -7
- package/templates/.agents/skills/zaip-skill-task/references/commit-policy.md +25 -0
- package/templates/.agents/skills/zaip-skill-test-data/SKILL.md +14 -0
- package/templates/.agents/skills/zaip-skill-test-data/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-test-data/scripts/generate.mjs +72 -0
- package/templates/.agents/skills/zaip-skill-testing-strategy/SKILL.md +15 -0
- package/templates/.agents/skills/zaip-skill-testing-strategy/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-testing-strategy/references/example-map.md +3 -0
- package/templates/.agents/skills/zaip-skill-tool-setup/SKILL.md +2 -0
- package/templates/.agents/skills/zaip-skill-website-readiness/SKILL.md +8 -0
- package/templates/.agents/zaip-aios/INDEX.md +9 -1
- package/templates/.agents/zaip-aios/README.md +23 -2
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/.agents/zaip-aios/guides/01-primeiros-passos.md +5 -1
- package/templates/.agents/zaip-aios/guides/03-tasks.md +15 -2
- package/templates/.agents/zaip-aios/guides/04-specs.md +13 -0
- package/templates/.agents/zaip-aios/guides/05-prds.md +13 -0
- package/templates/.agents/zaip-aios/guides/06-execucao.md +19 -4
- package/templates/.agents/zaip-aios/guides/07-revisao-e-validacao.md +14 -0
- package/templates/.agents/zaip-aios/guides/08-contexto-e-tokens.md +4 -3
- package/templates/.agents/zaip-aios/guides/09-agentes-e-squads.md +17 -9
- package/templates/.agents/zaip-aios/guides/10-seguranca.md +11 -1
- package/templates/.agents/zaip-aios/guides/11-observabilidade-e-custos.md +69 -0
- package/templates/.agents/zaip-aios/guides/12-instalacao-e-upgrade.md +9 -4
- package/templates/.agents/zaip-aios/guides/13-boas-praticas.md +7 -1
- package/templates/.agents/zaip-aios/guides/14-troubleshooting.md +18 -0
- package/templates/.agents/zaip-aios/guides/16-lifecycle-e-reconciliacao.md +54 -3
- package/templates/.agents/zaip-aios/guides/18-catalogo-de-agentes.md +10 -2
- package/templates/.agents/zaip-aios/guides/19-assurance-e-autonomia.md +186 -5
- package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +26 -18
- package/templates/.agents/zaip-aios/guides/21-telemetria-monitor-custos.md +18 -2
- package/templates/.agents/zaip-aios/guides/22-fluxos-e-roteamento.md +14 -2
- package/templates/.agents/zaip-aios/guides/23-orquestracao-de-modelos.md +190 -489
- package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +61 -13
- package/templates/.agents/zaip-aios/guides/27-telemetria-git-native.md +18 -0
- package/templates/.agents/zaip-aios/guides/28-lifecycle-completo.md +18 -1
- package/templates/scripts/validate-cloud-hostinger-contract.mjs +34 -0
- package/templates/template-manifest.json +1229 -329
- package/templates/.agents/branding/.gitkeep +0 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/CostCalculationGuidePage-snUCQYTC.js +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/PricingSettingsDialog-BPtVUGgs.js +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-3Awyaovx.js +0 -3
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-GgzpZ_PY.css +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-BCvZFMEf.js +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-DbaLbU2q.js +0 -68
- package/templates/.agents/dashboard/apps/frontend/dist/assets/dashboard-localization-CLJ0lT9v.js +0 -231
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-_MEktQNM.js +0 -2
- package/templates/.agents/dashboard/apps/frontend/dist/assets/rolldown-runtime-D9-fqq9M.js +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/traceability-BDe4_Ubl.js +0 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/CatalogShell-BWY-80s4.js +0 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-Be2mDUQj.js +0 -27
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-DRx9blDs.js +0 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-EwuTh8Zk.js +0 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-DyL61NPT.js +0 -1
- package/templates/.agents/growth/.gitkeep +0 -0
- package/templates/.agents/marketing/.gitkeep +0 -0
- package/templates/.agents/sales/.gitkeep +0 -0
package/templates/.agents/skills/zaip-skill-database-migrations/scripts/export-manual-sql.test.mjs
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { spawnSync } from "node:child_process";
|
|
3
|
+
import { createHash } from "node:crypto";
|
|
4
|
+
import {
|
|
5
|
+
copyFileSync,
|
|
6
|
+
existsSync,
|
|
7
|
+
mkdirSync,
|
|
8
|
+
mkdtempSync,
|
|
9
|
+
readdirSync,
|
|
10
|
+
readFileSync,
|
|
11
|
+
rmSync,
|
|
12
|
+
symlinkSync,
|
|
13
|
+
writeFileSync,
|
|
14
|
+
} from "node:fs";
|
|
15
|
+
import { tmpdir } from "node:os";
|
|
16
|
+
import { dirname, join, resolve } from "node:path";
|
|
17
|
+
import test from "node:test";
|
|
18
|
+
import { exportManualSql } from "./export-manual-sql.mjs";
|
|
19
|
+
|
|
20
|
+
function fixture(t) {
|
|
21
|
+
const root = mkdtempSync(join(tmpdir(), "zaip-manual-sql-"));
|
|
22
|
+
t.after(() => {
|
|
23
|
+
assert.equal(dirname(root), resolve(tmpdir()));
|
|
24
|
+
assert.match(root, /zaip-manual-sql-[^\\/]+$/);
|
|
25
|
+
rmSync(root, { recursive: true, force: true });
|
|
26
|
+
});
|
|
27
|
+
assert.equal(spawnSync("git", ["init", "-q", root], { windowsHide: true }).status, 0);
|
|
28
|
+
spawnSync(
|
|
29
|
+
"git",
|
|
30
|
+
["-C", root, "remote", "add", "origin", "git@github.com:example/source-service.git"],
|
|
31
|
+
{ windowsHide: true },
|
|
32
|
+
);
|
|
33
|
+
mkdirSync(join(root, ".agents/config"), { recursive: true });
|
|
34
|
+
writeFileSync(
|
|
35
|
+
join(root, ".agents/config/project.yaml"),
|
|
36
|
+
"project: {timezone: America/Sao_Paulo}\n",
|
|
37
|
+
);
|
|
38
|
+
writeFileSync(join(root, "proposal.sql"), "create table sample(id bigint primary key);\n");
|
|
39
|
+
return {
|
|
40
|
+
repository: root,
|
|
41
|
+
betaDeclined: true,
|
|
42
|
+
name: "criar-tabela-funcionalidade-meta-diagnosis",
|
|
43
|
+
sqlFile: "proposal.sql",
|
|
44
|
+
now: new Date("2026-09-07T15:33:00Z"),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
test("missing beta alone never creates a folder without explicit refusal", (t) => {
|
|
49
|
+
const options = fixture(t);
|
|
50
|
+
for (const betaDeclined of [undefined, false, "true"]) {
|
|
51
|
+
assert.throws(
|
|
52
|
+
() => exportManualSql({ ...options, betaDeclined }),
|
|
53
|
+
/Explicit human beta refusal/,
|
|
54
|
+
);
|
|
55
|
+
assert.equal(existsSync(join(options.repository, "db-migrations")), false);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
test("export uses Git root, project timezone and pending human status with traceability", (t) => {
|
|
60
|
+
const options = fixture(t);
|
|
61
|
+
const child = join(options.repository, "nested");
|
|
62
|
+
mkdirSync(child);
|
|
63
|
+
const result = exportManualSql({ ...options, repository: child });
|
|
64
|
+
assert.equal(
|
|
65
|
+
result.file,
|
|
66
|
+
join(
|
|
67
|
+
options.repository,
|
|
68
|
+
"db-migrations/2026-09-07-12-33-criar-tabela-funcionalidade-meta-diagnosis.sql",
|
|
69
|
+
),
|
|
70
|
+
);
|
|
71
|
+
assert.equal(result.status, "pending_human_execution");
|
|
72
|
+
assert.equal(result.source_repository, "example/source-service");
|
|
73
|
+
assert.equal(result.source_sha, null);
|
|
74
|
+
const sql = readFileSync(result.file, "utf8");
|
|
75
|
+
assert.match(sql, /No agent or pipeline may execute/);
|
|
76
|
+
assert.match(sql, /create table sample/);
|
|
77
|
+
assert.equal(result.sha256, createHash("sha256").update(sql).digest("hex"));
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
test("same minute collisions produce distinct files and preserve earlier SQL", (t) => {
|
|
81
|
+
const options = fixture(t);
|
|
82
|
+
const first = exportManualSql(options);
|
|
83
|
+
const original = readFileSync(first.file, "utf8");
|
|
84
|
+
writeFileSync(
|
|
85
|
+
join(options.repository, options.sqlFile),
|
|
86
|
+
"alter table sample add column title text;",
|
|
87
|
+
);
|
|
88
|
+
const second = exportManualSql(options);
|
|
89
|
+
assert.match(second.file, /-2\.sql$/);
|
|
90
|
+
assert.equal(readFileSync(first.file, "utf8"), original);
|
|
91
|
+
assert.equal(readdirSync(dirname(first.file)).length, 2);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
test("invalid input and invalid timezone fail before optional folder creation", (t) => {
|
|
95
|
+
const options = fixture(t);
|
|
96
|
+
for (const change of [{ name: "../unsafe" }, { name: "..." }, { sqlFile: "missing.sql" }]) {
|
|
97
|
+
assert.throws(() => exportManualSql({ ...options, ...change }));
|
|
98
|
+
assert.equal(existsSync(join(options.repository, "db-migrations")), false);
|
|
99
|
+
}
|
|
100
|
+
writeFileSync(
|
|
101
|
+
join(options.repository, ".agents/config/project.yaml"),
|
|
102
|
+
"project: {timezone: invalid/timezone}\n",
|
|
103
|
+
);
|
|
104
|
+
assert.throws(() => exportManualSql(options), /time zone/i);
|
|
105
|
+
assert.equal(existsSync(join(options.repository, "db-migrations")), false);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
test("absent timezone explicitly uses UTC and normalizes Portuguese names", (t) => {
|
|
109
|
+
const options = fixture(t);
|
|
110
|
+
writeFileSync(join(options.repository, ".agents/config/project.yaml"), "project: {}\n");
|
|
111
|
+
const result = exportManualSql({ ...options, name: "Edição da tabela" });
|
|
112
|
+
assert.equal(result.timezone, "UTC");
|
|
113
|
+
assert.match(result.file, /2026-09-07-15-33-edicao-da-tabela\.sql$/);
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
test("existing junction cannot redirect SQL writes", (t) => {
|
|
117
|
+
const options = fixture(t);
|
|
118
|
+
const outside = join(options.repository, "other-directory");
|
|
119
|
+
mkdirSync(outside);
|
|
120
|
+
symlinkSync(
|
|
121
|
+
outside,
|
|
122
|
+
join(options.repository, "db-migrations"),
|
|
123
|
+
process.platform === "win32" ? "junction" : "dir",
|
|
124
|
+
);
|
|
125
|
+
assert.throws(() => exportManualSql(options), /real directory/);
|
|
126
|
+
assert.deepEqual(readdirSync(outside), []);
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
test("portable installed helper needs no node_modules and no deploy target change", (t) => {
|
|
130
|
+
const options = fixture(t);
|
|
131
|
+
const skills = join(options.repository, ".agents/skills");
|
|
132
|
+
const localScript = join(skills, "zaip-skill-database-migrations/scripts/export-manual-sql.mjs");
|
|
133
|
+
const parser = join(skills, "zaip-skill-github-deploy/scripts/yaml-parser.mjs");
|
|
134
|
+
mkdirSync(dirname(localScript), { recursive: true });
|
|
135
|
+
mkdirSync(dirname(parser), { recursive: true });
|
|
136
|
+
copyFileSync(join(import.meta.dirname, "export-manual-sql.mjs"), localScript);
|
|
137
|
+
copyFileSync(
|
|
138
|
+
resolve(import.meta.dirname, "../../zaip-skill-github-deploy/scripts/yaml-parser.mjs"),
|
|
139
|
+
parser,
|
|
140
|
+
);
|
|
141
|
+
const before = readFileSync(join(options.repository, ".agents/config/project.yaml"), "utf8");
|
|
142
|
+
const result = spawnSync(
|
|
143
|
+
process.execPath,
|
|
144
|
+
[
|
|
145
|
+
localScript,
|
|
146
|
+
"--repository",
|
|
147
|
+
options.repository,
|
|
148
|
+
"--beta-declined",
|
|
149
|
+
"--name",
|
|
150
|
+
options.name,
|
|
151
|
+
"--sql-file",
|
|
152
|
+
options.sqlFile,
|
|
153
|
+
],
|
|
154
|
+
{ encoding: "utf8", windowsHide: true, env: { ...process.env, NODE_PATH: "" } },
|
|
155
|
+
);
|
|
156
|
+
assert.equal(result.status, 0, result.stderr);
|
|
157
|
+
assert.equal(JSON.parse(result.stdout).status, "pending_human_execution");
|
|
158
|
+
assert.equal(
|
|
159
|
+
readFileSync(join(options.repository, ".agents/config/project.yaml"), "utf8"),
|
|
160
|
+
before,
|
|
161
|
+
);
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
test("manual SQL remains blocked from automatic application publication", (t) => {
|
|
165
|
+
const options = fixture(t);
|
|
166
|
+
exportManualSql(options);
|
|
167
|
+
const preflight = resolve(
|
|
168
|
+
import.meta.dirname,
|
|
169
|
+
"../../zaip-skill-github-deploy/scripts/preflight.mjs",
|
|
170
|
+
);
|
|
171
|
+
const result = spawnSync(
|
|
172
|
+
process.execPath,
|
|
173
|
+
[preflight, "--repository", options.repository, "--scope", "frontend", "--resolve-branch"],
|
|
174
|
+
{ encoding: "utf8", windowsHide: true },
|
|
175
|
+
);
|
|
176
|
+
assert.equal(result.status, 1);
|
|
177
|
+
assert.match(result.stderr, /cannot include database migrations/);
|
|
178
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zaip-skill-dependency-upgrade
|
|
3
|
+
description: Plan and verify safe runtime, library, tooling, manifest, lockfile, and compatibility upgrades.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Upgrade dependencies
|
|
7
|
+
|
|
8
|
+
Use when changing a runtime, library, package manager, framework, or tool version.
|
|
9
|
+
|
|
10
|
+
1. Inventory direct and transitive consumers, supported engine range, release notes, lockfile effects, and generated artifacts.
|
|
11
|
+
2. Define compatibility and rollback before modifying manifests. Do not mix unrelated upgrades with a focused repair.
|
|
12
|
+
3. Update source, configuration, docs, tests, and generated outputs affected by the actual version contract.
|
|
13
|
+
4. Validate a clean install and the focused build or test paths; distinguish an installation failure from an application regression.
|
|
14
|
+
5. Record unresolved upstream incompatibilities and the exact pre-upgrade recovery point.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zaip-skill-deployment-pipeline
|
|
3
|
+
description: Build and verify application delivery pipelines with identifiable artifacts, migrations, smoke checks, and rollback.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Deliver application changes
|
|
7
|
+
|
|
8
|
+
Use when configuring an application build-to-environment delivery process. It does not authorize a deployment.
|
|
9
|
+
Read `references/runtime-shapes.md` when selecting API, worker, or static-site delivery.
|
|
10
|
+
|
|
11
|
+
1. Define source revision, immutable artifact identity, environment configuration names, promotion rule, migration order, smoke check, and rollback trigger.
|
|
12
|
+
2. Separate artifact build, migration, deploy, and verification so each result is observable and recoverable.
|
|
13
|
+
3. Ensure the deployed runtime can expose the tested artifact revision without leaking build or credential details.
|
|
14
|
+
4. Test pipeline failure handling and a recoverable rollout in a non-production target when available.
|
|
15
|
+
5. For an explicit external deployment request, compose with `$zaip-skill-github-deploy` or the approved cloud workflow.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
# Runtime shapes
|
|
2
|
+
|
|
3
|
+
Build and deploy Hono API and BullMQ worker containers separately so scaling and failure are observable per role. Build React/Vite and Astro outputs as static assets for Cloudflare Pages; they are not worker containers. Migration promotion follows expand before compatible application rollout and contract only after the compatibility window. This skill defines a pipeline; use the guarded GitHub skill only for an explicit Git publication request.
|
|
@@ -5,7 +5,9 @@ description: Govern canonical design-system tokens, catalog specimens and anchor
|
|
|
5
5
|
|
|
6
6
|
# Design System
|
|
7
7
|
|
|
8
|
-
Use this skill when creating or editing the central design language.
|
|
8
|
+
Use this skill when creating or editing the central design language. First load and
|
|
9
|
+
apply [`RULE-DESIGN-SYSTEM-CENTRAL`](../../rules/design-system-central-contract.md); it is the mandatory, exception-free
|
|
10
|
+
contract for user-requested creation or customization. Manu owns
|
|
9
11
|
`.agents/design/DESIGN.md`, `.agents/design/tokens.json`,
|
|
10
12
|
`.agents/design/apps/catalog/**`, canonical component specimens, and the frontend of
|
|
11
13
|
the framework pages `design-system` and `componentes`.
|
|
@@ -15,21 +17,26 @@ the framework pages `design-system` and `componentes`.
|
|
|
15
17
|
Call Manu whenever a change creates or edits a central design rule, design token,
|
|
16
18
|
canonical component contract, or either design catalog page. A feature component that
|
|
17
19
|
merely lives in a directory named `components` is not central design work and remains
|
|
18
|
-
with the delivery specialist unless it changes the shared contract.
|
|
20
|
+
with the delivery specialist unless it changes the shared contract. Manu coordinates
|
|
21
|
+
its renderable representation in `#/components` with that specialist; this does not
|
|
22
|
+
move business logic or delivery ownership to the central catalog.
|
|
19
23
|
|
|
20
24
|
## Workflow
|
|
21
25
|
|
|
22
|
-
1. Read the current `DESIGN.md`, tokens,
|
|
26
|
+
1. Read `RULE-DESIGN-SYSTEM-CENTRAL`, the current `DESIGN.md`, tokens,
|
|
27
|
+
catalog specimens, and consuming pages.
|
|
23
28
|
2. State the design problem, affected products, accessibility constraints, and
|
|
24
29
|
compatibility impact.
|
|
25
30
|
3. Update `DESIGN.md` as the human-readable source of principles, voice, layout,
|
|
26
31
|
typography, color, motion, interaction, accessibility, and component rules.
|
|
27
32
|
4. Update machine-readable tokens without duplicating contradictory values.
|
|
28
|
-
5.
|
|
29
|
-
|
|
30
|
-
6.
|
|
33
|
+
5. For every new UI component, ensure a renderable `#/components` representation with
|
|
34
|
+
applicable states or variants; keep local business logic in its delivery module.
|
|
35
|
+
6. For every user-requested design-system creation or edit, update the canonical
|
|
36
|
+
specimen and both catalog presentations as required by the Rule.
|
|
37
|
+
7. Check representative consumers for regressions; coordinate with Doug or Jonny when
|
|
31
38
|
their product surfaces must adopt the new contract.
|
|
32
|
-
|
|
39
|
+
8. Verify design artifacts and rendered catalog pages before recording evidence.
|
|
33
40
|
|
|
34
41
|
## Required outcomes
|
|
35
42
|
|
|
@@ -37,8 +44,12 @@ with the delivery specialist unless it changes the shared contract.
|
|
|
37
44
|
- Tokens have stable semantic names and do not encode a single page's implementation.
|
|
38
45
|
- Canonical components document anatomy, states, variants, content rules, keyboard
|
|
39
46
|
behavior, focus, contrast, responsiveness, and do/don't guidance.
|
|
40
|
-
-
|
|
41
|
-
-
|
|
47
|
+
- `#/design-system` exposes foundations and tokens.
|
|
48
|
+
- `#/components` is the componentes page and exposes reusable component specimens and states.
|
|
49
|
+
- Every new UI component has a renderable `#/components` example with applicable states or variants;
|
|
50
|
+
a Storybook entry or name alone is insufficient.
|
|
51
|
+
- Component specimens retain the active `DESIGN.md` identity and pertinent tokens without turning
|
|
52
|
+
local components into global contracts.
|
|
42
53
|
- Both pages consume the same central source instead of maintaining independent copies.
|
|
43
54
|
- Breaking changes include migration guidance and affected consumers.
|
|
44
55
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zaip-skill-dev-environment
|
|
3
|
+
description: Inspect and prepare a reproducible local development environment without exposing local configuration values.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Prepare development environment
|
|
7
|
+
|
|
8
|
+
Follow RULE-CORE host protection: never restart or shut down the user's computer. Inspect prerequisite installers and suppress automatic reboot using documented options; stop the step if suppression is uncertain. A pending OS restart is for the user to perform manually. Restarting an identified project process must never restart the OS.
|
|
9
|
+
|
|
10
|
+
Use for a new checkout, onboarding, or a local runtime failure. This concerns the consumer application; framework installation remains `$zaip-skill-setup`.
|
|
11
|
+
|
|
12
|
+
1. Read project configuration and manifests before proposing prerequisites. Never install packages, start services, or execute package scripts during discovery.
|
|
13
|
+
2. Run `node .agents/skills/zaip-skill-dev-environment/scripts/inventory.mjs [root]` for a names-and-presence-only inventory. Read its grammar before extending it.
|
|
14
|
+
3. Compare observed runtimes, package manager, declared services, ports, and environment-variable names with documented requirements.
|
|
15
|
+
4. Report exact missing prerequisites and safe start commands; retain unavailable state rather than inventing a successful service.
|
|
16
|
+
5. Verify an authorized setup through the smallest relevant health or build command and record the environment limits.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Inventory grammar and output
|
|
2
|
+
|
|
3
|
+
Run `node .agents/skills/zaip-skill-dev-environment/scripts/inventory.mjs [root]`.
|
|
4
|
+
|
|
5
|
+
`root` is an optional filesystem directory and defaults to the current directory. No other argument is accepted. The helper reads only `package.json`, lockfile names, project configuration presence, and dotenv file names. It never runs package scripts, installs dependencies, or writes files.
|
|
6
|
+
|
|
7
|
+
It emits one UTF-8 JSON object with `schema_version: 1`, relative `root: "."`, Node version, file-presence booleans, package-manager name, sorted package-script names, and sorted dotenv variable names per present dotenv file. It never emits dotenv values or package-script values.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import { basename, resolve } from "node:path";
|
|
4
|
+
|
|
5
|
+
const argumentsList = process.argv.slice(2);
|
|
6
|
+
if (argumentsList.length > 1) throw new Error("Usage: inventory.mjs [root]");
|
|
7
|
+
const [rootArgument = "."] = argumentsList;
|
|
8
|
+
const root = resolve(rootArgument);
|
|
9
|
+
const packagePath = resolve(root, "package.json");
|
|
10
|
+
const dotenvNames = [".env", ".env.local", ".env.development", ".env.test", ".env.example"];
|
|
11
|
+
const result = {
|
|
12
|
+
schema_version: 1,
|
|
13
|
+
root: ".",
|
|
14
|
+
node: process.version,
|
|
15
|
+
files: {},
|
|
16
|
+
package_manager: null,
|
|
17
|
+
package_scripts: [],
|
|
18
|
+
environment_names: {},
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
for (const name of [
|
|
22
|
+
"package.json",
|
|
23
|
+
"pnpm-lock.yaml",
|
|
24
|
+
"package-lock.json",
|
|
25
|
+
"yarn.lock",
|
|
26
|
+
"bun.lockb",
|
|
27
|
+
".agents/config/project.yaml",
|
|
28
|
+
]) {
|
|
29
|
+
result.files[name] = existsSync(resolve(root, name));
|
|
30
|
+
}
|
|
31
|
+
for (const name of dotenvNames) {
|
|
32
|
+
const path = resolve(root, name);
|
|
33
|
+
if (!existsSync(path)) continue;
|
|
34
|
+
result.environment_names[name] = namesFromDotenv(await readFile(path, "utf8"));
|
|
35
|
+
}
|
|
36
|
+
if (result.environment_names[".env.example"]) {
|
|
37
|
+
const present = new Set(
|
|
38
|
+
Object.entries(result.environment_names)
|
|
39
|
+
.filter(([name]) => name !== ".env.example")
|
|
40
|
+
.flatMap(([, names]) => names),
|
|
41
|
+
);
|
|
42
|
+
result.required_environment_names = result.environment_names[".env.example"];
|
|
43
|
+
result.missing_required_environment_names = result.required_environment_names.filter(
|
|
44
|
+
(name) => !present.has(name),
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
if (result.files["package.json"]) {
|
|
48
|
+
const manifest = JSON.parse(await readFile(packagePath, "utf8"));
|
|
49
|
+
result.package_manager =
|
|
50
|
+
typeof manifest.packageManager === "string"
|
|
51
|
+
? manifest.packageManager.split("@")[0]
|
|
52
|
+
: lockManager(result.files);
|
|
53
|
+
result.package_scripts = Object.keys(manifest.scripts ?? {}).sort();
|
|
54
|
+
} else result.package_manager = lockManager(result.files);
|
|
55
|
+
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
56
|
+
|
|
57
|
+
function namesFromDotenv(source) {
|
|
58
|
+
return [
|
|
59
|
+
...new Set(
|
|
60
|
+
source.split(/\r?\n/).flatMap((line) => {
|
|
61
|
+
const match = line.match(/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=/);
|
|
62
|
+
return match?.[1] ? [match[1]] : [];
|
|
63
|
+
}),
|
|
64
|
+
),
|
|
65
|
+
].sort();
|
|
66
|
+
}
|
|
67
|
+
function lockManager(files) {
|
|
68
|
+
return files["pnpm-lock.yaml"]
|
|
69
|
+
? "pnpm"
|
|
70
|
+
: files["package-lock.json"]
|
|
71
|
+
? "npm"
|
|
72
|
+
: files["yarn.lock"]
|
|
73
|
+
? "yarn"
|
|
74
|
+
: files["bun.lockb"]
|
|
75
|
+
? "bun"
|
|
76
|
+
: null;
|
|
77
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zaip-skill-disaster-recovery
|
|
3
|
+
description: Plan and verify recoverable application data and service restoration with scoped backups, RPO, RTO, and evidence.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Prepare recovery
|
|
7
|
+
|
|
8
|
+
Use for backup, restore, continuity, or data-loss recovery planning.
|
|
9
|
+
Read `references/recovery-scope.md` to separate service recovery evidence.
|
|
10
|
+
|
|
11
|
+
1. Identify services, data classes, dependencies, owners, recovery point objective, recovery time objective, and acceptable loss.
|
|
12
|
+
2. Define backup scope, retention, encryption, access, restore ordering, and verification criteria; do not call a backup useful without restore evidence.
|
|
13
|
+
3. Test restoration in an isolated target with representative data and verify application behavior, permissions, and job safety afterward.
|
|
14
|
+
4. Record gaps, manual actions, external dependencies, and evidence freshness.
|
|
15
|
+
5. Do not perform destructive recovery drills or alter production backups without explicit authorization.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
# Recovery scope
|
|
2
|
+
|
|
3
|
+
PostgreSQL restore, Supabase Storage restore, Redis recovery, and runtime configuration recovery are separate procedures with separate evidence. After restoration, prove the application starts, tenant permissions remain effective, and queued work does not duplicate a durable effect. Redis cache loss can be acceptable; queue loss may not be.
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: zaip-skill-execution
|
|
3
|
-
description: Execute prepared ZAIP work
|
|
3
|
+
description: Execute prepared ZAIP work only on explicit intent; materialize its DAG and close Runs with evidence.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Executar trabalho preparado
|
|
7
7
|
|
|
8
|
+
Aplique a proteção do computador local de `RULE-CORE` antes de executar comandos e inclua-a no contexto de cada subagente. Nunca reinicie/desligue o PC, direta ou indiretamente, inclusive em validação, recuperação ou finalização. Reinício do SO fica exclusivamente a cargo do usuário.
|
|
9
|
+
|
|
8
10
|
Carregue [a governança de execução e delegação](references/runtime-governance.md) antes da entrega ou dispatch. Perguntas read-only sem descendentes usam somente o kernel de RULE-CORE e a skill de domínio pertinente.
|
|
9
11
|
|
|
10
12
|
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.
|
|
@@ -15,28 +17,49 @@ Use esta skill somente quando o usuário pedir execução. `prepare` não autori
|
|
|
15
17
|
4. Execute a ordem topológica. Paralelize apenas Tasks independentes cujos arquivos, módulos, migrations, ambientes e recursos não conflitem.
|
|
16
18
|
5. Antes de integrar agentes paralelos, compare diffs, testes e efeitos; reconcilie o resultado no workspace canônico.
|
|
17
19
|
6. Registre decisões humanas/IA, uso por fase, evidências por AC, testes, evals e arquivos alterados. Antes de implementar, consulte `zaip task assurance TASK --json`, aplique [o contrato de prova observável](../zaip-skill-change/references/observable-evidence.md) e [o fluxo de candidato e preparo](references/candidate-workflow.md). Falta de prova obrigatória impede aceite, não trabalho independente.
|
|
18
|
-
7. Para toda Task com mutação, produza um commit canônico isolado antes de `completed`, com provider efetivo exclusivamente `CODEX` ou `CLAUDE` e sem `AUTO`. Linhagem evidenciada usa `[CODEX|CLAUDE] [P:XXXX] [S:XXXX] [T:XXXX] <título da Task>` com blocos disponíveis; Task sem PRD/SPEC usa `[CODEX|CLAUDE] [Task-first:XXXX] <título da Task>`. Limite o assunto a 96 caracteres sem cortar palavras, preserve IDs completos disponíveis nos trailers `ZAIP-PRD`, `ZAIP-SPEC`, `ZAIP-Task`, `ZAIP-Change`, `ZAIP-Execution` e `ZAIP-Agent`, e não combine Tasks no mesmo commit.
|
|
20
|
+
7. Para toda Task com mutação, produza um commit canônico isolado antes de `completed`, com provider efetivo exclusivamente `CODEX` ou `CLAUDE` e sem `AUTO`. Linhagem evidenciada usa `[CODEX|CLAUDE] [P:XXXX] [S:XXXX] [T:XXXX] <título da Task>` com blocos disponíveis; Task sem PRD/SPEC usa `[CODEX|CLAUDE] [Task-first:XXXX] <título da Task>`. Limite o assunto a 96 caracteres sem cortar palavras, preserve IDs completos disponíveis nos trailers `ZAIP-PRD`, `ZAIP-SPEC`, `ZAIP-Task`, `ZAIP-Change`, `ZAIP-Execution` e `ZAIP-Agent`, e não combine Tasks no mesmo commit. Commits de produto, inclusive deploy particionado, exigem essa identidade; somente alterações em `.agents/records/` e `.local/` dispensam Task. Valide o índice e siga [o contrato portátil](../zaip-skill-task/references/commit-policy.md).
|
|
19
21
|
8. Respeite a política do plano: use `zaip verify --changed --risk <risk>` no modo `scoped`; reserve `pnpm verify` para `full`, risco critical ou gate final exigido.
|
|
20
22
|
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.
|
|
21
|
-
10.
|
|
23
|
+
10. Falha operacional transitória recebe retry limitado; impedimento essencial deixa a Task `blocked`; falha lógica exige correção localizada ou repair/rework explícito. Antes de uma próxima correção, carregue o [ciclo de correção e bloqueio](references/correction-cycle.md). Nunca esconda uma tentativa.
|
|
22
24
|
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.
|
|
23
25
|
12. Para delegação Codex, Sub-Run é somente subagente nativo de colaboração (`spawn_agent`). `create_thread` e `fork_thread` criam chats independentes e só podem ocorrer por pedido explícito do usuário; nunca os use como Sub-Run, fallback, retry ou prova de delegação. Se delegação nativa estiver indisponível, relate a limitação em vez de criar chat independente. Nome de catálogo, `task_name`, título ou prompt não provam ancestralidade nativa. Antes de repetir a mesma delegação limitada, aguarde ou reutilize seu filho pendente; capture somente ancestralidade/metadados observados em resultados nativos de spawn/terminal do host ou eventos SubagentStart/SubagentStop.
|
|
24
26
|
13. 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`.
|
|
25
27
|
14. 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.
|
|
26
|
-
15. Resolva execução no menor grão
|
|
28
|
+
15. Resolva execução no menor grão que cubra o pedido inteiro: somente uma Task executa um nó elegível; toda a SPEC executa sua DAG interna; todo o PRD executa as SPECs selecionadas. Mencionar a primeira Task junto de “e as demais até terminar” não restringe um pedido macro a esse primeiro nó. Não amplie um pedido exclusivamente de Task para SPEC/PRD.
|
|
27
29
|
16. “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.
|
|
28
30
|
|
|
31
|
+
## Captura correta antes de executar
|
|
32
|
+
|
|
33
|
+
- Antes de capturar uma retomada ambígua, use `conversation resolve --intent continue --prd ID --json` (ou `--spec ID` / `--task ID`). A consulta não cria Run, não promove trabalho nem aprova gates; confira o alvo, a Execution e `start_args`. Sem alvo explícito, o foco vem da última raiz da mesma thread, nunca do último executor/revisor/Gui. Para um PRD conhecido use seu ID explícito, mesmo se a última raiz foi uma correção avulsa.
|
|
34
|
+
- Resolva o alcance completo antes de iniciar a primeira parte. Em “Task X e o restante do PRD”, se X pertence à DAG, capture o PRD e delegue suas Tasks; mantenha Gui por Task e Gui parental ao final. Se X é uma entrega avulsa fora da DAG, não finja que pertence ao PRD: este runtime não possui coordenador multi-Execution. Identifique essa limitação antes de executar, preserve entregas já concluídas e não prometa uma sequência que exija trocar a raiz capturada. Uma correção avulsa já concluída não precisa ser reaberta para retomar o PRD.
|
|
35
|
+
|
|
36
|
+
- Pedido para executar um PRD/SPEC existente é continuação da entrega, não nova autoria. Resolva o ID canônico e use `conversation start --intent continue --prd ID` (ou `--spec ID` / `--task ID` no menor grão pedido); inspecione a Run retornada e reutilize sua identidade. Não use `--definition` para executar um macro já criado.
|
|
37
|
+
- `conversation start --intent new-work` já materializa e inicia Task, Change, Execution e Run. Não abra outra Run raiz para o mesmo turno. Uma repetição compatível deve reutilizar a identidade; intenção, alvo, modelo ou atribuição diferentes não são uma repetição compatível.
|
|
38
|
+
- Antes de iniciar Tasks ou delegar, confira `execution_kind: delivery`, atribuição ao alvo e Execution correta. Uma Run `interaction` de definição não autoriza a implementação. Não reescreva seu header, altere IDs do cliente ou retire a proteção de correlação para convertê-la.
|
|
39
|
+
- Quando a CLI rejeitar uma captura incompatível, preserve o estado e os IDs existentes e explique a divergência. Não avance manualmente as entidades para `executing` nem crie outro PRD/DAG como tentativa de recuperação. A proteção de um proprietário por invocação permanece obrigatória.
|
|
40
|
+
|
|
29
41
|
## Paralelismo
|
|
30
42
|
|
|
43
|
+
### Execução nativa de uma DAG no Codex
|
|
44
|
+
|
|
45
|
+
- `execution native-next EXEC --run RUN --contexts MAP.json --json` lê o PreparedPlan canônico e retorna envelopes; não inicia provider, não comprova autenticação nem constitui evidência de execução. O mapa associa IDs de Tasks a arquivos de contexto existentes construídos para o agente selecionado.
|
|
46
|
+
- Inicie ou retome apenas Changes/Tasks elegíveis pelos comandos lifecycle. O macro despacha um `zaip-agent-orchestrator` por tentativa de Task, capturado com `subagent capture --event start ... --parent-run-id MACRO-RUN --task TASK`. A CLI deriva os ancestrais da DAG; a invocação delegada preserva `run_role: subagent`, propósito `orchestration` e pai nativo real. Não crie raízes fictícias nem atribua a mesma invocação a duas Tasks.
|
|
47
|
+
- O orquestrador da Task despacha seus executores e revisores; eles retornam resultados e não criam filhos. Terminar um executor encerra somente sua Sub-Run. Após commit, integração aplicável, validações e `task verify`, Gui é o último filho direto do orquestrador da Task, irmão dos executores. Persista `run finalization TASK-RUN` com a decisão observada e IDs `EVD-*`. Encerrar o orquestrador sem Gui válido bloqueia somente sua Task; nunca aprova dependências bloqueadas.
|
|
48
|
+
- Depois de cada Task, continue a DAG. Apenas após todas as Tasks e os gates de integração, use `execution verify`; o Gui do macro continua sendo o último filho do macro e decide seu fechamento. Um Gui de Task não entrega automaticamente a SPEC/PRD.
|
|
49
|
+
- Uma invocação já atribuída a outra entrega não pode trocar de raiz no mesmo turno. Preserve sua identidade; não crie um novo trabalho independente ao retomar o PRD existente. O preflight deve detectar essa divergência antes da captura, não apenas após terminar a primeira parte. Não edite o PreparedPlan materializado nem reatribua Tasks históricas para contornar um conflito.
|
|
50
|
+
- A hierarquia PRD/SPEC coordena a DAG, não exige níveis adicionais de agentes: o host despacha diretamente o orquestrador de cada Task, sem inserir um agente macro intermediário. Respeite profundidade, capacidade e orçamento reais; sequencie Tasks quando necessário. Sem delegação nativa no orquestrador, registre a limitação; não transfira a obrigação ao executor nem simule ancestralidade.
|
|
51
|
+
- Perfis somente leitura retornam decisões/eventos; não gravam lifecycle. Aplique o relay do host autorizado descrito em `references/runtime-governance.md`, preservando Gui como último filho do orquestrador responsável. Não exija argumentos ausentes do schema nativo nem converta UUID em path. O host grava a decisão real antes do Stop canônico do Gui; ausência de captura ou persistência mantém resultado bloqueado e recuperável.
|
|
52
|
+
- Aumento de escopo explicitamente autorizado em rework usa `task amend-scopes TASK --run RUN --expected-revision N --add-scopes PATH[,PATH] --reason MOTIVO`. O comando registra delta aditivo recuperável na Change, preservando snapshot, IDs, ACs, risco e contadores. Não use o motivo como substituto de autorização nem altere o PreparedPlan materializado.
|
|
53
|
+
|
|
31
54
|
- A unidade de isolamento é a Task; a Execution mantém a DAG global, inclusive entre SPECs de um PRD.
|
|
32
55
|
- O agente pode escolher execução sequencial mesmo com paralelismo permitido.
|
|
33
56
|
- Toda integração final é uma dependência explícita e precisa repetir os gates relevantes no resultado combinado.
|
|
34
57
|
|
|
35
|
-
## Runtime
|
|
58
|
+
## Runtime gerenciado e compatibilidade
|
|
36
59
|
|
|
37
|
-
1. Leia `execution.runtime`.
|
|
38
|
-
2.
|
|
60
|
+
1. Leia `execution.runtime`. Novo padrão `managed` despacha PRD/SPEC pelo provider, mantendo avulsas diretas. Ausente/manual preserva execução tradicional; `autonomous` também permite Task gerenciada explícita. Legados já tentados exigem `task migrate-autonomy` revisado; nenhum consumo é zerado.
|
|
61
|
+
2. Com `autonomy.version: 1`, aplique `RULE-AUTONOMY-DECISION` e seu ledger estável por Task. A seleção manual fica no principal avulso; subagentes seguem política automática com aviso. Sem esse bloco, preserve `automatic_sources` legado (`spec`,`prd`). Não alegue enforcement de orçamento/modelo em ferramenta nativa que não passou pelo dispatch gerenciado.
|
|
39
62
|
3. Em autonomia, exija raiz Git limpa, worktree registrada por Task, commit final canônico sem alterações pendentes, diff dentro dos write scopes e merge abortável em conflito. A integração cria outro commit canônico por Task no histórico first-parent e referencia o SHA do candidato em `ZAIP-Product-Commit`.
|
|
40
|
-
4. Use o menor
|
|
63
|
+
4. Use o menor paralelismo entre projeto, plano, provider e squad. Em `autonomy-v1`, orçamento por Task vem exclusivamente do preset congelado: Essencial 4/1, Equilibrado 10/3, Persistente ilimitado (execuções/replans); tempo não encerra Task. Risco/domain definem assurance, não esse orçamento. Só no contrato legado use as quotas anteriores por risco.
|
|
41
64
|
5. Checkpoints opacos ficam somente em `.local`; não copie token de retomada para records rastreados. Critical recebe contexto fresco e verificador independente.
|
|
42
65
|
6. A validação tipada acontece dentro da worktree no commit candidato antes da integração. Falha de assurance não pode ser convertida em sucesso pelo coordenador.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Ciclo de correção e bloqueio
|
|
2
|
+
|
|
3
|
+
Carregue esta referência somente antes de uma nova correção. Falha operacional transitória, cuja recuperação é esperada, recebe retry limitado; impedimento essencial deixa a Task `blocked`; falha lógica exige correção localizada ou repair/rework explícito.
|
|
4
|
+
|
|
5
|
+
Registre nos findings, Change ou Run existentes somente resultados observáveis: falha, tentativa e resultado, aprendizado ou hipótese nova, e próxima ação e teste discriminante; não registre raciocínio privado. Se a mesma falha reaparecer após uma correção, revise a hipótese antes de editar novamente. Evidência pode refutá-la mesmo quando o teste não passa. Diff, ID cosmético ou mera ausência de erro não demonstram avanço.
|
|
6
|
+
|
|
7
|
+
Preserve escopo e critérios de aceite; evite melhorias opcionais e valide primeiro a hipótese específica, repetindo validação ampla somente por mudança relevante ou gate exigido. Respeite os limites e contadores existentes, sem criar paralelos; um replanejamento não os reinicia nem cria identidades novas para ganhar tentativas. Sem rota fundada, ou quando o limite aplicável se esgota, marque `blocked` com a condição objetiva de retomada no lifecycle. Astra só é usado onde a política atual permite; Task avulsa preserva modelo e effort selecionados pelo host.
|
|
@@ -2,16 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
Carregue antes de executar uma entrega ou delegar. Este contrato detalha o kernel de RULE-CORE; perguntas diretas read-only não precisam desta expansão.
|
|
4
4
|
|
|
5
|
-
-
|
|
6
|
-
- Pensar/explorar PRD/SPEC é `conversation`; criar persiste o pacote `draft` e PreparedPlan com telemetria, e `ready|execute` materializa a DAG. PRD/SPEC são opcionais; a entrada pode ser Task, SPEC ou PRD. PRD cancelado é imutável: crie sucessor `rework`.
|
|
7
|
-
- Classifique/capture o turno: pergunta, análise pontual ou baixa confiança cria só Run `conversation`; continuação/refinamento/rework reutiliza foco; edição persistente, resultado independente ou pedido explícito cria Task de título semântico (nunca copiado/truncado do prompt). Pedido explícito no turno de `deploy|push|publicar|publicação GitHub` seleciona `$zaip-skill-github-deploy`, é Git-only e não materializa lifecycle; autoriza reconciliação limitada e commits funcionais apenas do diff pretendido/evidenciado, com pathspecs explícitos e sem inventar IDs ausentes. A seleção não autoriza outro provider, `git add -A`, force, segredos ou worktrees alheios.
|
|
8
|
-
- Criar/refinar PRD/SPEC `draft` persiste macro/PreparedPlan em Execution `interaction`, sem Task, Change ou delivery, vinculada à Run/`creation_run_id`; agregue telemetria apenas observada/reconciliada. Fora disso, antes de mutação persistente no repositório/PC materialize Task, Execution, Change e Run raiz; pedido avulso entra em Execução. Só Git/deploy sem produto, manifests/telemetria gerados, `.git`, cache, build, teste e temporário são isentos; código, documentação e configuração nunca são.
|
|
9
|
-
- Limite: cinco perguntas/turno, três turnos; registre decisões delegáveis. Autoridade, lei e segurança não delegáveis bloqueiam. Antes de bloquear ação já autorizada por credencial, aplique `$zaip-skill-local-credentials`: busque dotenv somente no projeto, trate-o como dados, selecione uma chave pertinente e injete-a apenas no subprocesso mínimo sem expor valores. Credencial ausente, ambígua ou comprovadamente inutilizável bloqueia; razão sanitizada. Resolva verbos por alvo/status em `RULE-WORKFLOW`: `execute` usa o menor grão, `implemente` sem alvo conversa, `desenvolva|melhore|aprimore` planeja/rework. Nunca invente tokens, custo, decisão, Evidence, teste ou resultado.
|
|
5
|
+
- `RULE-CORE` e `RULE-WORKFLOW`, já carregadas antes desta referência, são a fonte para configuração, autoridade externa, captura, PRD/SPEC/Task lifecycle, Git-only/deploy, perguntas, verbos, credenciais e plano visível. Aplique-as integralmente; esta referência só acrescenta a governança de execução e delegação abaixo.
|
|
10
6
|
- Em modo manual carregue `RULE-MODEL-ORCHESTRATION` antes da primeira resposta visível; aviso não bloqueia nem altera seleção. Com Codex/delegação use apenas `codex_name` do catálogo, formato `zaip-agent-NOME`, recursivamente; proíba `default`, `worker`, `explorer` e tipos ad-hoc.
|
|
11
7
|
- Para delegação Codex, Sub-Run ZAIP é somente subagente nativo de colaboração (`spawn_agent`). `create_thread` e `fork_thread` criam chats independentes e exigem pedido explícito do usuário; nunca são Sub-Run, fallback, retry ou prova de delegação. Se delegação nativa estiver indisponível, relate a limitação em vez de criar chat independente. Nome de catálogo, `task_name`, título ou prompt não prova ancestralidade nativa. Antes de repetir a mesma delegação limitada, aguarde ou reutilize seu filho pendente e capture somente ancestralidade/metadados observados em resultados nativos de spawn/terminal do host ou eventos SubagentStart/SubagentStop.
|
|
12
8
|
- Cada `client_turn_id` observável tem uma Execution idempotente/claim atômico; sem ele use identidade local sem prometer idempotência. `interaction` read-only sem descendentes é conversa sem Task artificial e termina após a resposta entregue, sem executor ou finalizador; interaction com trabalho delegado e `delivery` exigem executor/finalizador. `delivery` é trabalho materializado e reuso exige kind/origem compatíveis. A raiz é `zaip-agent-orchestrator`; quando a barreira é exigida escolha executor por capacidade, permita reviewer/auditor/integrator e termine com `zaip-agent-finalizer` em `finalization`, após descendentes, bloqueando novas chamadas.
|
|
13
|
-
- Hooks são best-effort: após cada spawn/terminal o orquestrador
|
|
14
|
-
- Em `
|
|
15
|
-
-
|
|
9
|
+
- Hooks são best-effort: após cada spawn/terminal, o host autorizado a serviço do orquestrador executa `zaip subagent capture` idempotente com metadados reais. Na captura rica, preserve session/turn observados, `agent-id` com a identidade nativa retornada e `parent-agent-id`/`parent-run-id` do pai imediato exato; cada invocação preserva seu turn. Quando um evento terminal observado expõe somente agent_path, status, identidade catalogada e pai exato, `capture-terminal` aceita apenas `zaip-agent-finalizer` ou executor elegível para delivery com capacidade `task-delivery`; exige também `parent-run-id` igual ao `run_id` da raiz ativa exata, pois um client thread pode conter raízes concorrentes. O último segmento do agent_path deve ser seu `codex_task_name` canônico. O propósito deriva da identidade validada e session/turn/model/provider/usage permanecem indisponíveis; o fallback nunca substitui captura rica nem inventa modelo, effort, tokens ou custo.
|
|
10
|
+
- Em `autonomy-v1`, carregue `RULE-AUTONOMY-DECISION`. Task avulsa preserva seleção manual do principal, evita subagentes e só delega por necessidade concreta; quando delegar, informe que modelo/esforço dos filhos seguem a política ZAIP, sem obrigação de herdar o principal. Fixe configuração por chamada e registre seleção efetivamente observada. Sem `autonomy`, preserve o contrato legado de `automatic_sources` (`spec`,`prd`).
|
|
11
|
+
- Escaladas seguem o perfil congelado: Essencial nunca Astra automático; Equilibrado Sol/high, Astra/high, Astra/high, com execução Astra/high elegível no terceiro bloco; Persistente sem quota total. `RULE-ASTRA-DIAGNOSTIC` descreve também compatibilidade legada. Não use título/volume como prova nem alegue mudança de modelo apenas pelo prompt.
|
|
16
12
|
- Todo PreparedPlan PRD/SPEC traz `model_signals` por Task; o framework persiste `model_profile`, `task-risk-v1` e motivos, usando `runtime_defaults`, `runtime`, política/defaults sem `standard` silencioso. Não infira fase/complexidade/transversalidade/ambiguidade/rework/custo/capacidade por contagem de arquivos; use sinais, fase/agente e capacidades. Cabeçalho e `model.selection.recorded` repetem a seleção enviada.
|
|
17
13
|
- Plano visível: `DEFINE:`, `PLAN:`, `EXECUTE:` ou `VERIFY:`, 3–4 passos (máximo 5); omita fase sem ação e combine trivialidades.
|
|
14
|
+
|
|
15
|
+
## Limites do host e relay de persistência
|
|
16
|
+
|
|
17
|
+
- Gui pode ser o último filho para avaliar uma entrega que não conseguiu iniciar executor. Isso não concede sucesso: `executor_missing` mantém `completed` bloqueado mesmo com Evidence aprovada; decisões reais `blocked`/`failed` seguem o relay normal e preservam o motivo. Não crie executor cerimonial para satisfazer o fechamento. A exceção direta continua restrita à raiz Task autorizada desde a captura.
|
|
18
|
+
|
|
19
|
+
- `execution.runtime: managed` despacha PRD/SPEC pelo provider e mantém avulsas diretas. Para a raiz Task direta, registre a referência humana em `--direct-authorization` desde a captura. Identidade e intenção sozinhas não concedem autorização. Esse contrato substitui somente o executor filho; nunca Evidence, revisão aplicável, Gui ou identidade observada. Não autorize retroativamente uma raiz fechada, macro ou filho.
|
|
20
|
+
|
|
21
|
+
- Há exatamente um orquestrador responsável por tentativa de Task. Quando a raiz física já é Task-scoped, ela despacha executor/revisor e Gui diretamente: não inicia um Dave adicional. Somente uma raiz macro delega orquestradores de Tasks distintas; seus trabalhadores e Gui pertencem ao respectivo orquestrador. Coordenação e aceite parental não representam uma segunda tentativa da mesma Task.
|
|
22
|
+
- Os nomes de ferramentas no catálogo são capacidades, não nomes literais de ferramentas do host. O orquestrador pode descobrir ferramentas diferidas no registro nativo e usar spawn/send/wait/close dos descendentes autorizados, inclusive com filesystem read-only. Essa permissão não autoriza persistência pelo perfil, chats independentes ou ampliação de sandbox. Declarar indisponibilidade exige conferir o registro efetivamente exposto.
|
|
23
|
+
|
|
24
|
+
- `agent_type` usa o `codex_name` exato. Envie `task_name` somente se o schema da ferramenta nativa o oferecer; nesse caso use o `codex_task_name` exato. Sem esse parâmetro, use o perfil catalogado e preserve o UUID/nickname retornado, inclusive sufixos atribuídos pelo host. Nunca transforme UUID ou nickname em `agent_path` nem use nome como prova de ancestralidade.
|
|
25
|
+
- Orquestrador e Gui com perfil `read-only` não executam comandos que escrevem records, locks ou recibos. Eles retornam eventos e decisão ao host autorizado. O host é o escritor do lifecycle, não um executor/finalizador substituto: não altera a decisão, identidade, pai ou evidências do agente.
|
|
26
|
+
- A ordem canônica é início real, decisão observada de Gui, Stop e fechamento com a mesma decisão. Não imponha ao Gui espera ativa por recibos: ele pode devolver seu resultado terminal; o host usa `subagent capture --event stop` com a decisão real nos campos `task-outcome`, `summary`, `evidence`, `changed-files`, persistindo-a antes do Stop canônico. O relay rico aceita filho já terminal com responsável aberto, sem trocar metadados por fallback. Responsável fechado sem decisão exige nova tentativa autorizada. Não confunda horário observado com gravação, nem status nativo com decisão.
|
|
27
|
+
- O fallback `capture-terminal` continua restrito ao contrato de path, pai e identidade já descrito. UUID com `agent_path: null` não satisfaz esse fallback. Falta de prova rica, conflito de ancestry ou falha do escritor bloqueia a entrega, sem recriar Tasks, inventar metadados, ampliar sandbox ou pedir a um executor que delegue Gui.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zaip-skill-external-integrations
|
|
3
|
+
description: Implement bounded third-party API and webhook adapters with safe credentials, retries, verification, and replay handling.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Integrate external systems
|
|
7
|
+
|
|
8
|
+
Use for outbound providers, inbound webhooks, or vendor protocol changes.
|
|
9
|
+
|
|
10
|
+
1. Establish the provider contract, data classification, auth method, timeout, rate limit, expected failures, and ownership boundary.
|
|
11
|
+
2. Resolve credentials only for an already authorized action through `$zaip-skill-local-credentials`; never expose their values in evidence.
|
|
12
|
+
3. Verify signatures before processing webhooks, use stable event identities for deduplication, and retain a bounded replay path.
|
|
13
|
+
4. Place provider behavior behind an adapter and use sanitized fixtures for success, timeout, invalid response, and duplicate event cases.
|
|
14
|
+
5. Do not enable production callbacks or mutate a provider account without explicit external authorization.
|
|
@@ -5,7 +5,11 @@ description: Implement accessible frontend experiences in apps/frontend and dash
|
|
|
5
5
|
|
|
6
6
|
# Entregar frontend
|
|
7
7
|
|
|
8
|
+
Para componentes de UI novos ou alterados, carregue também
|
|
9
|
+
`$zaip-skill-frontend-componentization`.
|
|
10
|
+
|
|
8
11
|
1. Confirmar `apps/frontend/**` ou dashboard React (`.agents/dashboard/apps/frontend/**`, `.agents/dashboard/modules/**/src/react/**`); nunca autoriza runtime, SQLite ou server.
|
|
9
12
|
2. Ler o contrato visual aplicável antes de alterar componentes e preservar acessibilidade, semântica e estados de carregamento/erro.
|
|
10
13
|
3. Aplicar [o contrato de prova observável](../zaip-skill-change/references/observable-evidence.md): definir cenário/expectativa por AC, executar a interação afetada e conferir seu efeito; teste, typecheck e build são proporcionais e não substituem comportamento observado.
|
|
11
14
|
4. Se houver impacto visual, obter e examinar screenshot real da versão carregada no estado pedido. No dashboard, preservar render determinístico e verificação do bundle servido. Indisponibilidade segue o fallback finito: mantém o AC visual pendente, não invalida prova técnica independente nem autoriza aprovação integral.
|
|
15
|
+
5. Para publicação, usar somente a branch de validação configurada e o ambiente próprio de validação do frontend. A promoção para produção segue o [contrato de ambientes e acessos](../zaip-skill-backend/references/deployment-environments.md); consultas Supabase usam exclusivamente READ-ONLY-BETA ou READ-ONLY-PROD configurados.
|