@zaip-ai/cli 4.8.0 → 5.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.
Files changed (195) hide show
  1. package/dist/services/adapter-hook-sources.d.ts +3 -0
  2. package/dist/services/adapter-hook-sources.d.ts.map +1 -1
  3. package/dist/services/adapter-hook-sources.js +3 -0
  4. package/dist/services/adapter-hook-sources.js.map +1 -1
  5. package/dist/services/adapters.d.ts +1 -1
  6. package/dist/services/adapters.d.ts.map +1 -1
  7. package/dist/services/adapters.js +5 -2
  8. package/dist/services/adapters.js.map +1 -1
  9. package/dist/services/adapters.test.js +1 -1
  10. package/dist/services/adapters.test.js.map +1 -1
  11. package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
  12. package/dist/services/codex-conversation-lifecycle-hook.js +16 -6
  13. package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
  14. package/dist/services/codex-hook-activation.d.ts +1 -1
  15. package/dist/services/codex-hook-activation.d.ts.map +1 -1
  16. package/dist/services/codex-hook-activation.js +116 -10
  17. package/dist/services/codex-hook-activation.js.map +1 -1
  18. package/dist/services/codex-pre-tool-cli-capture-template.d.ts +2 -0
  19. package/dist/services/codex-pre-tool-cli-capture-template.d.ts.map +1 -0
  20. package/dist/services/codex-pre-tool-cli-capture-template.js +104 -0
  21. package/dist/services/codex-pre-tool-cli-capture-template.js.map +1 -0
  22. package/dist/services/codex-pre-tool-cloud-template.d.ts +2 -0
  23. package/dist/services/codex-pre-tool-cloud-template.d.ts.map +1 -0
  24. package/dist/services/codex-pre-tool-cloud-template.js +190 -0
  25. package/dist/services/codex-pre-tool-cloud-template.js.map +1 -0
  26. package/dist/services/codex-pre-tool-dependencies.test-support.d.ts +2 -0
  27. package/dist/services/codex-pre-tool-dependencies.test-support.d.ts.map +1 -0
  28. package/dist/services/codex-pre-tool-dependencies.test-support.js +9 -0
  29. package/dist/services/codex-pre-tool-dependencies.test-support.js.map +1 -0
  30. package/dist/services/codex-pre-tool-hook-fixture.test-support.d.ts +5 -0
  31. package/dist/services/codex-pre-tool-hook-fixture.test-support.d.ts.map +1 -0
  32. package/dist/services/codex-pre-tool-hook-fixture.test-support.js +19 -0
  33. package/dist/services/codex-pre-tool-hook-fixture.test-support.js.map +1 -0
  34. package/dist/services/codex-pre-tool-hook-template-bootstrap.test.d.ts +2 -0
  35. package/dist/services/codex-pre-tool-hook-template-bootstrap.test.d.ts.map +1 -0
  36. package/dist/services/codex-pre-tool-hook-template-bootstrap.test.js +107 -0
  37. package/dist/services/codex-pre-tool-hook-template-bootstrap.test.js.map +1 -0
  38. package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
  39. package/dist/services/codex-pre-tool-hook-template.js +152 -190
  40. package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
  41. package/dist/services/codex-pre-tool-hook-template.test.js +63 -75
  42. package/dist/services/codex-pre-tool-hook-template.test.js.map +1 -1
  43. package/dist/services/codex-pre-tool-host-context-template.d.ts +2 -0
  44. package/dist/services/codex-pre-tool-host-context-template.d.ts.map +1 -0
  45. package/dist/services/codex-pre-tool-host-context-template.js +139 -0
  46. package/dist/services/codex-pre-tool-host-context-template.js.map +1 -0
  47. package/dist/services/codex-pre-tool-support-template.d.ts.map +1 -1
  48. package/dist/services/codex-pre-tool-support-template.js +77 -100
  49. package/dist/services/codex-pre-tool-support-template.js.map +1 -1
  50. package/dist/services/codex-subagent-hook-template.d.ts +1 -1
  51. package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
  52. package/dist/services/codex-subagent-hook-template.js +59 -15
  53. package/dist/services/codex-subagent-hook-template.js.map +1 -1
  54. package/dist/services/codex-validation-runtime-template.d.ts.map +1 -1
  55. package/dist/services/codex-validation-runtime-template.js +37 -10
  56. package/dist/services/codex-validation-runtime-template.js.map +1 -1
  57. package/dist/services/runtime-template-test-support.d.ts +1 -0
  58. package/dist/services/runtime-template-test-support.d.ts.map +1 -1
  59. package/dist/services/runtime-template-test-support.js +23 -2
  60. package/dist/services/runtime-template-test-support.js.map +1 -1
  61. package/dist/services/runtime-template.test.js +7 -24
  62. package/dist/services/runtime-template.test.js.map +1 -1
  63. package/package.json +1 -1
  64. package/templates/.agents/README-ENG.md +49 -7
  65. package/templates/.agents/README.md +41 -10
  66. package/templates/.agents/config/agents/discovery.json +1 -1
  67. package/templates/.agents/dashboard/.zaip-managed.json +125 -73
  68. package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-BW7Vy1cp.js → CostCalculationGuidePage-w6pjt4OM.js} +1 -1
  69. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-BN8KQPrr.js → DashboardHelpDialog-DhlntQcR.js} +117 -17
  70. package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-Prcs-ydy.js → PricingSettingsDialog-BHoZT2an.js} +1 -1
  71. package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-HqGUImIG.js → ProjectSettingsPage-IcncIZ9Y.js} +1 -1
  72. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-CNpmQMO4.js → TraceabilityWorkspace-C6rORjpr.js} +1 -1
  73. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-uPnOBShc.js +68 -0
  74. package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-CF7B1Hjn.js → dashboard-localization-DWXjEIgc.js} +49 -7
  75. package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-DOhy6D2-.js → icons-vendor-Hc9fp_gs.js} +1 -1
  76. package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-DX65Ufuu.js → index-BqeOEZW5.js} +2 -2
  77. package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-CkPC-yMz.js → react-vendor-C9ta_O10.js} +1 -1
  78. package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-BEdGoIDm.js → traceability-IcefoTOv.js} +1 -1
  79. package/templates/.agents/dashboard/apps/frontend/dist/index.html +5 -5
  80. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  81. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  82. package/templates/.agents/dashboard/modules/cost-monitor/src/contracts.ts +10 -3
  83. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.run-page.test.ts +5 -1
  84. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.period-values.test.tsx +2 -2
  85. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +5 -5
  86. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +36 -43
  87. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-loaders.ts +1 -0
  88. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-formatters.ts +6 -4
  89. package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.ts +2 -2
  90. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +1 -1
  91. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +11 -25
  92. package/templates/.agents/dashboard/modules/cost-monitor/src/server/cost-summary-defaults.ts +26 -0
  93. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  94. package/templates/.agents/dashboard/modules/operations/src/contracts.ts +11 -16
  95. package/templates/.agents/dashboard/modules/operations/src/planning-contracts.ts +14 -0
  96. package/templates/.agents/dashboard/modules/operations/src/react/DecisionTable.tsx +65 -0
  97. package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +5 -71
  98. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +10 -36
  99. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +7 -2
  100. package/templates/.agents/dashboard/modules/operations/src/react/use-operations-filter-sync.ts +66 -0
  101. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  102. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  103. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  104. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  105. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +229 -222
  106. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +167 -167
  107. package/templates/.agents/dashboard/packages/local-runtime/package.json +3 -3
  108. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +229 -222
  109. package/templates/.agents/dashboard/packages/local-runtime/src/active-capture-failure.test.ts +38 -0
  110. package/templates/.agents/dashboard/packages/local-runtime/src/active-capture-failure.ts +35 -0
  111. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.test.ts +69 -6
  112. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +62 -15
  113. package/templates/.agents/dashboard/packages/local-runtime/src/manifest-runs.ts +8 -2
  114. package/templates/.agents/dashboard/packages/local-runtime/src/server-capture-projection-order.test.ts +118 -0
  115. package/templates/.agents/dashboard/packages/local-runtime/src/server-cost-run-search.test.ts +90 -0
  116. package/templates/.agents/dashboard/packages/local-runtime/src/server-cost-run-search.ts +86 -0
  117. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-routes.ts +8 -1
  118. package/templates/.agents/dashboard/packages/local-runtime/src/server-projection-loaders.ts +13 -0
  119. package/templates/.agents/dashboard/packages/local-runtime/src/server-projections.ts +30 -74
  120. package/templates/.agents/dashboard/packages/local-runtime/src/server-route-handlers.ts +42 -0
  121. package/templates/.agents/dashboard/packages/local-runtime/src/server-routes.test.ts +60 -0
  122. package/templates/.agents/dashboard/packages/local-runtime/src/server-run-projections.test.ts +12 -2
  123. package/templates/.agents/dashboard/packages/local-runtime/src/server-telemetry-command.test.ts +29 -4
  124. package/templates/.agents/dashboard/packages/local-runtime/src/server-telemetry-refresh.ts +7 -0
  125. package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +51 -54
  126. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +37 -48
  127. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-filter-matrix.test.ts +5 -0
  128. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-invocation-page.test.ts +49 -0
  129. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-invocation-page.ts +44 -1
  130. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-cached-cost-page.ts +11 -10
  131. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-summary.ts +1 -1
  132. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-work-item-index.test.ts +18 -1
  133. package/templates/.agents/dashboard/packages/local-runtime/vitest.config.ts +12 -0
  134. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  135. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  136. package/templates/.agents/dashboard/tests/e2e/specs/cost-monitor-pagination.spec.ts +13 -6
  137. package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +1 -1
  138. package/templates/.agents/design/.zaip-managed.json +3 -3
  139. package/templates/.agents/design/apps/catalog/package.json +1 -1
  140. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  141. package/templates/.agents/requirements/autonomous-assurance.md +39 -3
  142. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  143. package/templates/.agents/requirements/comparative-audit.md +1 -1
  144. package/templates/.agents/requirements/context-engine.md +3 -3
  145. package/templates/.agents/requirements/cost-observability.md +1 -1
  146. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  147. package/templates/.agents/requirements/data-export.md +1 -1
  148. package/templates/.agents/requirements/design-system.md +1 -1
  149. package/templates/.agents/requirements/execution-engine.md +11 -2
  150. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  151. package/templates/.agents/requirements/model-orchestration.md +1 -1
  152. package/templates/.agents/requirements/public-distribution.md +1 -1
  153. package/templates/.agents/requirements/software-architecture.md +1 -1
  154. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  155. package/templates/.agents/requirements/work-lifecycle.md +2 -1
  156. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  157. package/templates/.agents/rules/cloud-hostinger-autonomy.md +1 -1
  158. package/templates/.agents/rules/production-readiness.md +24 -0
  159. package/templates/.agents/rules/run-lifecycle-closure.md +2 -1
  160. package/templates/.agents/rules/security.md +2 -2
  161. package/templates/.agents/rules/workflow.md +4 -3
  162. package/templates/.agents/runtime/VERSION +1 -1
  163. package/templates/.agents/runtime/bin/zaip.mjs +1185 -610
  164. package/templates/.agents/runtime/checksums.sha256 +6 -6
  165. package/templates/.agents/runtime/manifest.json +1 -1
  166. package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
  167. package/templates/.agents/runtime/provenance.json +5 -5
  168. package/templates/.agents/runtime/sbom.cdx.json +71 -71
  169. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +4 -2
  170. package/templates/.agents/skills/zaip-skill-execution/references/controlled-release-recovery.md +44 -0
  171. package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +1 -1
  172. package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +7 -1
  173. package/templates/.agents/skills/zaip-skill-github-deploy/references/release-gate-matrix.md +15 -20
  174. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.mjs +38 -2
  175. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.test.mjs +62 -4
  176. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +8 -6
  177. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/guarded-commits.mjs +5 -3
  178. package/templates/.agents/skills/zaip-skill-lifecycle-closure/SKILL.md +7 -0
  179. package/templates/.agents/skills/zaip-skill-maintenance-enter/SKILL.md +23 -0
  180. package/templates/.agents/skills/zaip-skill-maintenance-enter/agents/openai.yaml +4 -0
  181. package/templates/.agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.mjs +213 -0
  182. package/templates/.agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.test.mjs +207 -0
  183. package/templates/.agents/skills/zaip-skill-maintenance-exit/SKILL.md +21 -0
  184. package/templates/.agents/skills/zaip-skill-maintenance-exit/agents/openai.yaml +4 -0
  185. package/templates/.agents/skills/zaip-skill-prd/SKILL.md +6 -0
  186. package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +26 -0
  187. package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +46 -11
  188. package/templates/.agents/skills/zaip-skill-spec/SKILL.md +9 -0
  189. package/templates/.agents/skills/zaip-skill-testing-strategy/SKILL.md +15 -0
  190. package/templates/.agents/zaip-aios/VERSION +1 -1
  191. package/templates/.agents/zaip-aios/guides/11-observabilidade-e-custos.md +22 -0
  192. package/templates/.agents/zaip-aios/guides/14-troubleshooting.md +1 -1
  193. package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +52 -5
  194. package/templates/template-manifest.json +210 -126
  195. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-Co2Jiuzh.js +0 -68
@@ -1,11 +1,11 @@
1
1
  b146bd0c7c60b1ab43c4f71e0b1d2262c6df6da6f7053a0425f834ccb77a6b48 LICENSE
2
2
  bc02cba77e8d51e5c580f43668863dc868eda66f1ff663bfaa49fcf3ca16320e THIRD_PARTY_NOTICES.md
3
- 4938ef88cd76dd7f6297a3d1d0c57af9c8e420e9359e778f3fc3725a8781af0a VERSION
4
- 20260ddb4f0a306d1ef52bb67b0ad4eb5e6edbdf0af0c1db5e6084b101b15490 bin/zaip.mjs
5
- 78f229de87d67490a9bbec827e21be6c3c01a19cc1ad26af9bca781e6a0f559b manifest.json
3
+ 1cc3d76ac7c21a664e79848fd481e9791016451b244e7de5feeeb9bea5fd2184 VERSION
4
+ 82403b0ced92c346777cc9c23cca3a075a8e6a128d6e380ac204e6edb19e7185 bin/zaip.mjs
5
+ 2ce5edd97bb6f95343de79f9b6fd7ab0c6aaedd6214dc63814ddbe2a6108b42f manifest.json
6
6
  7f89219d7c567c82a51679ad136d84364bded7ac659492537e125d33b1d58a7a migrations/001-layout-v1.json
7
7
  5f8c48b286d0b44d8fbb57a9a5d009a8a500439aa3148d750b8f193f72995c9f migrations/002-layout-v2.json
8
- 33c98d5dc506bba4b8b3ca612706d9eb05ef13d9e03c33a4f9e65ca7804be9d1 pnpm-lock.sha256
9
- d7459fa9108cc5cf7974c46daba9b02d1fa36a6f059c0eefcc8a5ce6ba2a4184 provenance.json
10
- 5dcd790db0a223a246bc742f6b96bb13e7f93be9495267b0f49de603f770d80f sbom.cdx.json
8
+ 46f22db07aa1cf319150bcde84220f1229ee151899b9c1487dd8347144ef8224 pnpm-lock.sha256
9
+ d8e885983c3f54221498e812d4c04c90939189bf83f2e0e83beb774a45ae73cc provenance.json
10
+ 5f723b2f41f9110ad5f40487e0591434d195b7a044c8411cd033b03ca4d59430 sbom.cdx.json
11
11
  b3ffedf9e146be802a15b4009f33e031dec3071ca1525e12c67606fd964a3067 schemas/contracts.schema.json
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "name": "zaip-aios",
4
- "version": "4.8.0",
4
+ "version": "5.0.0",
5
5
  "node": ">=22",
6
6
  "files": [
7
7
  "LICENSE",
@@ -1 +1 @@
1
- 03d08e5bbb198d74014ea4a806fcdeb350db23ec2bf0c2886a2265066555d418 pnpm-lock.yaml
1
+ 05e0dbb29d49d08cd3735fdd50ab01b72772e3cea476294c5ce3db1b4bbb13db 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": "4.8.0",
5
+ "version": "5.0.0",
6
6
  "source_origin": "zaip-aios:local-build",
7
- "lockfile_sha256": "03d08e5bbb198d74014ea4a806fcdeb350db23ec2bf0c2886a2265066555d418",
8
- "sbom_sha256": "5dcd790db0a223a246bc742f6b96bb13e7f93be9495267b0f49de603f770d80f",
9
- "runtime_sha256": "adb2086da9e7f21c2f9041c50a60ab5f9780e38bc7b51f7f7f3d7b00c07adddf",
10
- "statement_sha256": "5b480f8fb89b356e35dd20faa6cdff0304e276856bad0049f1466d22ddb538ac"
7
+ "lockfile_sha256": "05e0dbb29d49d08cd3735fdd50ab01b72772e3cea476294c5ce3db1b4bbb13db",
8
+ "sbom_sha256": "5f723b2f41f9110ad5f40487e0591434d195b7a044c8411cd033b03ca4d59430",
9
+ "runtime_sha256": "e8dcc671f1db7816a764ad56112c5dfbeadac421086e6fad1cfbe5789f7a0d11",
10
+ "statement_sha256": "2f68e78a59993bf3214f2390e4c9149ad83a184efc4fb95b625a55ec6a369559"
11
11
  }
@@ -6,7 +6,7 @@
6
6
  "component": {
7
7
  "type": "application",
8
8
  "name": "zaip-aios",
9
- "version": "4.8.0"
9
+ "version": "5.0.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.4",
581
- "purl": "pkg:npm/%40img/sharp-darwin-arm64@0.35.4"
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.4",
587
- "purl": "pkg:npm/%40img/sharp-darwin-x64@0.35.4"
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.4",
593
- "purl": "pkg:npm/%40img/sharp-freebsd-wasm32@0.35.4"
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.3",
599
- "purl": "pkg:npm/%40img/sharp-libvips-darwin-arm64@1.3.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.3",
605
- "purl": "pkg:npm/%40img/sharp-libvips-darwin-x64@1.3.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.3",
611
- "purl": "pkg:npm/%40img/sharp-libvips-linux-arm@1.3.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.3",
617
- "purl": "pkg:npm/%40img/sharp-libvips-linux-arm64@1.3.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.3",
623
- "purl": "pkg:npm/%40img/sharp-libvips-linux-ppc64@1.3.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.3",
629
- "purl": "pkg:npm/%40img/sharp-libvips-linux-riscv64@1.3.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.3",
635
- "purl": "pkg:npm/%40img/sharp-libvips-linux-s390x@1.3.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.3",
641
- "purl": "pkg:npm/%40img/sharp-libvips-linux-x64@1.3.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.3",
647
- "purl": "pkg:npm/%40img/sharp-libvips-linuxmusl-arm64@1.3.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.3",
653
- "purl": "pkg:npm/%40img/sharp-libvips-linuxmusl-x64@1.3.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.4",
659
- "purl": "pkg:npm/%40img/sharp-linux-arm@0.35.4"
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.4",
665
- "purl": "pkg:npm/%40img/sharp-linux-arm64@0.35.4"
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.4",
671
- "purl": "pkg:npm/%40img/sharp-linux-ppc64@0.35.4"
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.4",
677
- "purl": "pkg:npm/%40img/sharp-linux-riscv64@0.35.4"
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.4",
683
- "purl": "pkg:npm/%40img/sharp-linux-s390x@0.35.4"
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.4",
689
- "purl": "pkg:npm/%40img/sharp-linux-x64@0.35.4"
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.4",
695
- "purl": "pkg:npm/%40img/sharp-linuxmusl-arm64@0.35.4"
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.4",
701
- "purl": "pkg:npm/%40img/sharp-linuxmusl-x64@0.35.4"
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.4",
707
- "purl": "pkg:npm/%40img/sharp-wasm32@0.35.4"
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.4",
713
- "purl": "pkg:npm/%40img/sharp-webcontainers-wasm32@0.35.4"
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.4",
719
- "purl": "pkg:npm/%40img/sharp-win32-arm64@0.35.4"
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.4",
725
- "purl": "pkg:npm/%40img/sharp-win32-ia32@0.35.4"
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.4",
731
- "purl": "pkg:npm/%40img/sharp-win32-x64@0.35.4"
730
+ "version": "0.35.5",
731
+ "purl": "pkg:npm/%40img/sharp-win32-x64@0.35.5"
732
732
  },
733
733
  {
734
734
  "type": "library",
@@ -1885,20 +1885,20 @@
1885
1885
  {
1886
1886
  "type": "library",
1887
1887
  "name": "brace-expansion",
1888
- "version": "1.1.18",
1889
- "purl": "pkg:npm/brace-expansion@1.1.18"
1888
+ "version": "1.1.21",
1889
+ "purl": "pkg:npm/brace-expansion@1.1.21"
1890
1890
  },
1891
1891
  {
1892
1892
  "type": "library",
1893
1893
  "name": "brace-expansion",
1894
- "version": "2.1.4",
1895
- "purl": "pkg:npm/brace-expansion@2.1.4"
1894
+ "version": "2.1.7",
1895
+ "purl": "pkg:npm/brace-expansion@2.1.7"
1896
1896
  },
1897
1897
  {
1898
1898
  "type": "library",
1899
1899
  "name": "brace-expansion",
1900
- "version": "5.0.9",
1901
- "purl": "pkg:npm/brace-expansion@5.0.9"
1900
+ "version": "5.0.12",
1901
+ "purl": "pkg:npm/brace-expansion@5.0.12"
1902
1902
  },
1903
1903
  {
1904
1904
  "type": "library",
@@ -2197,8 +2197,8 @@
2197
2197
  {
2198
2198
  "type": "library",
2199
2199
  "name": "devalue",
2200
- "version": "5.9.1",
2201
- "purl": "pkg:npm/devalue@5.9.1"
2200
+ "version": "5.9.3",
2201
+ "purl": "pkg:npm/devalue@5.9.3"
2202
2202
  },
2203
2203
  {
2204
2204
  "type": "library",
@@ -2527,8 +2527,8 @@
2527
2527
  {
2528
2528
  "type": "library",
2529
2529
  "name": "hono",
2530
- "version": "4.13.5",
2531
- "purl": "pkg:npm/hono@4.13.5"
2530
+ "version": "4.13.7",
2531
+ "purl": "pkg:npm/hono@4.13.7"
2532
2532
  },
2533
2533
  {
2534
2534
  "type": "library",
@@ -3469,8 +3469,8 @@
3469
3469
  {
3470
3470
  "type": "library",
3471
3471
  "name": "sharp",
3472
- "version": "0.35.4",
3473
- "purl": "pkg:npm/sharp@0.35.4"
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.8.0",
3497
- "purl": "pkg:npm/smol-toml@1.8.0"
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.1",
3503
- "purl": "pkg:npm/source-map-js@1.2.1"
3502
+ "version": "1.2.2",
3503
+ "purl": "pkg:npm/source-map-js@1.2.2"
3504
3504
  },
3505
3505
  {
3506
3506
  "type": "library",
@@ -3733,8 +3733,8 @@
3733
3733
  {
3734
3734
  "type": "library",
3735
3735
  "name": "undici",
3736
- "version": "8.10.0",
3737
- "purl": "pkg:npm/undici@8.10.0"
3736
+ "version": "8.10.2",
3737
+ "purl": "pkg:npm/undici@8.10.2"
3738
3738
  },
3739
3739
  {
3740
3740
  "type": "library",
@@ -35,6 +35,8 @@ Antes de encerrar com trabalho pendente ou responder a uma falha, aplique [conti
35
35
  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.
36
36
  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.
37
37
  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.
38
+
39
+ Recuperação de SPEC materializada com versão de pnpm defasada e Task bloqueada sob release frozen usa somente as prévias e operações atribuídas `spec revise-implementation` e `task recover-release` descritas em [recuperação controlada](references/controlled-release-recovery.md). Decision humana operacional exata, Run/turno observados, journal e refreeze são obrigatórios. O grant permite somente a retomada da Task alvo; audit/publicação continuam bloqueados até novo freeze e qualificação.
38
40
  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.
39
41
  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.
40
42
  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`.
@@ -48,8 +50,8 @@ Antes de encerrar com trabalho pendente ou responder a uma falha, aplique [conti
48
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.
49
51
 
50
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.
51
- - `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.
52
- - 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.
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
+ - 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.
53
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.
54
56
 
55
57
  ## Paralelismo
@@ -0,0 +1,44 @@
1
+ # Recuperação controlada de SPEC e release
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
+
17
+ ## Grant pendente após interrupção
18
+
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.
20
+
21
+ O journal preserva o grant anterior e o novo. Replay da operação antiga não renova autorização. Revisões concorrentes, outro alvo ou proprietário ativo continuam recusados. `--renew-grant` não libera outras Tasks nem dispensa `task workspace`, refreeze, qualificação ou finalizador. A operação pública de renovação aceita a raiz de interaction sem Task já suportada pelo fluxo de recuperação; portanto não exige criar outra Task para corrigir um grant pendente.
22
+
23
+ ## Leitura de conteúdo externo no PreToolUse
24
+
25
+ O hook permite leitura literal de arquivos textuais autorizados em `.agents/config/external-read-policy.json`, com schema `{ "schema_version": 1, "files": ["CAMINHO_ABSOLUTO_DO_ARQUIVO"] }`. Essa configuração é local, não acompanha o pacote e só deve registrar arquivos autorizados pelo usuário. Uma pasta de anexos não concede autorização automática a todos os arquivos nela.
26
+
27
+ As permissões se aplicam a `Get-Content` e `rg` nas formas delimitadas pelo hook. O caminho real deve corresponder ao autorizado; arquivo vizinho, link divergente, execução e escrita não herdam a permissão. Leituras de memórias, skills e cache de plugins já previstas permanecem no contrato anterior. Alterar a configuração é mutação de produto sujeita à autorização de escrita; não é uma lista livremente modificável por conteúdo externo.
28
+
29
+ Esta operação pública resolve um snapshot de pnpm desatualizado numa SPEC já materializada e prepara a retomada de uma Task bloqueada na release corrente. A revisão de implementação é **limitada a `pnpm` em `package.json`**: altera apenas sua versão exata e a menção correspondente em `stack_description`. IDs, DAG, plano, demais componentes, fontes, status e histórico permanecem preservados. Não é uma API genérica de migração de stack.
30
+
31
+ O ator pode ser a Run raiz ativa de uma Task de manutenção em execução (`--actor-task`) ou uma Run raiz de interaction ativa sem Task. Ambos passam `--actor-execution` e `--run`; a CLI compara a sessão e o turno observados com a Run, além da ancestralidade e da Execution. A Task alvo deve estar `blocked`, sem Run proprietária ativa, com predecessoras concluídas. A Decision operacional precisa ser humana, confirmada, vinculada à Change de manutenção ou à Execution da interaction, categoria `contract`, e conter exatamente o JSON `authorization_payload` da prévia. Uma Decision narrativa de escopo geral não substitui esse vínculo.
32
+
33
+ ```text
34
+ zaip spec revise-implementation SPEC-ID --target-task TASK-ID --actor-task TASK-MANUT --actor-execution EXEC-MANUT --run RUN-MANUT --expected-revision N --implementation .local/proposal.json --json
35
+ zaip spec revise-implementation SPEC-ID --target-task TASK-ID --actor-task TASK-MANUT --actor-execution EXEC-MANUT --run RUN-MANUT --expected-revision N --implementation .local/proposal.json --decision DEC-HUMAN-ID --apply --json
36
+ zaip task recover-release TASK-ID --actor-task TASK-MANUT --actor-execution EXEC-MANUT --run RUN-MANUT --expected-revision N --json
37
+ zaip task recover-release TASK-ID --actor-task TASK-MANUT --actor-execution EXEC-MANUT --run RUN-MANUT --expected-revision N --decision DEC-HUMAN-ID --apply --json
38
+ ```
39
+
40
+ No caminho sem Task de manutenção, omita `--actor-task` e use a Execution da interaction em `--actor-execution`. Faça prévia de cada ação, registre uma Decision operacional distinta com o payload exato e só então aplique. O journal limitado em `.local/recovery/` conserva hashes e textos antes/depois, ator e Decision. Repetir a mesma aplicação devolve o resultado já aplicado; se a escrita interrompeu após o journal, a mesma chamada retoma apenas se o conteúdo original e a Run ativa ainda corresponderem. Conteúdo independente divergente bloqueia replay.
41
+
42
+ `recover-release` muda `frozen` para `open` com um grant que admite apenas `task resume` da Task/SPEC/Execution autorizadas. A Task continua bloqueada até sua retomada pública sob proprietário legítimo. Outras Tasks não podem iniciar enquanto o grant existir. O refreeze consome o grant somente pela mesma Task de coordenação delegada da SPEC, validada pela política de release existente; o audit e o advance recusam grant pendente. O novo candidato precisa ser qualificado e revisado no SHA final depois desse refreeze. Nenhuma prova histórica é aprovada retroativamente.
43
+
44
+ No repositório mantenedor, em candidato isolado com Node 24 e pnpm offline disponível, `node scripts/qualification/v49-recovery.mjs test` executa testes focais e typechecks. O gate geral de source-size segue separado. `node scripts/qualification/v49-recovery.mjs mutation --isolated` executa mutantes de autorização, grant, preflight e audit, restaurando os bytes originais no `finally` e verificando seus hashes. Esse harness pertence exclusivamente ao repositório mantenedor; não está disponível no pacote nem no template público.
@@ -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 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.
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`).
@@ -45,6 +45,8 @@ Commit subjects retain `[CODEX|CLAUDE] [P:XXXX] [S:XXXX] [T:XXXX] <Task title>`
45
45
 
46
46
  Dense source/template/package/TGZ gates belong to builder release qualification. Generic commits use targeted validation, without an automatic full suite, test-count cap or Task wallclock limit. Apply the frozen autonomy profile: balanced permits 10 executions total and 3 replans; tests/tool calls are not executions and resumption does not reset the budget. Do not add an independent five-cycle limit.
47
47
 
48
+ For post-receipt rapid reuse in the verified builder, follow `docs/quality/v49-deploy-cache-controls.md`: the host reviews and promotes each group proof and its index before a later candidate; a failed result must become a tombstone before retry, never an older PASS hit.
49
+
48
50
  ## Verify and report
49
51
 
50
52
  Compare the exact pushed SHA with the configured remote ref. If a push result is uncertain, read remote state before retrying. Observe required checks for that SHA, inspect failed steps and repair their evidenced cause within the frozen profile; do not repeat unchanged failures or bypass a gate.
@@ -59,4 +61,8 @@ For the verified framework builder, release delivery requires `.agents/config/re
59
61
 
60
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.
61
63
 
62
- 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.
@@ -1,24 +1,19 @@
1
1
  # Release gate retention matrix
2
2
 
3
- | Gate | Qualification location | Publication cost |
3
+ | Gate | When it runs | Evidence boundary |
4
4
  |---|---|---|
5
- | Architecture, CQRS, modules, profile, skills, tools, encoding, source size, lint, types and contracts | `prepare-and-qualify`: `validate:github:prepared` | None; reuse successful run for the same SHA |
6
- | Dashboard and Design workspace unit tests | `validate:github:prepared`, separately from package coverage | None |
7
- | `packages/**` unit coverage and ratchet | `create-coverage-qualification.mjs`, once | None |
8
- | Public CLI units, integration and installer profiles | `test:qualification:prepared` | None |
9
- | Release cleanroom, rollback, supply chain and client contracts | `test:release-e2e:prepared` and source validation | None |
10
- | Production dependency audit | `pnpm audit --prod --audit-level high` | None |
11
- | Dashboard and Design browser checks | Dashboard E2E workspace | None |
12
- | Linux, Windows and macOS Node 22; Linux Node 24 | `exact-tgz-smoke`, SHA-256 checked TGZ, install and doctor | None |
13
- | Literal consumer record identity through SQLite, API and UI | `consumer-identity --tarball` with the same TGZ | None |
14
- | Package build, template sync and pack | Prepared once before artifact fan-out | No build or pack |
15
- | Repository, workflow, SHA, latest run attempt, policy, expiration and artifact digests | Receipt created after all gates; GitHub API checked again by publisher | Small verification steps |
16
- | GitHub release tag and npm registry integrity | `publish-cli.yml` | Required publication checks plus exact registry-version smoke |
5
+ | Focused code, type, contract and security regressions; applicable mutation and independent review | Per changed Task on its exact candidate SHA | Reuse only while SHA, scope, risk and impact remain valid |
6
+ | Final `essential-v3` source, package, installer, upgrade, rollback, audit and consumer qualification | Once in the isolated local checkout of the final release SHA | A failed gate emits no signed success receipt; repair creates a new candidate |
7
+ | Full source suite, browser navigation and XLSX coverage | Only when explicit impact/profile requires `full-v2` | Never infer a pass from an unrun optional gate |
8
+ | Signed receipt, profile, repository/SHA, manifest, SBOM and TGZ digest | Local preparation; reverified before each delivery transition | The same file and digest must reach the Release and publisher |
9
+ | Pushed `main` checkout, previous-main ancestry, workflow integrity and commit policy | `pre-main-candidate.yml` on push to `main` | Exact successful workflow run on the pushed SHA; no future Release asset is needed |
10
+ | Release asset signature/policy/expiration, SHA, TGZ/SBOM digest and bounded Linux install/doctor smoke | `publish-cli.yml` after the draft Release exists | Publish the same checked TGZ; no rebuild, repack or repeat of the local source suite |
11
+ | Registry version, integrity and channel | Publisher after npm publication | Observe the registry result separately from local qualification and GitHub Release |
17
12
 
18
- `qualify-cli.yml` starts automatically on pushes to the configured validation or human-promoted production branch. A manual dispatch requires that branch head to equal the input SHA. A changed SHA requires a new qualification. Workflow run IDs and attempts identify evidence; a local receipt alone is never authority.
19
-
20
- Publication uses an unexpired successful qualification (maximum seven days). It downloads the qualified artifact; it never invokes `release:artifacts`, `npm pack`, coverage, browser qualification or a broad agent review. Missing, altered, expired or failed qualification blocks publication.
21
-
22
- A GitHub prerelease publishes to `beta`; a production Release after human promotion publishes to `latest`. Only the framework release workflow publishes npm. Consumer installations receive the single GitHub skill and its GitHub-only setup helpers.
23
-
24
- Measure qualification and publication separately in GitHub Actions after rollout. No wall-clock improvement is claimed from local tests alone.
13
+ The local candidate gate runs lint, types, commit policy and impact-selected regressions
14
+ before `main` moves. The push-triggered main job checks its own checkout and workflow
15
+ state without rerunning that local suite or installing Chromium unconditionally. The
16
+ publisher rechecks the signed artifact because custody changes at the Release boundary.
17
+ Any changed SHA, receipt, profile or artifact digest requires requalification; a successful
18
+ main job alone never authorizes publication. An unavailable branch-protection setting
19
+ is reported as unavailable, not inferred from signing or a green workflow.
@@ -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)[, ]+)+/, "");
@@ -93,6 +105,27 @@ export function requestedDeployment(request) {
93
105
  /^(?:ativei\s+(?:o\s+hook|os\s+hooks)[, ]+)?(?:faca|realize|execute)\s+(?:as\s+validacoes\s+finais(?:\s+e\s+os\s+ajustes\s+necessarios)?|os\s+ajustes\s+necessarios)\s+(?:pra|para)\s+publicar\s+(?:a\s+)?v\d+\.\d+\b/.test(
94
106
  withoutCourtesy,
95
107
  );
108
+ const unit = "zero|um|uma|dois|duas|tres|quatro|cinco|seis|sete|oito|nove";
109
+ const shortPublication = new RegExp(
110
+ `^(?:boa, boa\\.\\s*)?(?:eu\\s+)?quero publicar\\s+(?:(?:a\\s+)?versao\\s+)?(?:v?((?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*))|(${unit})\\s+ponto\\s+(${unit}))(?:,?\\s+sim)?\\.?$`,
111
+ ).exec(withoutCourtesy);
112
+ const unitValue = {
113
+ zero: "0",
114
+ um: "1",
115
+ uma: "1",
116
+ dois: "2",
117
+ duas: "2",
118
+ tres: "3",
119
+ quatro: "4",
120
+ cinco: "5",
121
+ seis: "6",
122
+ sete: "7",
123
+ oito: "8",
124
+ nove: "9",
125
+ };
126
+ const shortPublicationVersion = shortPublication
127
+ ? (shortPublication[1] ?? `${unitValue[shortPublication[2]]}.${unitValue[shortPublication[3]]}`)
128
+ : null;
96
129
  const waitsForAuthorization =
97
130
  /\b(?:quando|se|apos|depois)\b[^?]*\b(?:autorizar|aprovar|confirmar|autorizacao|aprovacao|confirmacao)\b/.test(
98
131
  text,
@@ -104,7 +137,8 @@ export function requestedDeployment(request) {
104
137
  sequencedDirect ||
105
138
  releaseDirective ||
106
139
  proceedToVersion ||
107
- finalAdjustmentsToPublish;
140
+ finalAdjustmentsToPublish ||
141
+ shortPublicationVersion !== null;
108
142
  if (!direct || /\?/.test(text) || waitsForAuthorization)
109
143
  return { authorized: false, reason: "not-a-direct-deployment-request" };
110
144
  const noRelease =
@@ -121,7 +155,8 @@ export function requestedDeployment(request) {
121
155
  ).test(text) ||
122
156
  /^release\b/.test(withoutCourtesy) ||
123
157
  releaseDirective ||
124
- proceedToVersion;
158
+ proceedToVersion ||
159
+ shortPublicationVersion !== null;
125
160
  const nonPublication = text.replace(
126
161
  /\bnao\s+(?:publique|publicar)\s+(?:(?:um|uma|o|a|novo|nova)\s+)*release\b/g,
127
162
  "",
@@ -142,6 +177,7 @@ export function requestedDeployment(request) {
142
177
  );
143
178
  if (releaseDirective)
144
179
  versions.push(/\bpreciso que crie (?:uma |a )?nova versao\s+v?(\d+\.\d+)\b/.exec(text)[1]);
180
+ if (shortPublicationVersion !== null) versions.push(shortPublicationVersion);
145
181
  assert(new Set(versions).size <= 1, "Conflicting explicit release versions");
146
182
  return {
147
183
  authorized: true,