@zaip-ai/cli 4.9.0 → 5.1.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/dist/services/adapter-hook-sources.d.ts +3 -0
- package/dist/services/adapter-hook-sources.d.ts.map +1 -1
- package/dist/services/adapter-hook-sources.js +3 -0
- package/dist/services/adapter-hook-sources.js.map +1 -1
- package/dist/services/adapters.d.ts +1 -1
- package/dist/services/adapters.d.ts.map +1 -1
- package/dist/services/adapters.js +5 -2
- package/dist/services/adapters.js.map +1 -1
- package/dist/services/adapters.test.js +1 -1
- package/dist/services/adapters.test.js.map +1 -1
- package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
- package/dist/services/codex-conversation-lifecycle-hook.js +16 -6
- package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
- package/dist/services/codex-hook-activation.d.ts +1 -1
- package/dist/services/codex-hook-activation.d.ts.map +1 -1
- package/dist/services/codex-hook-activation.js +116 -10
- package/dist/services/codex-hook-activation.js.map +1 -1
- package/dist/services/codex-pre-tool-cli-capture-template.d.ts +2 -0
- package/dist/services/codex-pre-tool-cli-capture-template.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-cli-capture-template.js +104 -0
- package/dist/services/codex-pre-tool-cli-capture-template.js.map +1 -0
- package/dist/services/codex-pre-tool-cloud-template.d.ts +2 -0
- package/dist/services/codex-pre-tool-cloud-template.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-cloud-template.js +190 -0
- package/dist/services/codex-pre-tool-cloud-template.js.map +1 -0
- package/dist/services/codex-pre-tool-dependencies.test-support.d.ts +2 -0
- package/dist/services/codex-pre-tool-dependencies.test-support.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-dependencies.test-support.js +9 -0
- package/dist/services/codex-pre-tool-dependencies.test-support.js.map +1 -0
- package/dist/services/codex-pre-tool-hook-fixture.test-support.d.ts +5 -0
- package/dist/services/codex-pre-tool-hook-fixture.test-support.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-hook-fixture.test-support.js +19 -0
- package/dist/services/codex-pre-tool-hook-fixture.test-support.js.map +1 -0
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.d.ts +2 -0
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.js +107 -0
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.js.map +1 -0
- package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.js +96 -210
- package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.test.js +32 -80
- package/dist/services/codex-pre-tool-hook-template.test.js.map +1 -1
- package/dist/services/codex-pre-tool-host-context-template.d.ts +2 -0
- package/dist/services/codex-pre-tool-host-context-template.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-host-context-template.js +139 -0
- package/dist/services/codex-pre-tool-host-context-template.js.map +1 -0
- package/dist/services/codex-pre-tool-support-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-support-template.js +61 -101
- package/dist/services/codex-pre-tool-support-template.js.map +1 -1
- package/dist/services/codex-subagent-hook-template.d.ts +1 -1
- package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
- package/dist/services/codex-subagent-hook-template.js +13 -2
- package/dist/services/codex-subagent-hook-template.js.map +1 -1
- package/dist/services/codex-validation-runtime-template.d.ts.map +1 -1
- package/dist/services/codex-validation-runtime-template.js +10 -4
- package/dist/services/codex-validation-runtime-template.js.map +1 -1
- package/dist/services/runtime-template-test-support.d.ts +1 -0
- package/dist/services/runtime-template-test-support.d.ts.map +1 -1
- package/dist/services/runtime-template-test-support.js +23 -2
- package/dist/services/runtime-template-test-support.js.map +1 -1
- package/dist/services/runtime-template.test.js +4 -23
- package/dist/services/runtime-template.test.js.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/README-ENG.md +58 -7
- package/templates/.agents/README.md +46 -10
- package/templates/.agents/config/agents/discovery.json +1 -1
- package/templates/.agents/dashboard/.zaip-managed.json +174 -86
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-BW7Vy1cp.js → CostCalculationGuidePage-uR-asJv_.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-Cp_hEVd8.js → DashboardHelpDialog-CngnpoLL.js} +87 -13
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-Prcs-ydy.js → PricingSettingsDialog-Bszw3ekd.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-Cu40wAFF.js → ProjectSettingsPage-IJ1znG4w.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-Bh3YBd3C.js → TraceabilityWorkspace-CsBpHqq_.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-B0Jwz_rk.js +68 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-CF7B1Hjn.js → dashboard-localization-D41g5rdo.js} +58 -7
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-DOhy6D2-.js → icons-vendor-CjGGux6h.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-Bedlm0f7.js +2 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-CkPC-yMz.js → react-vendor-B9jZSAKf.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-BEdGoIDm.js → traceability-DFpwb0TN.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +5 -5
- package/templates/.agents/dashboard/apps/frontend/package.json +2 -2
- package/templates/.agents/dashboard/apps/frontend/src/AppDashboardContent.tsx +3 -0
- package/templates/.agents/dashboard/apps/frontend/src/AppOverlays.tsx +16 -7
- package/templates/.agents/dashboard/apps/frontend/src/__tests__/app-composition-support.ts +1 -0
- package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/operations-period-render.test.ts +2 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-documents.navigation.test.tsx +125 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-documents.ts +67 -9
- package/templates/.agents/dashboard/apps/frontend/src/use-dashboard-app-model.tsx +15 -15
- package/templates/.agents/dashboard/apps/frontend/src/use-dashboard-locale.ts +18 -0
- package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/contracts.ts +10 -3
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.run-page.test.ts +5 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.period-values.test.tsx +2 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +5 -5
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +36 -43
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-loaders.ts +1 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-formatters.ts +6 -4
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.ts +2 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +11 -25
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/cost-summary-defaults.ts +26 -0
- package/templates/.agents/dashboard/modules/operations/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/src/contracts.ts +11 -16
- package/templates/.agents/dashboard/modules/operations/src/planning-contracts.ts +14 -0
- package/templates/.agents/dashboard/modules/operations/src/react/DecisionTable.tsx +65 -0
- package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +5 -71
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +4 -39
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewTopPanel.navigation.test.tsx +150 -0
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewTopPanel.tsx +7 -3
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +14 -43
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageOverview.tsx +3 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-contract.ts +51 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +12 -3
- package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +1 -0
- package/templates/.agents/dashboard/modules/operations/src/react/use-operations-default-range.ts +16 -0
- package/templates/.agents/dashboard/modules/operations/src/react/use-operations-filter-sync.ts +66 -0
- 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/contracts/package.json +1 -1
- package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/dashboard-build-fingerprint.mjs +87 -0
- package/templates/.agents/dashboard/packages/local-runtime/dashboard-build-fingerprint.test.mjs +48 -0
- package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +193 -191
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +169 -169
- package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/scripts/build-frontend.mjs +29 -0
- package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-runtime.mjs +5 -0
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +193 -191
- package/templates/.agents/dashboard/packages/local-runtime/src/active-capture-failure.test.ts +38 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/active-capture-failure.ts +35 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.test.ts +53 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +18 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/manifest-runs.ts +8 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/server-capture-projection-order.test.ts +118 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-cost-run-search.test.ts +90 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-cost-run-search.ts +86 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-routes.ts +8 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/server-projection-loaders.ts +13 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-projections.ts +30 -74
- package/templates/.agents/dashboard/packages/local-runtime/src/server-route-handlers.ts +42 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-routes.test.ts +60 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-run-projections.test.ts +12 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/server-telemetry-command.test.ts +29 -4
- package/templates/.agents/dashboard/packages/local-runtime/src/server-telemetry-refresh.ts +7 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +51 -54
- package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +28 -45
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-filter-matrix.test.ts +5 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-invocation-page.test.ts +49 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-invocation-page.ts +44 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-cached-cost-page.ts +11 -10
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-summary.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-work-item-index.test.ts +18 -1
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-build.mjs +12 -5
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-paths.mjs +8 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +1 -0
- package/templates/.agents/dashboard/packages/ui/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/qualify-top-five-trace.mjs +53 -0
- package/templates/.agents/dashboard/tests/e2e/verify-top-five-served.mjs +78 -0
- package/templates/.agents/design/.zaip-managed.json +14 -6
- package/templates/.agents/design/apps/catalog/dist/assets/index-BGxXxXTo.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/index.html +1 -1
- package/templates/.agents/design/apps/catalog/package.json +1 -1
- package/templates/.agents/design/apps/catalog/src/components/TopEntitiesSpecimen.tsx +45 -0
- package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +3 -1
- package/templates/.agents/design/apps/catalog/src/stories/Components.stories.tsx +2 -0
- package/templates/.agents/design/packages/local-runtime/package.json +1 -1
- package/templates/.agents/requirements/autonomous-assurance.md +11 -2
- 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 +1 -1
- 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 +1 -1
- 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 +2 -1
- package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
- package/templates/.agents/rules/run-lifecycle-closure.md +2 -1
- package/templates/.agents/rules/workflow.md +1 -0
- package/templates/.agents/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +1178 -764
- 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 +59 -59
- package/templates/.agents/skills/zaip-skill-execution/SKILL.md +1 -1
- package/templates/.agents/skills/zaip-skill-execution/references/controlled-release-recovery.md +14 -0
- package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +1 -1
- package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +5 -1
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract-cli.test.mjs +53 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.mjs +12 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.test.mjs +26 -32
- package/templates/.agents/skills/zaip-skill-maintenance-enter/SKILL.md +23 -0
- package/templates/.agents/skills/zaip-skill-maintenance-enter/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.mjs +213 -0
- package/templates/.agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.test.mjs +207 -0
- package/templates/.agents/skills/zaip-skill-maintenance-exit/SKILL.md +21 -0
- package/templates/.agents/skills/zaip-skill-maintenance-exit/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +2 -0
- package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +37 -8
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/.agents/zaip-aios/guides/10-seguranca.md +2 -2
- package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +38 -0
- package/templates/template-manifest.json +259 -135
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-Co2Jiuzh.js +0 -68
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-qVSJnJ0_.js +0 -2
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
b146bd0c7c60b1ab43c4f71e0b1d2262c6df6da6f7053a0425f834ccb77a6b48 LICENSE
|
|
2
2
|
bc02cba77e8d51e5c580f43668863dc868eda66f1ff663bfaa49fcf3ca16320e THIRD_PARTY_NOTICES.md
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
c0eacacd7e27bbf341d21e7e0e2997a363840a210d8e358d4babaebd765b5bfd VERSION
|
|
4
|
+
bc095b0649bb85426f67614a7cc450afbc4a7d52bab8e83954e318f0d4aa4db4 bin/zaip.mjs
|
|
5
|
+
429917091d9e2a4af73bee5aa1d5d8f85888528e0c2cbcd62fa703b855deed79 manifest.json
|
|
6
6
|
7f89219d7c567c82a51679ad136d84364bded7ac659492537e125d33b1d58a7a migrations/001-layout-v1.json
|
|
7
7
|
5f8c48b286d0b44d8fbb57a9a5d009a8a500439aa3148d750b8f193f72995c9f migrations/002-layout-v2.json
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
2bd34b2f5c253a2167d9addaf1994167308ac0bb4fec22a794c8a5b488205278 pnpm-lock.sha256
|
|
9
|
+
f7612762f640328ad211f8e39308decde7ab1539a67be5f4770f9367e28e3290 provenance.json
|
|
10
|
+
d2956defc87c3bc6022b68eaf905f7eda311b410918568b0d57101bdd6aec2d5 sbom.cdx.json
|
|
11
11
|
b3ffedf9e146be802a15b4009f33e031dec3071ca1525e12c67606fd964a3067 schemas/contracts.schema.json
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
b5e11351951654d41aa78dc858d43990a12964ba4051a070613ac8b11bc73a27 pnpm-lock.yaml
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"schema_version": 1,
|
|
3
3
|
"statement_type": "self_reported_build_integrity",
|
|
4
4
|
"authenticity": "unverified",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "5.1.0",
|
|
6
6
|
"source_origin": "zaip-aios:local-build",
|
|
7
|
-
"lockfile_sha256": "
|
|
8
|
-
"sbom_sha256": "
|
|
9
|
-
"runtime_sha256": "
|
|
10
|
-
"statement_sha256": "
|
|
7
|
+
"lockfile_sha256": "b5e11351951654d41aa78dc858d43990a12964ba4051a070613ac8b11bc73a27",
|
|
8
|
+
"sbom_sha256": "d2956defc87c3bc6022b68eaf905f7eda311b410918568b0d57101bdd6aec2d5",
|
|
9
|
+
"runtime_sha256": "0c57b09af7368dc856de264574e9835376097fe52f79713b21414d7f1f9acf65",
|
|
10
|
+
"statement_sha256": "5d508534242390ce35e059e0bcfe53a449eac817b34105b376bb200702857321"
|
|
11
11
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"component": {
|
|
7
7
|
"type": "application",
|
|
8
8
|
"name": "zaip-aios",
|
|
9
|
-
"version": "
|
|
9
|
+
"version": "5.1.0"
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
12
|
"components": [
|
|
@@ -577,158 +577,158 @@
|
|
|
577
577
|
{
|
|
578
578
|
"type": "library",
|
|
579
579
|
"name": "@img/sharp-darwin-arm64",
|
|
580
|
-
"version": "0.35.
|
|
581
|
-
"purl": "pkg:npm/%40img/sharp-darwin-arm64@0.35.
|
|
580
|
+
"version": "0.35.5",
|
|
581
|
+
"purl": "pkg:npm/%40img/sharp-darwin-arm64@0.35.5"
|
|
582
582
|
},
|
|
583
583
|
{
|
|
584
584
|
"type": "library",
|
|
585
585
|
"name": "@img/sharp-darwin-x64",
|
|
586
|
-
"version": "0.35.
|
|
587
|
-
"purl": "pkg:npm/%40img/sharp-darwin-x64@0.35.
|
|
586
|
+
"version": "0.35.5",
|
|
587
|
+
"purl": "pkg:npm/%40img/sharp-darwin-x64@0.35.5"
|
|
588
588
|
},
|
|
589
589
|
{
|
|
590
590
|
"type": "library",
|
|
591
591
|
"name": "@img/sharp-freebsd-wasm32",
|
|
592
|
-
"version": "0.35.
|
|
593
|
-
"purl": "pkg:npm/%40img/sharp-freebsd-wasm32@0.35.
|
|
592
|
+
"version": "0.35.5",
|
|
593
|
+
"purl": "pkg:npm/%40img/sharp-freebsd-wasm32@0.35.5"
|
|
594
594
|
},
|
|
595
595
|
{
|
|
596
596
|
"type": "library",
|
|
597
597
|
"name": "@img/sharp-libvips-darwin-arm64",
|
|
598
|
-
"version": "1.3.
|
|
599
|
-
"purl": "pkg:npm/%40img/sharp-libvips-darwin-arm64@1.3.
|
|
598
|
+
"version": "1.3.4",
|
|
599
|
+
"purl": "pkg:npm/%40img/sharp-libvips-darwin-arm64@1.3.4"
|
|
600
600
|
},
|
|
601
601
|
{
|
|
602
602
|
"type": "library",
|
|
603
603
|
"name": "@img/sharp-libvips-darwin-x64",
|
|
604
|
-
"version": "1.3.
|
|
605
|
-
"purl": "pkg:npm/%40img/sharp-libvips-darwin-x64@1.3.
|
|
604
|
+
"version": "1.3.4",
|
|
605
|
+
"purl": "pkg:npm/%40img/sharp-libvips-darwin-x64@1.3.4"
|
|
606
606
|
},
|
|
607
607
|
{
|
|
608
608
|
"type": "library",
|
|
609
609
|
"name": "@img/sharp-libvips-linux-arm",
|
|
610
|
-
"version": "1.3.
|
|
611
|
-
"purl": "pkg:npm/%40img/sharp-libvips-linux-arm@1.3.
|
|
610
|
+
"version": "1.3.4",
|
|
611
|
+
"purl": "pkg:npm/%40img/sharp-libvips-linux-arm@1.3.4"
|
|
612
612
|
},
|
|
613
613
|
{
|
|
614
614
|
"type": "library",
|
|
615
615
|
"name": "@img/sharp-libvips-linux-arm64",
|
|
616
|
-
"version": "1.3.
|
|
617
|
-
"purl": "pkg:npm/%40img/sharp-libvips-linux-arm64@1.3.
|
|
616
|
+
"version": "1.3.4",
|
|
617
|
+
"purl": "pkg:npm/%40img/sharp-libvips-linux-arm64@1.3.4"
|
|
618
618
|
},
|
|
619
619
|
{
|
|
620
620
|
"type": "library",
|
|
621
621
|
"name": "@img/sharp-libvips-linux-ppc64",
|
|
622
|
-
"version": "1.3.
|
|
623
|
-
"purl": "pkg:npm/%40img/sharp-libvips-linux-ppc64@1.3.
|
|
622
|
+
"version": "1.3.4",
|
|
623
|
+
"purl": "pkg:npm/%40img/sharp-libvips-linux-ppc64@1.3.4"
|
|
624
624
|
},
|
|
625
625
|
{
|
|
626
626
|
"type": "library",
|
|
627
627
|
"name": "@img/sharp-libvips-linux-riscv64",
|
|
628
|
-
"version": "1.3.
|
|
629
|
-
"purl": "pkg:npm/%40img/sharp-libvips-linux-riscv64@1.3.
|
|
628
|
+
"version": "1.3.4",
|
|
629
|
+
"purl": "pkg:npm/%40img/sharp-libvips-linux-riscv64@1.3.4"
|
|
630
630
|
},
|
|
631
631
|
{
|
|
632
632
|
"type": "library",
|
|
633
633
|
"name": "@img/sharp-libvips-linux-s390x",
|
|
634
|
-
"version": "1.3.
|
|
635
|
-
"purl": "pkg:npm/%40img/sharp-libvips-linux-s390x@1.3.
|
|
634
|
+
"version": "1.3.4",
|
|
635
|
+
"purl": "pkg:npm/%40img/sharp-libvips-linux-s390x@1.3.4"
|
|
636
636
|
},
|
|
637
637
|
{
|
|
638
638
|
"type": "library",
|
|
639
639
|
"name": "@img/sharp-libvips-linux-x64",
|
|
640
|
-
"version": "1.3.
|
|
641
|
-
"purl": "pkg:npm/%40img/sharp-libvips-linux-x64@1.3.
|
|
640
|
+
"version": "1.3.4",
|
|
641
|
+
"purl": "pkg:npm/%40img/sharp-libvips-linux-x64@1.3.4"
|
|
642
642
|
},
|
|
643
643
|
{
|
|
644
644
|
"type": "library",
|
|
645
645
|
"name": "@img/sharp-libvips-linuxmusl-arm64",
|
|
646
|
-
"version": "1.3.
|
|
647
|
-
"purl": "pkg:npm/%40img/sharp-libvips-linuxmusl-arm64@1.3.
|
|
646
|
+
"version": "1.3.4",
|
|
647
|
+
"purl": "pkg:npm/%40img/sharp-libvips-linuxmusl-arm64@1.3.4"
|
|
648
648
|
},
|
|
649
649
|
{
|
|
650
650
|
"type": "library",
|
|
651
651
|
"name": "@img/sharp-libvips-linuxmusl-x64",
|
|
652
|
-
"version": "1.3.
|
|
653
|
-
"purl": "pkg:npm/%40img/sharp-libvips-linuxmusl-x64@1.3.
|
|
652
|
+
"version": "1.3.4",
|
|
653
|
+
"purl": "pkg:npm/%40img/sharp-libvips-linuxmusl-x64@1.3.4"
|
|
654
654
|
},
|
|
655
655
|
{
|
|
656
656
|
"type": "library",
|
|
657
657
|
"name": "@img/sharp-linux-arm",
|
|
658
|
-
"version": "0.35.
|
|
659
|
-
"purl": "pkg:npm/%40img/sharp-linux-arm@0.35.
|
|
658
|
+
"version": "0.35.5",
|
|
659
|
+
"purl": "pkg:npm/%40img/sharp-linux-arm@0.35.5"
|
|
660
660
|
},
|
|
661
661
|
{
|
|
662
662
|
"type": "library",
|
|
663
663
|
"name": "@img/sharp-linux-arm64",
|
|
664
|
-
"version": "0.35.
|
|
665
|
-
"purl": "pkg:npm/%40img/sharp-linux-arm64@0.35.
|
|
664
|
+
"version": "0.35.5",
|
|
665
|
+
"purl": "pkg:npm/%40img/sharp-linux-arm64@0.35.5"
|
|
666
666
|
},
|
|
667
667
|
{
|
|
668
668
|
"type": "library",
|
|
669
669
|
"name": "@img/sharp-linux-ppc64",
|
|
670
|
-
"version": "0.35.
|
|
671
|
-
"purl": "pkg:npm/%40img/sharp-linux-ppc64@0.35.
|
|
670
|
+
"version": "0.35.5",
|
|
671
|
+
"purl": "pkg:npm/%40img/sharp-linux-ppc64@0.35.5"
|
|
672
672
|
},
|
|
673
673
|
{
|
|
674
674
|
"type": "library",
|
|
675
675
|
"name": "@img/sharp-linux-riscv64",
|
|
676
|
-
"version": "0.35.
|
|
677
|
-
"purl": "pkg:npm/%40img/sharp-linux-riscv64@0.35.
|
|
676
|
+
"version": "0.35.5",
|
|
677
|
+
"purl": "pkg:npm/%40img/sharp-linux-riscv64@0.35.5"
|
|
678
678
|
},
|
|
679
679
|
{
|
|
680
680
|
"type": "library",
|
|
681
681
|
"name": "@img/sharp-linux-s390x",
|
|
682
|
-
"version": "0.35.
|
|
683
|
-
"purl": "pkg:npm/%40img/sharp-linux-s390x@0.35.
|
|
682
|
+
"version": "0.35.5",
|
|
683
|
+
"purl": "pkg:npm/%40img/sharp-linux-s390x@0.35.5"
|
|
684
684
|
},
|
|
685
685
|
{
|
|
686
686
|
"type": "library",
|
|
687
687
|
"name": "@img/sharp-linux-x64",
|
|
688
|
-
"version": "0.35.
|
|
689
|
-
"purl": "pkg:npm/%40img/sharp-linux-x64@0.35.
|
|
688
|
+
"version": "0.35.5",
|
|
689
|
+
"purl": "pkg:npm/%40img/sharp-linux-x64@0.35.5"
|
|
690
690
|
},
|
|
691
691
|
{
|
|
692
692
|
"type": "library",
|
|
693
693
|
"name": "@img/sharp-linuxmusl-arm64",
|
|
694
|
-
"version": "0.35.
|
|
695
|
-
"purl": "pkg:npm/%40img/sharp-linuxmusl-arm64@0.35.
|
|
694
|
+
"version": "0.35.5",
|
|
695
|
+
"purl": "pkg:npm/%40img/sharp-linuxmusl-arm64@0.35.5"
|
|
696
696
|
},
|
|
697
697
|
{
|
|
698
698
|
"type": "library",
|
|
699
699
|
"name": "@img/sharp-linuxmusl-x64",
|
|
700
|
-
"version": "0.35.
|
|
701
|
-
"purl": "pkg:npm/%40img/sharp-linuxmusl-x64@0.35.
|
|
700
|
+
"version": "0.35.5",
|
|
701
|
+
"purl": "pkg:npm/%40img/sharp-linuxmusl-x64@0.35.5"
|
|
702
702
|
},
|
|
703
703
|
{
|
|
704
704
|
"type": "library",
|
|
705
705
|
"name": "@img/sharp-wasm32",
|
|
706
|
-
"version": "0.35.
|
|
707
|
-
"purl": "pkg:npm/%40img/sharp-wasm32@0.35.
|
|
706
|
+
"version": "0.35.5",
|
|
707
|
+
"purl": "pkg:npm/%40img/sharp-wasm32@0.35.5"
|
|
708
708
|
},
|
|
709
709
|
{
|
|
710
710
|
"type": "library",
|
|
711
711
|
"name": "@img/sharp-webcontainers-wasm32",
|
|
712
|
-
"version": "0.35.
|
|
713
|
-
"purl": "pkg:npm/%40img/sharp-webcontainers-wasm32@0.35.
|
|
712
|
+
"version": "0.35.5",
|
|
713
|
+
"purl": "pkg:npm/%40img/sharp-webcontainers-wasm32@0.35.5"
|
|
714
714
|
},
|
|
715
715
|
{
|
|
716
716
|
"type": "library",
|
|
717
717
|
"name": "@img/sharp-win32-arm64",
|
|
718
|
-
"version": "0.35.
|
|
719
|
-
"purl": "pkg:npm/%40img/sharp-win32-arm64@0.35.
|
|
718
|
+
"version": "0.35.5",
|
|
719
|
+
"purl": "pkg:npm/%40img/sharp-win32-arm64@0.35.5"
|
|
720
720
|
},
|
|
721
721
|
{
|
|
722
722
|
"type": "library",
|
|
723
723
|
"name": "@img/sharp-win32-ia32",
|
|
724
|
-
"version": "0.35.
|
|
725
|
-
"purl": "pkg:npm/%40img/sharp-win32-ia32@0.35.
|
|
724
|
+
"version": "0.35.5",
|
|
725
|
+
"purl": "pkg:npm/%40img/sharp-win32-ia32@0.35.5"
|
|
726
726
|
},
|
|
727
727
|
{
|
|
728
728
|
"type": "library",
|
|
729
729
|
"name": "@img/sharp-win32-x64",
|
|
730
|
-
"version": "0.35.
|
|
731
|
-
"purl": "pkg:npm/%40img/sharp-win32-x64@0.35.
|
|
730
|
+
"version": "0.35.5",
|
|
731
|
+
"purl": "pkg:npm/%40img/sharp-win32-x64@0.35.5"
|
|
732
732
|
},
|
|
733
733
|
{
|
|
734
734
|
"type": "library",
|
|
@@ -3469,8 +3469,8 @@
|
|
|
3469
3469
|
{
|
|
3470
3470
|
"type": "library",
|
|
3471
3471
|
"name": "sharp",
|
|
3472
|
-
"version": "0.35.
|
|
3473
|
-
"purl": "pkg:npm/sharp@0.35.
|
|
3472
|
+
"version": "0.35.5",
|
|
3473
|
+
"purl": "pkg:npm/sharp@0.35.5"
|
|
3474
3474
|
},
|
|
3475
3475
|
{
|
|
3476
3476
|
"type": "library",
|
|
@@ -3493,14 +3493,14 @@
|
|
|
3493
3493
|
{
|
|
3494
3494
|
"type": "library",
|
|
3495
3495
|
"name": "smol-toml",
|
|
3496
|
-
"version": "1.
|
|
3497
|
-
"purl": "pkg:npm/smol-toml@1.
|
|
3496
|
+
"version": "1.9.0",
|
|
3497
|
+
"purl": "pkg:npm/smol-toml@1.9.0"
|
|
3498
3498
|
},
|
|
3499
3499
|
{
|
|
3500
3500
|
"type": "library",
|
|
3501
3501
|
"name": "source-map-js",
|
|
3502
|
-
"version": "1.2.
|
|
3503
|
-
"purl": "pkg:npm/source-map-js@1.2.
|
|
3502
|
+
"version": "1.2.2",
|
|
3503
|
+
"purl": "pkg:npm/source-map-js@1.2.2"
|
|
3504
3504
|
},
|
|
3505
3505
|
{
|
|
3506
3506
|
"type": "library",
|
|
@@ -50,7 +50,7 @@ Recuperação de SPEC materializada com versão de pnpm defasada e Task bloquead
|
|
|
50
50
|
- 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.
|
|
51
51
|
|
|
52
52
|
- 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.
|
|
53
|
-
- `conversation start --intent new-work` já materializa e inicia Task, Change, Execution e Run. Não abra outra Run raiz para o mesmo turno.
|
|
53
|
+
- `conversation start --intent new-work` já materializa e inicia Task, Change, Execution e Run. Não abra outra Run raiz para o mesmo turno. As transições tipadas admitidas são `spec execute` para a SPEC pronta cuja definição terminou com Gui e, exclusivamente para fechamento pós-publicação comprovado, `task resume-post-publication` após Task de manutenção e Gui concluídos. Cada comando vincula claim, predecessor, sucessor e hash da autorização observada; não reabre nem reescreve a Run anterior. Repetição compatível reutiliza a identidade; intenção, alvo, modelo ou atribuição diferentes não são repetição compatível. O segundo caminho não autoriza escrita de produto na Task histórica; veja `references/controlled-release-recovery.md`.
|
|
54
54
|
- 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; a sucessora só existe após o handoff validado. Não reescreva o header anterior, altere IDs do cliente ou duplique telemetria sem fronteira observável.
|
|
55
55
|
- 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.
|
|
56
56
|
|
package/templates/.agents/skills/zaip-skill-execution/references/controlled-release-recovery.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Recuperação controlada de SPEC e release
|
|
2
2
|
|
|
3
|
+
## Fechamento de publicação já avançada
|
|
4
|
+
|
|
5
|
+
Quando a publicação e o avanço único de ciclo já ocorreram, mas a Task 4.9 foi bloqueada antes do fechamento, **não** use `recover-release`, não renove o grant antigo e não congele 5.0. A manutenção ativa pode preparar o recibo para a Task histórica exata. Primeiro faça a prévia e selecione os IDs das Evidence canônicas aprovadas. Registre na Change de manutenção uma Decision humana `confirmed`, categoria `contract`, cujo texto `decision` seja exatamente o JSON `authorization_payload` da prévia; a autorização original do pedido deve ser atribuída fielmente, sem inventar aprovação. A aplicação exige `--decision DEC-HUMAN-ID` e então grava uma Decision de emissão de origem `agent` com o hash do recibo e da solicitação humana observada.
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
node .agents/runtime/bin/zaip.mjs task recover-post-publication TASK-2026-10-03-13-40-PUBLICACAO-49 --actor-task TASK-2026-10-05-00-17-REPARO-POS-PUBLICACAO-49-FMCRW5CDK3 --actor-execution EXEC-2026-10-05-00-17-DELIVERY-NEW-WORK-EFX3MNZ9WN --run RUN-2026-10-05-00-17-REPARO-POS-PUBLICACAO-49-7K4R7ZVMDM --expected-revision 28 --evidence EVD-ID --json
|
|
9
|
+
node .agents/runtime/bin/zaip.mjs task recover-post-publication TASK-2026-10-03-13-40-PUBLICACAO-49 --actor-task TASK-2026-10-05-00-17-REPARO-POS-PUBLICACAO-49-FMCRW5CDK3 --actor-execution EXEC-2026-10-05-00-17-DELIVERY-NEW-WORK-EFX3MNZ9WN --run RUN-2026-10-05-00-17-REPARO-POS-PUBLICACAO-49-7K4R7ZVMDM --expected-revision 28 --evidence EVD-ID --decision DEC-HUMAN-ID --apply --json
|
|
10
|
+
node .agents/runtime/bin/zaip.mjs task resume-post-publication TASK-2026-10-03-13-40-PUBLICACAO-49 --receipt .local/recovery/post-publication/RECEIPT-HASH.json --json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Substitua `EVD-ID` pelo ID real de cada Evidence selecionada (se houver múltiplas, separe os IDs por vírgula no mesmo `--evidence`) e `RECEIPT-HASH` pelo nome devolvido pela **aplicação**; a prévia ainda não emite recibo. O primeiro comando é somente leitura. Depois da emissão, finalize normalmente a Task de manutenção e seu Gui; só então execute `resume-post-publication` na mesma invocação humana observada ou em um novo turno autenticamente observado no mesmo thread. A CLI retoma a Execution e a SPEC originais com a Task bloqueada como único alvo. Ela revalida revisões, Decision humana e de emissão, ausência de proprietário, SHA candidato, cada commit até o SHA publicado, Evidence/Validation e observação canônica, CI push em main, Release/tag/asset, npm version/latest/SRI e bytes do tarball, Actions de publicação, origin e hash exato do ciclo. Escrita de produto pela Task histórica continua vedada; complete apenas metadados de fechamento, Evidence, revisão independente quando aplicável e o Gui novo, sem apagar os registros históricos.
|
|
14
|
+
|
|
15
|
+
Para rollback operacional antes do consumo, deixe o recibo não consumido e a Task histórica bloqueada; a manutenção pode ser bloqueada pelo fluxo normal, sem reabrir o ciclo. Após falha parcial, repita o mesmo comando e recibo; um claim de turno ou raiz já persistida só pode ser reutilizado para o alvo idêntico. Se qualquer prova, revisão, proprietário ou conteúdo mudou, a CLI bloqueia e exige nova investigação em vez de reescrever autorização. O caminho de exceção do hook permite somente o comando literal de consumo; os demais comandos e escrita direta continuam sob a correlação normal de Task/Run. No repositório mantenedor, `node scripts/qualification/v49-post-publication.mjs test` roda a qualificação focal; `mutation --isolated` verifica mutantes e restaura os bytes originais.
|
|
16
|
+
|
|
3
17
|
## Grant pendente após interrupção
|
|
4
18
|
|
|
5
19
|
Quando uma Task já retomou, mudou de revisão e voltou a ficar bloqueada antes do refreeze, use `task recover-release TASK --renew-grant --actor-execution EXEC --run RUN --expected-revision N --json`. A prévia exige o mesmo alvo Task/SPEC/Execution/release, um novo responsável observado e o responsável anterior terminal. A aplicação mantém a Decision humana exata, acrescentando `--decision DEC-HUMAN-ID --apply`; o payload inclui o hash do grant anterior e o estado atual. A CLI não altera a revisão da Task para acomodar o grant.
|
|
@@ -5,7 +5,7 @@ Carregue antes de executar uma entrega ou delegar. Este contrato detalha o kerne
|
|
|
5
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.
|
|
6
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.
|
|
7
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.
|
|
8
|
-
- Cada `client_turn_id` observável tem por padrão uma Execution idempotente/claim atômico; sem ele use identidade local sem prometer idempotência. A exceção versionada de `spec execute` permite uma Execution delivery sucessiva à interaction de definição no mesmo turno físico somente após definição terminal+Gui, SPEC pronta e autorização explícita observada para o alvo exato. O claim vincula as
|
|
8
|
+
- Cada `client_turn_id` observável tem por padrão uma Execution idempotente/claim atômico; sem ele use identidade local sem prometer idempotência. A exceção versionada de `spec execute` permite uma Execution delivery sucessiva à interaction de definição no mesmo turno físico somente após definição terminal+Gui, SPEC pronta e autorização explícita observada para o alvo exato. A exceção tipada de `task resume-post-publication` permite a sucessora da SPEC histórica após a raiz delivery de manutenção terminar com Gui, com recibo canônico emitido antes do encerramento e publicação/ciclo revalidados; em novo turno observado, o claim vincula o mesmo recibo ao sucessor sem duplicar a raiz anterior. O claim vincula as Executions e Runs, preserva a anterior e impede dois proprietários ativos; não fabrica novo turno ou child. `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.
|
|
9
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
10
|
- Antes da primeira edição do executor nativo, capture seu início observado. Na captura manual de executor cujo pai é orquestrador de Task delegado por uma SPEC, `--session` continua sendo o UUID físico da raiz macro; informe também `--native-session CHILD_UUID` com o UUID do filho observado no retorno do spawn. O PreToolUse pode receber a sessão do pai junto com o turno do filho: a CLI grava correlações locais exatas para esse formato e para a sessão nativa do filho, somente após verificar ancestralidade, modelo/effort, Task e Execution ativos. A autorização de patch fica limitada aos write scopes da Task; reviewers, identidades desconhecidas, outro turno e Runs terminais não recebem essa capacidade. Não copie nem fabrique recibos. Ao reutilizar um subagente, capture seu novo turno ativo; o recibo anterior não autoriza a retomada.
|
|
11
11
|
- Em `autonomy-v1`, carregue `RULE-AUTONOMY-DECISION`. Conversation sem entrega responde diretamente; Task avulsa no padrão `codex_native` usa executor e Gui nativos. O principal preserva a seleção manual do host; cada filho segue a seleção ZAIP por papel/risco/fase, registrada conforme o modelo/esforço efetivamente observados. Capacidade ausente bloqueia a tentativa, nunca é substituída por prompt. Sem `autonomy`, preserve o contrato legado de `automatic_sources` (`spec`,`prd`).
|
|
@@ -61,4 +61,8 @@ For the verified framework builder, release delivery requires `.agents/config/re
|
|
|
61
61
|
|
|
62
62
|
When the same authorized direct Task root implements the product repair and release, the explicit integrated coordinator mode in `$zaip-skill-release-qualification` can freeze while that Task and Run are active. It keeps the clean exact-SHA, only-main, no-other-work, independent validation and publication gates. Record this selection in the frozen cycle; it does not create a second Task or client turn.
|
|
63
63
|
|
|
64
|
-
After a published release, use `node scripts/release-cycle-gate.mjs advance --repository ROOT --from N.N --to NEXT --sha CANDIDATE --ci-run-id RUN_ID` while the release coordinator remains active. This checks remote main, tag, published Release, exact successful CI, local branch/worktree cleanup and owner lineage before recording the transition. Bind Evidence to that immutable candidate, close Task and SPEC, then make one metadata-only closure commit. `node scripts/local-release-deploy.mjs push-closure --repository ROOT --expected-repository zaip-ai/zaip-aios --branch main --version N.N --published-sha CANDIDATE --closure-sha CLOSURE --expected-remote-sha CANDIDATE --metadata-paths-file REVIEWED_JSON` verifies tag, public Release, npm, the candidate's recorded exact CI run, one descendant metadata commit, exact remote main and only-main before pushing; it waits for CI on the closure SHA. The reviewed JSON is an array of exact changed metadata paths, including causal telemetry when present. `--metadata-paths EXACT,PATHS` is available for a short list. Do not retag or treat local lifecycle closure as remotely published. It does not prove provider deployment. Future drafts can remain in `draft`; executable future work cannot.
|
|
64
|
+
After a published release, use `node scripts/release-cycle-gate.mjs advance --repository ROOT --from N.N --to NEXT --sha CANDIDATE --ci-run-id RUN_ID` while the release coordinator remains active. This checks remote main, tag, published Release, exact successful CI, local branch/worktree cleanup and owner lineage before recording the transition. Bind Evidence to that immutable candidate, close Task and SPEC, then make one metadata-only closure commit. `node scripts/local-release-deploy.mjs push-closure --repository ROOT --expected-repository zaip-ai/zaip-aios --branch main --version N.N --published-sha CANDIDATE --closure-sha CLOSURE --expected-remote-sha CANDIDATE --metadata-paths-file REVIEWED_JSON --receipt RECEIPT --tarball TGZ --policy POLICY --trust-store TRUST --notes-file NOTES --output-dir CANDIDATE_DIR` verifies tag, public Release, npm, the candidate's recorded exact CI run, one descendant metadata commit, exact remote main and only-main before pushing; it waits for CI on the closure SHA. The reviewed JSON is an array of exact changed metadata paths, including causal telemetry when present. `--metadata-paths EXACT,PATHS` is available for a short list. Do not retag or treat local lifecycle closure as remotely published. It does not prove provider deployment. Future drafts can remain in `draft`; executable future work cannot.
|
|
65
|
+
|
|
66
|
+
The closure helper also revalidates the signed receipt against the immutable published Git tree, exact four Release assets/body/latest and TGZ SHA-512 against npm integrity/latest. If remote main already equals the reviewed closure, retry waits for its exact CI without pushing again. Checkpoints preserve observed identity, never replace external verification, and never extend receipt expiry.
|
|
67
|
+
|
|
68
|
+
For a final SPEC Task that also implements product changes, the explicit `--integrated-spec-task` mode follows the [release qualification contract](../zaip-skill-release-qualification/SKILL.md). Validate coordinator eligibility before expensive qualification; ordinary release-only and direct `--integrated-task` routes retain their separate restrictions.
|
package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract-cli.test.mjs
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { execFileSync } from "node:child_process";
|
|
3
|
+
import { mkdir, mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
|
|
4
|
+
import { tmpdir } from "node:os";
|
|
5
|
+
import { join } from "node:path";
|
|
6
|
+
import test from "node:test";
|
|
7
|
+
import { DEFAULT_POLICY, readDeploymentInput, resolveDeployment } from "./deploy-contract.mjs";
|
|
8
|
+
|
|
9
|
+
const _builder = {
|
|
10
|
+
origin: "git@github.com:zaip-ai/zaip-aios.git",
|
|
11
|
+
rootName: "@zaip-ai/aios",
|
|
12
|
+
cliName: "@zaip-ai/cli",
|
|
13
|
+
rootVersion: "4.5.0",
|
|
14
|
+
cliVersion: "4.5.0",
|
|
15
|
+
workspaceVersion: "4.5.0",
|
|
16
|
+
};
|
|
17
|
+
const consumer = { origin: "git@github.com:example/app.git", rootName: "app" };
|
|
18
|
+
const _input = (request, identity = consumer, policy = DEFAULT_POLICY) => ({
|
|
19
|
+
request,
|
|
20
|
+
identity,
|
|
21
|
+
policy,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
test("portable resolver CLI uses actual Git identity and preserves existing preferences", async (context) => {
|
|
25
|
+
const root = await mkdtemp(join(tmpdir(), "zaip-deploy-contract-"));
|
|
26
|
+
context.after(() => rm(root, { recursive: true, force: true }));
|
|
27
|
+
execFileSync("git", ["init", "--quiet"], { cwd: root });
|
|
28
|
+
execFileSync("git", ["remote", "add", "origin", consumer.origin], { cwd: root });
|
|
29
|
+
await mkdir(join(root, ".agents", "config"), { recursive: true });
|
|
30
|
+
const config = join(root, ".agents", "config", "deploy-policy.json");
|
|
31
|
+
const custom = `${JSON.stringify({ ...DEFAULT_POLICY, default_mode: "release" }, null, 2)}\n`;
|
|
32
|
+
await writeFile(config, custom);
|
|
33
|
+
await writeFile(join(root, "package.json"), JSON.stringify({ name: "consumer" }));
|
|
34
|
+
await writeFile(join(root, "request.txt"), "faça deploy apenas commits");
|
|
35
|
+
const plan = JSON.parse(
|
|
36
|
+
execFileSync(
|
|
37
|
+
process.execPath,
|
|
38
|
+
[
|
|
39
|
+
join(import.meta.dirname, "deploy-contract.mjs"),
|
|
40
|
+
"--repository",
|
|
41
|
+
root,
|
|
42
|
+
"--request-file",
|
|
43
|
+
join(root, "request.txt"),
|
|
44
|
+
],
|
|
45
|
+
{ encoding: "utf8" },
|
|
46
|
+
),
|
|
47
|
+
);
|
|
48
|
+
assert.equal(plan.mode, "commits");
|
|
49
|
+
assert.equal(plan.kind, "consumer");
|
|
50
|
+
assert.equal(await readFile(config, "utf8"), custom);
|
|
51
|
+
await rm(config);
|
|
52
|
+
assert.equal(resolveDeployment(await readDeploymentInput(root, "faça deploy")).mode, "commits");
|
|
53
|
+
});
|
|
@@ -77,6 +77,18 @@ export function requestedDeployment(request) {
|
|
|
77
77
|
"A bounded current human request is required",
|
|
78
78
|
);
|
|
79
79
|
const text = normalize(request);
|
|
80
|
+
const resumedSpecPublication =
|
|
81
|
+
/^pode retomar a execucao da spec ate finalizar todas as tasks e fazer publicacao deploy da v((?:0|[1-9]\d*)\.(?:0|[1-9]\d*))(?: com release(?: e npm publicado)?)?$/.exec(
|
|
82
|
+
text,
|
|
83
|
+
);
|
|
84
|
+
if (resumedSpecPublication)
|
|
85
|
+
return {
|
|
86
|
+
authorized: true,
|
|
87
|
+
override: "release",
|
|
88
|
+
version: resumedSpecPublication[1],
|
|
89
|
+
phase: "publish",
|
|
90
|
+
scope: "current-work",
|
|
91
|
+
};
|
|
80
92
|
// Only a direct publication imperative is executable. References, questions and quoted
|
|
81
93
|
// historical instructions are not authority; unknown wording never upgrades the mode.
|
|
82
94
|
const withoutCourtesy = text.replace(/^(?:(?:ok|por favor|agora|please)[, ]+)+/, "");
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import assert from "node:assert/strict";
|
|
2
2
|
import { execFileSync } from "node:child_process";
|
|
3
|
-
import { mkdir, mkdtemp,
|
|
3
|
+
import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
4
4
|
import { tmpdir } from "node:os";
|
|
5
5
|
import { join } from "node:path";
|
|
6
6
|
import test from "node:test";
|
|
7
7
|
import {
|
|
8
8
|
DEFAULT_POLICY,
|
|
9
9
|
nextRelease,
|
|
10
|
-
readDeploymentInput,
|
|
11
10
|
repositoryKind,
|
|
12
11
|
resolveDeployment,
|
|
13
12
|
verifyContract,
|
|
@@ -29,6 +28,31 @@ const input = (request, identity = consumer, policy = DEFAULT_POLICY) => ({
|
|
|
29
28
|
policy,
|
|
30
29
|
});
|
|
31
30
|
|
|
31
|
+
test("literal SPEC continuation binds only its explicit version and optional release suffix", () => {
|
|
32
|
+
const base =
|
|
33
|
+
"pode retomar a execução da SPEC até finalizar todas as tasks e fazer publicação deploy da v5.0";
|
|
34
|
+
for (const request of [base, `${base} com release`, `${base} com release e npm publicado`]) {
|
|
35
|
+
const plan = resolveDeployment(input(request, builder));
|
|
36
|
+
assert.equal(plan.mode, "release", request);
|
|
37
|
+
assert.equal(plan.phase, "publish", request);
|
|
38
|
+
assert.equal(plan.scope, "current-work", request);
|
|
39
|
+
assert.equal(plan.version, "5.0", request);
|
|
40
|
+
assert.equal(plan.npm_publication, true, request);
|
|
41
|
+
}
|
|
42
|
+
assert.equal(resolveDeployment(input(base.replace("v5.0", "v6.2"), builder)).version, "6.2");
|
|
43
|
+
for (const request of [
|
|
44
|
+
`"${base}"`,
|
|
45
|
+
`o usuário disse '${base}'`,
|
|
46
|
+
`${base}?`,
|
|
47
|
+
`${base} se eu confirmar`,
|
|
48
|
+
`${base} não publique`,
|
|
49
|
+
`${base} e faça outra coisa`,
|
|
50
|
+
`${base} com npm publicado`,
|
|
51
|
+
base.replace("v5.0", "v05.0"),
|
|
52
|
+
])
|
|
53
|
+
assert.equal(resolveDeployment(input(request, builder)).mode, "none", request);
|
|
54
|
+
});
|
|
55
|
+
|
|
32
56
|
test("fixed defaults, explicit intent and preparation: Portuguese/English decision matrix", () => {
|
|
33
57
|
const cases = [
|
|
34
58
|
["faça deploy", null, "publish"],
|
|
@@ -364,33 +388,3 @@ test("wrong route, branch, changed preference and preparation stop before extern
|
|
|
364
388
|
);
|
|
365
389
|
assert.equal(writes, 0);
|
|
366
390
|
});
|
|
367
|
-
test("portable resolver CLI uses actual Git identity and preserves existing preferences", async (context) => {
|
|
368
|
-
const root = await mkdtemp(join(tmpdir(), "zaip-deploy-contract-"));
|
|
369
|
-
context.after(() => rm(root, { recursive: true, force: true }));
|
|
370
|
-
execFileSync("git", ["init", "--quiet"], { cwd: root });
|
|
371
|
-
execFileSync("git", ["remote", "add", "origin", consumer.origin], { cwd: root });
|
|
372
|
-
await mkdir(join(root, ".agents", "config"), { recursive: true });
|
|
373
|
-
const config = join(root, ".agents", "config", "deploy-policy.json");
|
|
374
|
-
const custom = `${JSON.stringify({ ...DEFAULT_POLICY, default_mode: "release" }, null, 2)}\n`;
|
|
375
|
-
await writeFile(config, custom);
|
|
376
|
-
await writeFile(join(root, "package.json"), JSON.stringify({ name: "consumer" }));
|
|
377
|
-
await writeFile(join(root, "request.txt"), "faça deploy apenas commits");
|
|
378
|
-
const plan = JSON.parse(
|
|
379
|
-
execFileSync(
|
|
380
|
-
process.execPath,
|
|
381
|
-
[
|
|
382
|
-
join(import.meta.dirname, "deploy-contract.mjs"),
|
|
383
|
-
"--repository",
|
|
384
|
-
root,
|
|
385
|
-
"--request-file",
|
|
386
|
-
join(root, "request.txt"),
|
|
387
|
-
],
|
|
388
|
-
{ encoding: "utf8" },
|
|
389
|
-
),
|
|
390
|
-
);
|
|
391
|
-
assert.equal(plan.mode, "commits");
|
|
392
|
-
assert.equal(plan.kind, "consumer");
|
|
393
|
-
assert.equal(await readFile(config, "utf8"), custom);
|
|
394
|
-
await rm(config);
|
|
395
|
-
assert.equal(resolveDeployment(await readDeploymentInput(root, "faça deploy")).mode, "commits");
|
|
396
|
-
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zaip-skill-maintenance-enter
|
|
3
|
+
description: Enter explicitly authorized ZAIP framework maintenance with governance disabled and canonical telemetry enabled.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Entrar em manutenção
|
|
7
|
+
|
|
8
|
+
Use quando o usuário pedir manutenção direta do framework ou autorizar desligar sua governança para uma correção delimitada. Um bloqueio de ferramenta, sozinho, não autoriza manutenção. Reutilize a autorização vigente; não peça outra confirmação para o mesmo escopo.
|
|
9
|
+
|
|
10
|
+
1. No agente principal, confirme a raiz e o escopo autorizado. O toggle afeta todos os agentes e chats deste projeto: não entre enquanto houver trabalho governado concorrente sem coordenação. Um subagente solicita a transição ao principal; não a executa por conta própria.
|
|
11
|
+
2. Execute na raiz, com o Node disponível no host:
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
node .agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.mjs enter
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Para outra raiz explícita, acrescente `--root <diretório>`. Use hooks atualizados com os dois controles independentes. A leitura estática do script detecta a presença da interface; não atesta integridade, habilitação no cliente ou coleta real. A confirmação vem da etapa 4. Usa o [parser YAML distribuído](../zaip-skill-github-deploy/scripts/yaml-parser.mjs); não requer instalação de dependências. Os controles devem estar no formato canônico de blocos YAML com chaves sem aspas e booleanos literais; formatos alternativos são recusados sem alteração.
|
|
18
|
+
3. Confira a saída JSON: `zaip_enabled: false`, `tracking_enabled: true`. A entrada liga tracking caso estivesse desligado; isso faz parte deste modo com telemetria. Somente os dois booleanos mudam; comentários e demais configurações ficam preservados. Repetir a entrada é idempotente. O recibo de recuperação fica em `.local/zaip-maintenance/state.json`.
|
|
19
|
+
4. Faça uma chamada real de leitura e confira o registro observado em `.local/hooks/observations`. Os quatro hooks permanecem instalados e habilitados no cliente; não altere `.codex/config.toml`. O script não liga um hook desabilitado na interface. Configuração ligada não prova captura: confira o recibo e o processamento canônico sem inventar IDs ou métricas. Se o cliente não disparar o hook, informe a pendência; não declare telemetria comprovada.
|
|
20
|
+
5. Trabalhe diretamente com as ferramentas nativas do Codex no escopo autorizado, sem materializar Task/SPEC/PRD, claims ou transições ZAIP apenas para satisfazer sua governança suspensa. Preserve registros existentes. A manutenção não amplia permissões do host, acesso a segredos, publicação ou ações destrutivas. Nunca reinicie, desligue, suspenda, hiberne ou encerre a sessão do computador.
|
|
21
|
+
6. Ao terminar a manutenção, execute `$zaip-skill-maintenance-exit`, salvo pedido explícito para permanecer neste modo. Ao retomar após interrupção, use o comando com `status`, leia o estado atual e prossiga; não restaure uma cópia inteira de `project.yaml` sobre edições feitas durante a manutenção.
|
|
22
|
+
|
|
23
|
+
O recibo local registra apenas a transição, não substitui a telemetria. Os hooks existentes continuam observando a sessão e salvando dados canônicos conforme `tracking.storage_mode`; valores indisponíveis continuam nulos. Encerrar manutenção não encerra automaticamente Tasks ou Runs históricas.
|