@zaip-ai/cli 3.7.0 → 3.8.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 (112) hide show
  1. package/dist/commands/init.d.ts.map +1 -1
  2. package/dist/commands/init.js +6 -0
  3. package/dist/commands/init.js.map +1 -1
  4. package/dist/services/adapters.d.ts +1 -1
  5. package/dist/services/adapters.d.ts.map +1 -1
  6. package/dist/services/adapters.js +22 -4
  7. package/dist/services/adapters.js.map +1 -1
  8. package/dist/services/adapters.test.js +24 -0
  9. package/dist/services/adapters.test.js.map +1 -1
  10. package/dist/services/sqlite-bootstrap.d.ts.map +1 -1
  11. package/dist/services/sqlite-bootstrap.js +9 -1
  12. package/dist/services/sqlite-bootstrap.js.map +1 -1
  13. package/package.json +1 -1
  14. package/templates/.agents/README-ENG.md +2 -2
  15. package/templates/.agents/README.md +2 -2
  16. package/templates/.agents/config/agents/catalog.yaml +23 -23
  17. package/templates/.agents/config/agents/discovery.json +2 -2
  18. package/templates/.agents/config/clients/codex/agents/zaip-agent-analyst.toml +2 -2
  19. package/templates/.agents/config/clients/codex/agents/zaip-agent-auditor.toml +2 -2
  20. package/templates/.agents/config/clients/codex/agents/zaip-agent-backend.toml +2 -2
  21. package/templates/.agents/config/clients/codex/agents/zaip-agent-brand-strategist.toml +2 -2
  22. package/templates/.agents/config/clients/codex/agents/zaip-agent-builder.toml +2 -2
  23. package/templates/.agents/config/clients/codex/agents/zaip-agent-cloud-engineer.toml +2 -2
  24. package/templates/.agents/config/clients/codex/agents/zaip-agent-data-analyst.toml +2 -2
  25. package/templates/.agents/config/clients/codex/agents/zaip-agent-designer.toml +2 -2
  26. package/templates/.agents/config/clients/codex/agents/zaip-agent-finalizer.toml +2 -2
  27. package/templates/.agents/config/clients/codex/agents/zaip-agent-frontend.toml +2 -2
  28. package/templates/.agents/config/clients/codex/agents/zaip-agent-general-operations.toml +2 -2
  29. package/templates/.agents/config/clients/codex/agents/zaip-agent-governance-compliance.toml +2 -2
  30. package/templates/.agents/config/clients/codex/agents/zaip-agent-growth-strategist.toml +2 -2
  31. package/templates/.agents/config/clients/codex/agents/zaip-agent-integrator.toml +2 -2
  32. package/templates/.agents/config/clients/codex/agents/zaip-agent-marketing-analyst.toml +2 -2
  33. package/templates/.agents/config/clients/codex/agents/zaip-agent-orchestrator.toml +2 -2
  34. package/templates/.agents/config/clients/codex/agents/zaip-agent-refactoring-specialist.toml +2 -2
  35. package/templates/.agents/config/clients/codex/agents/zaip-agent-reviewer.toml +2 -2
  36. package/templates/.agents/config/clients/codex/agents/zaip-agent-sales-specialist.toml +2 -2
  37. package/templates/.agents/config/clients/codex/agents/zaip-agent-security-auditor.toml +2 -2
  38. package/templates/.agents/config/clients/codex/agents/zaip-agent-task-executor.toml +2 -2
  39. package/templates/.agents/config/clients/codex/agents/zaip-agent-website-developer.toml +2 -2
  40. package/templates/.agents/config/clients/codex/agents/zaip-agent-writer.toml +2 -2
  41. package/templates/.agents/config/clients.yaml +1 -1
  42. package/templates/.agents/config/pricing/models.json +57 -1
  43. package/templates/.agents/config/project.yaml +1 -1
  44. package/templates/.agents/dashboard/.zaip-managed.json +53 -45
  45. package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-C5NgEcVh.js → CostCalculationGuidePage-D2PL4UOu.js} +1 -1
  46. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-BDQR0U4a.js → DashboardHelpDialog-CocoP9CA.js} +15 -16
  47. package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-CGYcJ5EB.js → PricingSettingsDialog-D255_hNf.js} +1 -1
  48. package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-OulA4CoX.js → ProjectSettingsPage-0f_x2TzJ.js} +1 -1
  49. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-Ckxk_izu.js → TraceabilityWorkspace-BTFSLQ69.js} +1 -1
  50. package/templates/.agents/dashboard/apps/frontend/dist/assets/{cost-monitor-j3aUYH5G.js → cost-monitor-zhY2JoLc.js} +1 -1
  51. package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-jvdDfNKs.js → dashboard-localization-058lag33.js} +2 -2
  52. package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-x8xxL9yW.js → icons-vendor-DeFPiN32.js} +1 -1
  53. package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-CqfSgtk9.js → index-Dh95Yodm.js} +2 -2
  54. package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-CNOXIJHN.js → react-vendor-BIWcbEAc.js} +1 -1
  55. package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-CcpbpT1s.js → traceability-fZZL0ohD.js} +1 -1
  56. package/templates/.agents/dashboard/apps/frontend/dist/index.html +5 -5
  57. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  58. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  59. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorContent.tsx +2 -2
  60. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  61. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  62. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  63. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  64. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  65. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +171 -171
  66. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +153 -153
  67. package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
  68. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +171 -171
  69. package/templates/.agents/dashboard/packages/local-runtime/src/agent-catalog-settings.test.ts +15 -15
  70. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +2 -2
  71. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  72. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  73. package/templates/.agents/dashboard/tests/e2e/specs/dashboard-performance-matrix.spec.ts +11 -19
  74. package/templates/.agents/dashboard/tests/e2e/specs/performance-matrix-types.ts +15 -0
  75. package/templates/.agents/dashboard/tests/e2e/specs/performance-observability.ts +30 -0
  76. package/templates/.agents/design/.zaip-managed.json +3 -3
  77. package/templates/.agents/design/apps/catalog/package.json +1 -1
  78. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  79. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  80. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  81. package/templates/.agents/requirements/comparative-audit.md +1 -1
  82. package/templates/.agents/requirements/context-engine.md +1 -1
  83. package/templates/.agents/requirements/cost-observability.md +1 -1
  84. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  85. package/templates/.agents/requirements/data-export.md +1 -1
  86. package/templates/.agents/requirements/design-system.md +1 -1
  87. package/templates/.agents/requirements/execution-engine.md +1 -1
  88. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  89. package/templates/.agents/requirements/model-orchestration.md +6 -6
  90. package/templates/.agents/requirements/public-distribution.md +1 -1
  91. package/templates/.agents/requirements/software-architecture.md +1 -1
  92. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  93. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  94. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  95. package/templates/.agents/runtime/VERSION +1 -1
  96. package/templates/.agents/runtime/bin/zaip.mjs +53 -53
  97. package/templates/.agents/runtime/checksums.sha256 +5 -5
  98. package/templates/.agents/runtime/manifest.json +1 -1
  99. package/templates/.agents/runtime/provenance.json +4 -4
  100. package/templates/.agents/runtime/sbom.cdx.json +1 -1
  101. package/templates/.agents/skills/zaip-skill-adapters/SKILL.md +1 -1
  102. package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +5 -5
  103. package/templates/.agents/skills/zaip-skill-github-deploy/agents/openai.yaml +2 -2
  104. package/templates/.agents/skills/zaip-skill-github-deploy/references/deployment-workflow.md +5 -3
  105. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +28 -5
  106. package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +7 -1
  107. package/templates/.agents/zaip-aios/VERSION +1 -1
  108. package/templates/.agents/zaip-aios/guides/18-catalogo-de-agentes.md +1 -1
  109. package/templates/.agents/zaip-aios/guides/20-instalacao-detalhada.md +1 -1
  110. package/templates/.agents/zaip-aios/guides/23-orquestracao-de-modelos.md +3 -4
  111. package/templates/.agents/zaip-aios/guides/24-calculo-de-custos-openai.md +7 -7
  112. package/templates/template-manifest.json +123 -115
@@ -1,11 +1,11 @@
1
1
  b146bd0c7c60b1ab43c4f71e0b1d2262c6df6da6f7053a0425f834ccb77a6b48 LICENSE
2
2
  bc02cba77e8d51e5c580f43668863dc868eda66f1ff663bfaa49fcf3ca16320e THIRD_PARTY_NOTICES.md
3
- 84746b20a3a72f6ff85a629706e50507c1bd200907456b76dd808a2a5ca0efba VERSION
4
- 5c911d434505e839d55d273fc275e0725dde425e2b4e91219d3cd28e3883c56b bin/zaip.mjs
5
- 38a97d3f4f2d30deb9bfe0308a62670c9302d6b6fba1b1173bc0c2d30cf12f0b manifest.json
3
+ 88206afd2d9b56ca71466c85d1ed1421b1db0e78fa00072697918fb8a9ac54ef VERSION
4
+ b9d0c02583775ea664f7bb92d73c4c901194d4a9bbd3a49993b4891ed241b6ef bin/zaip.mjs
5
+ d6ef4cfccc2b5d66289f37da8e3f8c726d2c6f5fe8f93e65b0e1f7df7c9b450d manifest.json
6
6
  7f89219d7c567c82a51679ad136d84364bded7ac659492537e125d33b1d58a7a migrations/001-layout-v1.json
7
7
  5f8c48b286d0b44d8fbb57a9a5d009a8a500439aa3148d750b8f193f72995c9f migrations/002-layout-v2.json
8
8
  33c98d5dc506bba4b8b3ca612706d9eb05ef13d9e03c33a4f9e65ca7804be9d1 pnpm-lock.sha256
9
- 4ce32e7d7ecc19a30965b99d5242762015639d5890a647e4fbeda64c71d24b90 provenance.json
10
- 77bb58427ab6dbb4cb721e834218b058a266ea94ae91ebc8853ce7e30418009b sbom.cdx.json
9
+ 15a8ac0676b794bf453eb54f027b30c0ca7cc5e7e572c591a5d76dee6efd1ed3 provenance.json
10
+ 017f220c51e33ecccbcbeb58a5673b990b67c37b44a5e6761f02be8c9219a761 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": "3.7.0",
4
+ "version": "3.8.0",
5
5
  "node": ">=22",
6
6
  "files": [
7
7
  "LICENSE",
@@ -2,10 +2,10 @@
2
2
  "schema_version": 1,
3
3
  "statement_type": "self_reported_build_integrity",
4
4
  "authenticity": "unverified",
5
- "version": "3.7.0",
5
+ "version": "3.8.0",
6
6
  "source_origin": "zaip-aios:local-build",
7
7
  "lockfile_sha256": "03d08e5bbb198d74014ea4a806fcdeb350db23ec2bf0c2886a2265066555d418",
8
- "sbom_sha256": "77bb58427ab6dbb4cb721e834218b058a266ea94ae91ebc8853ce7e30418009b",
9
- "runtime_sha256": "ab3104b23c8a07bfe1c1991ba7f12d40300248c54453ef4c88c71e033842b69a",
10
- "statement_sha256": "02dc17045e38d3e808a848926a7d8074cccd812e2db0f376505b59d849de0d0b"
8
+ "sbom_sha256": "017f220c51e33ecccbcbeb58a5673b990b67c37b44a5e6761f02be8c9219a761",
9
+ "runtime_sha256": "ce933ca820e864c27fb8fc33c873ef94504cf2015e14cdd8709b6b9e72370bb9",
10
+ "statement_sha256": "a6b24e3dacdca76511477e9f77a8d83281159cf73d96257b962c6677009f80dd"
11
11
  }
@@ -6,7 +6,7 @@
6
6
  "component": {
7
7
  "type": "application",
8
8
  "name": "zaip-aios",
9
- "version": "3.7.0"
9
+ "version": "3.8.0"
10
10
  }
11
11
  },
12
12
  "components": [
@@ -7,7 +7,7 @@ description: Generate and verify Codex and Claude guidance adapters from canonic
7
7
 
8
8
  Um `.codex/config.toml` existente sem cabeçalho `zaip-managed` é um overlay local: `adapters build` deve preservá-lo e `adapters check` não deve reportá-lo como drift. Arquivos ausentes ou gerenciados continuam sujeitos à projeção canônica; nenhum outro adapter recebe essa exceção.
9
9
 
10
- 1. Trate `.agents/config`, `rules/` e skills como fontes; `AGENTS.md`, `CLAUDE.md` e wrappers são projeções geradas mínimas. A propriedade de cada Rule é definida pela presença no `framework.lock.yaml`.
10
+ 1. Trate `.agents/config`, `rules/` e skills como fontes; `AGENTS.md` e wrappers são projeções geradas mínimas. A propriedade de cada Rule é definida pela presença no `framework.lock.yaml`.
11
11
  2. Oriente o agente a começar por `project.yaml` e Rules críticas, depois carregar trabalho, Requirements e skills relevantes sob demanda.
12
12
  3. Não instrua a carregar todo o histórico, Runs JSONL ou raízes V1 por padrão.
13
13
  4. Gere com cabeçalho managed, versão, checksum e allowlist determinísticos; execute `adapters build` e depois `adapters check`.
@@ -1,17 +1,17 @@
1
1
  ---
2
2
  name: zaip-skill-github-deploy
3
- description: Use only when the user explicitly asks in the current turn to deploy, push, publish, or make a GitHub publication with folder-scoped SSH; it is Git-only and never grants publication automatically.
3
+ description: Use only when the user explicitly asks to deploy, push or publish to GitHub; in the zaip-aios builder, a full deploy includes a GitHub Release and npm publication through GitHub Actions.
4
4
  ---
5
5
 
6
6
  # Deploy and repair GitHub publication
7
7
 
8
- Treat deploy as Git-only publication. An explicit current-turn request to `deploy`, `push`, `publicar`, `publicação` or GitHub publication selects this skill. It never authorizes provider deployment.
8
+ An explicit current-turn request to `deploy`, `push`, `publicar`, `publicação` or GitHub publication selects this skill; discussing or editing deployment does not authorize publication. In the `zaip-ai/zaip-aios` builder, “faça deploy” means the guarded push, GitHub Release and observation of the GitHub Actions npm publication. Consumer repositories follow their own GitHub-only policy. Neither route authorizes a hosting-provider deployment.
9
9
 
10
10
  Read [the deployment workflow](references/deployment-workflow.md) for the detailed operational contract before publication. The steps below retain its authority, identity and completion boundaries.
11
11
 
12
12
  ## Authorization and scope
13
13
 
14
- - The exact command “faça deploy” authorizes commits covering all versionable pending changes in the selected worktree, followed by push and Release, after secret, size and ignore checks. The selected worktree is the complete publication scope; other worktrees remain outside it.
14
+ - The exact command “faça deploy” authorizes commits covering all versionable pending changes in the selected worktree, followed by push and Release, after secret, size and ignore checks. In the verified framework source, publishing that Release triggers the npm workflow; follow it to terminal status and verify the registry. The selected worktree is the complete publication scope; other worktrees remain outside it. An explicit push-only request stops after the verified push and does not create a Release or publish npm.
15
15
  - Resolve dirty state, untracked files, generated projections, branch divergence and repairable local/remote failures automatically within that scope. Limit repairs to the evidenced cause, with up to five repair cycles; stop when the same root cause remains after two repairs.
16
16
  - Treat the selected worktree's local branch, recovery branch or detached state as the source candidate only. The configured deploy branch is the remote target; a mismatch between source and target is not a blocker and never requires checking out the target locally.
17
17
  - Stop only for an unresolved index conflict after bounded repair, secrets, files at or above GitHub's 100 MB limit, unavailable authentication/authority, external outage, destructive requirement, or ambiguous scope expansion.
@@ -43,7 +43,7 @@ Every product commit requires causal Task/Change/Execution records and matching
43
43
 
44
44
  1. Compose `$zaip-skill-release-qualification` and follow [local preparation](../zaip-skill-release-qualification/references/local-preparation.md). Synchronize and commit before preparing the clean exact SHA. Failed or stale evidence is not qualification.
45
45
  2. Resolve the previous Release, next canonical version and package identity using [release identity](references/release-identity.md). For the framework, `vN.N` maps to package `N.N.0`; only GitHub Actions publishes `@zaip-ai/cli` to npm.
46
- 3. For `zaip-ai/zaip-aios`, use `scripts/local-release-deploy.mjs`. It prepares/verifies, pushes the exact SHA to configured `main`, uploads verified assets to a draft, then publishes the Release. Enable the thin publisher only after explicit rollout authority, public trust enrollment and signed local qualification. It validates published assets and runs one read-only installation smoke before npm; no private-draft pilot or write token is needed. GitHub Release publication and npm completion remain separate.
46
+ 3. For the verified `zaip-ai/zaip-aios` source, use `scripts/local-release-deploy.mjs`. It prepares/verifies, pushes the exact SHA to configured `main`, uploads verified assets to a draft, then publishes the Release. The `publish-cli.yml` workflow is triggered by `release: published` and alone performs npm publication. Enable the thin publisher only after explicit rollout authority, public trust enrollment and signed local qualification. It validates published assets and runs one read-only installation smoke before npm; no private-draft pilot or local npm write token is needed. Inspect the configured signing key, trust store, policy and protected workflow settings before reporting a missing credential; do not confuse the release-signing private key with the Git SSH key or npm token in a local `.env`, and never rotate trust or bypass a gate without separate authorization. The user authorized routine per-version updates of **only** `ZAIP_LOCAL_RELEASE_POLICY_B64` for this builder on 2026-09-23. Prepare a reviewed version-matched policy, qualify the exact SHA, enroll those exact public policy bytes and verify readback before publishing the Release; do not ask again merely because the previous version is still enrolled. This standing authorization never covers trust-key rotation, other protected variables, or weaker gates. GitHub Release publication and npm completion remain separate.
47
47
  4. Consumers use `scripts/consumer-release-preparation.mjs guarded-push` with their own policy and explicit branch, SHA and trusted receipt. They have no framework npm/TGZ requirement. See the preparation guide for bootstrap and guarded commands.
48
48
  5. Immediately before delivery, reread the configured target; if changed, restart preparation. Helpers bind the exact candidate to `HEAD:refs/heads/<configured branch>` (or its equivalent immutable-SHA refspec) independently of the local source branch; do not bypass them with a manual push.
49
49
  6. After qualification, a missing Release is normal. Unless explicitly push-only, automatically create the draft for that SHA or resume a verified draft for the same SHA. Verify an already-published exact Release as a no-op; an API/authentication error never proves absence. Refuse conflicting tags/assets without overwrite.
@@ -66,7 +66,7 @@ publication separately; neither preparation nor this policy grants publication a
66
66
  - After push, compare the local SHA with the configured remote ref. If the push result is uncertain, read remote state first; only one documented transient transport retry is allowed per cycle.
67
67
  - Observe required GitHub checks for that exact SHA, waiting up to 20 minutes with concise progress at least once per minute. Read the exact failed step before repairing. Never repeat an unchanged failing command or disable a gate for green status.
68
68
  - Reconcile recoverable prerequisites and continue through the same bounded repair policy; do not stop merely because a Release or generated file was absent.
69
- - Success requires matching local/remote hashes, successful required observable checks, verified Release identity/body and a clean intended worktree. Distinguish GitHub publication, npm availability and formal lifecycle closure. If checks cannot be observed, report CI as unconfirmed.
69
+ - Full framework deploy success requires matching local/remote hashes, successful required checks, verified Release identity/body, a clean intended worktree, terminal success of the exact `publish-cli.yml` run, and registry confirmation of `@zaip-ai/cli@N.N.0` with the intended dist-tag and artifact integrity. The local `.env` does not automatically provide GitHub Actions credentials; use only the workflow's configured secret/environment. If npm fails or cannot be observed, report the GitHub Release as published but the deploy as partial or blocked, with the exact failed/pending gate. Consumer deploys have no framework npm gate. Formal lifecycle closure remains separate.
70
70
  - Retain terminal evidence and close every owned Task/Change/Execution correctly through the finalizer. Never finish with an owned Task executing/verifying; use completed, blocked, cancelled or failed according to observed outcome.
71
71
 
72
72
  Database request-branch PRs retain their separate policy. This Git-only skill never applies SQL, provisions paid resources or publishes database production. Read-only identities cannot substitute for deploy credentials.
@@ -1,6 +1,6 @@
1
1
  interface:
2
2
  display_name: "ZAIP GitHub Deploy"
3
- short_description: "Publicacao GitHub explicita, Git-only e verificavel"
4
- default_prompt: "Use $zaip-skill-github-deploy para pedidos explicitos de deploy, push, publicar ou publicacao GitHub; quando o usuario disser 'faca deploy', trate o worktree selecionado inteiro como escopo autorizado, incluindo arquivos novos, apos os gates de segredos, tamanho, conflitos e SSH; trate a branch local ou detached como origem e a branch configurada como alvo remoto, publicando por refspec explicito via SSH da pasta sem force push nem reescrita de historico."
3
+ short_description: "Deploy GitHub; npm via Actions no builder ZAIP"
4
+ default_prompt: "Use $zaip-skill-github-deploy para o pedido explicito 'faca deploy': no builder zaip-aios, publique a Release pelo fluxo protegido e confirme o workflow npm e o registro; em consumidores, siga a politica GitHub-only, respeitando pedidos push-only."
5
5
  policy:
6
6
  allow_implicit_invocation: true
@@ -3,7 +3,7 @@
3
3
 
4
4
  The exact command “faça deploy” authorizes publication of everything versionable in the selected worktree, including tracked and untracked files, after the safety gates below. It does not authorize provider deployment.
5
5
 
6
- Treat deploy as Git-only publication. An explicit current-turn request to `deploy`, `push`, `publicar`, `publicação` or GitHub publication selects this skill; it authorizes only the bounded Git publication described below, never a provider deployment or automatic publication.
6
+ An explicit current-turn request to `deploy`, `push`, `publicar`, `publicação` or GitHub publication selects this skill. For the verified `zaip-ai/zaip-aios` source, a default “faça deploy” includes the guarded Git push, GitHub Release and terminal observation of the npm workflow it triggers. Consumer repositories remain GitHub-only. Discussing or editing deployment does not authorize publication, and neither route authorizes provider deployment.
7
7
 
8
8
  ## Authorization
9
9
 
@@ -11,7 +11,7 @@ Treat deploy as Git-only publication. An explicit current-turn request to `deplo
11
11
  - The request authorizes the initial publication, automatic reconciliation needed to publish the selected branch, commits covering all versionable pending changes in the selected worktree, and up to five repair cycles needed to make required local and remote GitHub checks pass. Do not stop merely because the worktree is dirty, history is behind/diverged, generated files are pending, or a local gate has a repairable failure.
12
12
  - Limit repairs to the intended repository state and the evidenced failure. Do not add unrelated features or broaden product scope.
13
13
  - Never force push, rewrite history, replace remotes, change credentials or Git/SSH configuration, bypass checks, or deploy to another service.
14
- - Do not create lifecycle artifacts for an explicit Git-only publication request. The deploy authorization permits staging every inventoried versionable path in the selected worktree after secret, size, and ignore checks; it never authorizes changes outside that worktree.
14
+ - Do not create lifecycle artifacts merely to publish already-existing commits. The deploy authorization permits staging every inventoried versionable path in the selected worktree after secret, size, and ignore checks; it never authorizes changes outside that worktree.
15
15
  - Every product commit needs its evidenced Task and canonical Task title, including Task-first. If ownership is missing, materialize the authorized work before editing/committing; never borrow the latest global Task. Only records/local-only snapshots are exempt. Omit nonexistent PRD/SPEC lineage. Explicit deploy authorizes reviewed path staging, never force, destructive reset, history rewrite, or credential changes.
16
16
 
17
17
  ## Mandatory authorization record
@@ -99,6 +99,8 @@ Every authorized deploy must first compose `$zaip-skill-release-qualification` a
99
99
 
100
100
  For `zaip-ai/zaip-aios` framework releases, use `scripts/local-release-deploy.mjs`: it prepares and verifies the candidate, pushes the exact SHA to `main`, uploads the verified assets to a draft release, and publishes that release. npm publication remains exclusively in GitHub Actions. Run the folder-scoped SSH preflight with the explicitly configured frontend scope before this entrypoint.
101
101
 
102
+ Before classifying a missing signer as a blocker, inspect the configured external signing-key path, trust store, policy and protected GitHub release variables without exposing secret contents. The private Ed25519 release key is distinct from the Git SSH key and a local `.env` npm token; the latter does not automatically reach Actions. If a required key or protected setting truly is absent, stop with its exact name and recovery action. Do not generate a replacement, rotate public trust or publish locally without separate authority. The user's 2026-09-23 standing authorization permits routine version-specific updates of **only** `ZAIP_LOCAL_RELEASE_POLICY_B64` in the verified `zaip-ai/zaip-aios` repository. When the enrolled policy names an older release, prepare a reviewed policy for the exact new version and fixed qualification profile; preserve repository, branch, channel, publication mode, non-force/non-replacement controls and trusted key. After successful signed local qualification and before Release publication, set that one variable to the exact UTF-8 policy bytes encoded in base64 and read it back byte-for-byte. A missing key, changed trust, weaker policy, failed readback or insufficient GitHub permission remains a blocker, not a reason to ask again for the already-authorized routine version update.
103
+
102
104
  After exact-candidate qualification, a missing GitHub Release is normal. Unless the request is explicitly push-only, use the configured entrypoint to create a draft for that SHA or resume a verified draft for the same SHA; do not recreate an existing Release. A published Release for the exact SHA is verified as a no-op, or its failed checks are repaired within the bounded cycle. An authentication or API error does not prove that a Release is absent.
103
105
 
104
106
  For a consumer repository, bootstrap its own Ed25519 trust store and define `configured_branch`, GitHub version `vN.N`, and `required_commands` in its project policy. `prepare` runs only those policy commands and signs a receipt after the Git identity is unchanged before and after them. `verify` checks the configured branch, exact SHA/tree, policy digest and trusted key. `guarded-push` runs prepare and verify before its explicit push command; a failed required command, dirty checkout, changed SHA/policy, or unavailable key prevents that command from running. This consumer flow is GitHub-only: it has no npm channel, package manifest version, or TGZ contract.
@@ -134,4 +136,4 @@ Unless the request is push-only, resolve the release identity before mutation us
134
136
 
135
137
  ## Success condition
136
138
 
137
- Finish only when the local and remote hashes match, every required observable check is successful, and the intended worktree is clean. Otherwise report the exact terminal blocker and the repair cycles consumed.
139
+ For a full framework deploy, finish only when the local and remote hashes match, the intended worktree is clean, the exact Release identity/assets/body are verified, the associated `publish-cli.yml` run reaches success, and the npm registry confirms the intended `@zaip-ai/cli@N.N.0` version, dist-tag and artifact integrity. The workflow uses its configured GitHub credential/environment; a local `.env` does not publish the package. A published Release with failed or unobserved npm is partial, never a completed deploy. For a consumer or an explicit push-only request, apply only its authorized GitHub scope. Otherwise report the exact terminal blocker and repair cycles consumed.
@@ -20,6 +20,13 @@ const managedDeployFiles = [
20
20
 
21
21
  test("framework lock matches the deploy guidance and executable contract", async () => {
22
22
  const lock = await readFile(resolve(root, "config", "framework.lock.yaml"), "utf8");
23
+ const installerPlaceholder = "# Generated transactionally by @zaip-ai/cli during installation.\n";
24
+ if (lock === installerPlaceholder) {
25
+ // The npm template deliberately ships no repository-specific hashes. The
26
+ // installer creates the complete lock only after projecting the selected
27
+ // profile into the consumer workspace.
28
+ return;
29
+ }
23
30
  for (const path of managedDeployFiles) {
24
31
  const digest = createHash("sha256")
25
32
  .update(await readFile(resolve(root, path)))
@@ -35,24 +42,40 @@ test("explicit Git publication verbs select the guarded deploy skill", async ()
35
42
  readFile(resolve(root, "rules", "core.md"), "utf8"),
36
43
  ]);
37
44
  assert.match(skill, /explicit current-turn request to `deploy`, `push`, `publicar`/);
38
- assert.match(skill, /never grants publication automatically/);
45
+ assert.match(skill, /discussing or editing deployment does not authorize publication/);
39
46
  assert.doesNotMatch(skill, /standing automatic deployment|activate it automatically/);
40
47
  assert.match(openai, /\$zaip-skill-github-deploy/);
41
48
  assert.match(openai, /fa.a deploy/);
42
49
  assert.match(core, /seleciona/);
43
50
  });
44
51
 
45
- test("deploy guidance preserves the canonical Task subject and Git-only boundary", async () => {
52
+ test("deploy guidance preserves canonical Task identity and builder-versus-consumer boundary", async () => {
46
53
  const [skill, workflow] = await Promise.all([
47
54
  readFile(resolve(skillRoot, "SKILL.md"), "utf8"),
48
55
  readFile(resolve(root, "rules", "workflow.md"), "utf8"),
49
56
  ]);
50
57
  assert.ok(skill.includes("[CODEX|CLAUDE] [P:XXXX] [S:XXXX] [T:XXXX] <Task title>"));
51
58
  assert.match(skill, /exclusively `CODEX` or `CLAUDE`; `AUTO` is not part/);
52
- assert.match(skill, /Git-only publication/);
59
+ assert.match(skill, /Consumer repositories follow their own GitHub-only policy/);
60
+ assert.match(skill, /“faça deploy” means the guarded push, GitHub Release and observation of the GitHub Actions npm publication/);
53
61
  assert.match(workflow, /commitar o diff evidenciado com pathspecs explícitos/);
54
62
  });
55
63
 
64
+ test("framework deploy follows Release-triggered npm publication without claiming partial success", async () => {
65
+ const [skill, workflow, publishWorkflow] = await Promise.all([
66
+ readFile(resolve(skillRoot, "SKILL.md"), "utf8"),
67
+ readFile(resolve(skillRoot, "references", "deployment-workflow.md"), "utf8"),
68
+ readFile(resolve(root, "..", ".github", "workflows", "publish-cli.yml"), "utf8"),
69
+ ]);
70
+ assert.match(publishWorkflow, /release:\s*\n\s*types: \[published\]/);
71
+ assert.match(publishWorkflow, /npm publish /);
72
+ assert.match(skill, /publish-cli\.yml.*registry confirmation/s);
73
+ assert.match(skill, /npm fails or cannot be observed.*partial or blocked/);
74
+ assert.match(skill, /explicit push-only request.*does not create a Release or publish npm/);
75
+ assert.match(workflow, /private Ed25519 release key is distinct from the Git SSH key and a local `\.env` npm token/);
76
+ assert.match(workflow, /A published Release with failed or unobserved npm is partial/);
77
+ });
78
+
56
79
  test("faça deploy authorizes the complete selected worktree with safety gates", async () => {
57
80
  const skill = await readFile(resolve(skillRoot, "SKILL.md"), "utf8");
58
81
  assert.match(skill, /commits covering all versionable pending changes/);
@@ -73,8 +96,8 @@ test("deploy permission and reconciliation remain explicit and recoverable", asy
73
96
  assert.match(skill, /Restore with `git stash apply`/);
74
97
  assert.match(skill, /local branch, recovery branch or detached state as the source candidate/);
75
98
  assert.match(skill, /configured deploy branch is the remote target/);
76
- assert.match(openai, /worktree selecionado inteiro como escopo autorizado/);
77
- assert.match(openai, /branch local ou detached como origem/);
99
+ assert.match(openai, /\$zaip-skill-github-deploy/);
100
+ assert.match(openai, /builder zaip-aios.*Release.*workflow npm/);
78
101
  });
79
102
 
80
103
  test("workflow retains the explicit publication routing contract", async () => {
@@ -17,7 +17,13 @@ node scripts/local-release-preparation.mjs prepare --repository <absolute-reposi
17
17
  ```
18
18
 
19
19
  The framework policy is an administrator-reviewed file whose bytes must match the protected
20
- GitHub policy. Gates are fixed in the versioned helper, not supplied by the caller. Preparation
20
+ GitHub policy before Release publication. The user's 2026-09-23 authorization permits the
21
+ builder deploy to update only `ZAIP_LOCAL_RELEASE_POLICY_B64` for each exact new version after
22
+ successful signed local qualification, with byte-for-byte readback and no key/trust rotation.
23
+ The policy must name the exact repository, `main`, channel, `N.N`/`N.N.0` versions, selected
24
+ fixed qualification profile, `github-actions-only`, `signed-release-linux-smoke`, and disabled
25
+ force/replacement/pilot flags. Do not reuse an older version's policy unchanged or ask again
26
+ solely because its version is stale. Gates are fixed in the versioned helper, not supplied by the caller. Preparation
21
27
  fails at the first failed gate. The default `essential-v3` profile validates source size, locks,
22
28
  build/type integrity, package/SBOM/TGZ binding, dependency audit and one clean installed-consumer
23
29
  doctor/SQLite/API smoke. It does not run browser navigation across every dashboard tab or XLSX
@@ -1 +1 @@
1
- 3.7
1
+ 3.8
@@ -68,7 +68,7 @@ O dispatch autônomo passa os `Task.write_scopes` a essa seleção **por Task**
68
68
 
69
69
  O `budget.soft_cycles` também acompanha o agente selecionado por Task e governa seu checkpoint suave. Tokens continuam observados para telemetria e custo, mas não interrompem nem exigem checkpoint. Para comparar agentes, use `zaip run aggregate --agent agent-ID`; o resultado inclui duração coberta, ciclos de uso observados, tokens, custo, cobertura e Runs de rework.
70
70
 
71
- Nanda (`agent-reviewer`) usa `gpt-5.6-terra` com esforço `medium` e `soft_cycles: 12`, proporcional à revisão standard. Ana (`agent-auditor`) permanece `gpt-5.6-sol`/`high` para auditoria crítica ou explicitamente auditável; Luiz (`agent-security-auditor`) permanece `gpt-5.6-sol`/`high` para auditoria de segurança explícita.
71
+ Nanda (`agent-reviewer`) usa `gpt-6-sol` com esforço `medium` e `soft_cycles: 12`, proporcional à revisão standard. Ana (`agent-auditor`) usa `gpt-6-sol`/`high` para auditoria crítica ou explicitamente auditável; Luiz (`agent-security-auditor`) usa `gpt-6-sol`/`high` para auditoria de segurança explícita.
72
72
 
73
73
  ## Dashboard e segurança operacional
74
74
 
@@ -119,7 +119,7 @@ O setup identifica a propriedade pelo `framework.lock.yaml`: Rules presentes no
119
119
  framework; as demais são locais ao projeto e são preservadas em instalações e upgrades. Conflitos
120
120
  de ID ou contradições bloqueiam a operação; não existe override silencioso.
121
121
 
122
- Também gera adapters mínimos, como `AGENTS.md` e `CLAUDE.md`, sem sobrescrever conteúdo do usuário silenciosamente.
122
+ Também gera adapters mínimos, como `AGENTS.md` e os wrappers de skills dos clientes, sem sobrescrever conteúdo do usuário silenciosamente.
123
123
 
124
124
  ## Migrar estado V1
125
125
 
@@ -62,7 +62,7 @@ partir do terceiro, quando a rota válida o selecionar; não se torna reviewer
62
62
  ou finalizer. A exceção de execução não acrescenta tentativas nem amplia
63
63
  write scopes.
64
64
 
65
- O primeiro replanejamento usa `gpt-5.6-sol`; os seguintes permitidos usam
65
+ O primeiro replanejamento usa `gpt-6-sol`; os seguintes permitidos usam
66
66
  `gpt-6-astra`. Executor e replanejador são invocações diferentes. Planejar
67
67
  com Astra não obriga a executar com Astra no segundo bloco.
68
68
 
@@ -93,9 +93,8 @@ não crie outra Task ou apague `.local` para renovar a quota.
93
93
 
94
94
  | Modelo | Papel dentro da política ZAIP |
95
95
  | --- | --- |
96
- | `gpt-5.6-luna` | Execução clara e delimitada, conforme catálogo e capacidade |
97
- | `gpt-5.6-terra` | Implementação, testes e integração cotidianos |
98
- | `gpt-5.6-sol` | Planejamento difícil, revisão especializada e primeiro replanejamento |
96
+ | `gpt-6-luna` | Execução clara e delimitada, conforme catálogo e capacidade |
97
+ | `gpt-6-sol` | Implementação, testes, integração, planejamento difícil, revisão especializada e primeiro replanejamento |
99
98
  | `gpt-6-astra` | Replanejamentos e exceção de execução permitidos pelo preset |
100
99
 
101
100
  Esses são papéis configurados pelo ZAIP, não alegações de benchmark dos
@@ -42,20 +42,20 @@ BRL_total = USD_total × cotação_USD_BRL
42
42
 
43
43
  A conversão para BRL é a última etapa. Quando a moeda exibida é USD, não há conversão.
44
44
 
45
- ## Exemplo didático — GPT-5.6 Sol, Standard
45
+ ## Exemplo didático — GPT-6 Sol, Standard
46
46
 
47
- No snapshot local consultado durante a redação, `gpt-5.6-sol` contém input US$5, cache US$0,50 e output US$30 por 1M. Esses números ilustram a fórmula; confira o catálogo e a fonte registrada antes de usar valores em uma decisão atual. Para 1.000.000 input, 800.000 cache, 100.000 output e 70.000 reasoning:
47
+ No catálogo consultado em 2026-09-22, `gpt-6-sol` contém input US$2, cache US$0,20 e output US$10 por 1M. Esses números ilustram a fórmula; confira o catálogo e a fonte registrada antes de usar valores em uma decisão atual. Para 1.000.000 input, 800.000 cache, 100.000 output e 70.000 reasoning:
48
48
 
49
49
  ```text
50
50
  input sem cache = 1.000.000 - 800.000 = 200.000
51
- input = 0,2 × 5,00 = US$ 1,00
52
- cache = 0,8 × 0,50 = US$ 0,40
53
- output = 0,1 × 30,00 = US$ 3,00
51
+ input = 0,2 × 2,00 = US$ 0,40
52
+ cache = 0,8 × 0,20 = US$ 0,16
53
+ output = 0,1 × 10,00 = US$ 1,00
54
54
  reasoning = US$ 0,00 adicional (já está nos 100.000 output)
55
- total = US$ 4,40
55
+ total = US$ 1,56
56
56
  ```
57
57
 
58
- Com uma cotação **hipotética** USD/BRL de 5,45: `4,40 × 5,45 = R$ 23,98`.
58
+ Com uma cotação **hipotética** USD/BRL de 5,45: `1,56 × 5,45 = R$ 8,50` (arredondado).
59
59
 
60
60
  ## Service tier, contexto e dados incompletos
61
61