@zaip-ai/cli 5.9.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/services/adapters.d.ts +1 -1
- package/dist/services/adapters.js +1 -1
- package/package.json +1 -1
- package/templates/.agents/README-ENG.md +4 -0
- package/templates/.agents/README.md +4 -0
- package/templates/.agents/config/agents/discovery.json +1 -1
- package/templates/.agents/dashboard/.zaip-managed.json +33 -33
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-Fe0d2Tz3.js → DashboardHelpDialog-Bni7muep.js} +5 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-DK1lnaqS.js → PricingSettingsDialog-Cctm7uaW.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-Bz6dDc40.js → ProjectSettingsPage-D61ZJG4L.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-Bc4WXDXf.js → TraceabilityWorkspace-B4VQDPo5.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-r8ywAYW-.js → dashboard-localization-ykDJSpnb.js} +4 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-DJnCLtCS.js → index-mZ3OmU_0.js} +2 -2
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +1 -1
- package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/package.json +1 -1
- package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
- package/templates/.agents/dashboard/packages/branding/package.json +1 -1
- package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
- package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +169 -167
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +102 -102
- package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +169 -167
- package/templates/.agents/dashboard/packages/ui/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
- package/templates/.agents/design/.zaip-managed.json +3 -3
- package/templates/.agents/design/apps/catalog/package.json +1 -1
- package/templates/.agents/design/packages/local-runtime/package.json +1 -1
- package/templates/.agents/requirements/autonomous-assurance.md +1 -1
- package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
- package/templates/.agents/requirements/comparative-audit.md +1 -1
- package/templates/.agents/requirements/context-engine.md +1 -1
- package/templates/.agents/requirements/cost-observability.md +1 -1
- package/templates/.agents/requirements/dashboard-launch.md +1 -1
- package/templates/.agents/requirements/data-export.md +1 -1
- package/templates/.agents/requirements/design-system.md +1 -1
- package/templates/.agents/requirements/execution-engine.md +1 -1
- package/templates/.agents/requirements/kanban-dashboard.md +1 -1
- package/templates/.agents/requirements/model-orchestration.md +1 -1
- package/templates/.agents/requirements/public-distribution.md +1 -1
- package/templates/.agents/requirements/software-architecture.md +1 -1
- package/templates/.agents/requirements/strategic-improvements.md +1 -1
- package/templates/.agents/requirements/work-lifecycle.md +1 -1
- package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
- package/templates/.agents/rules/core.md +7 -6
- package/templates/.agents/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +35 -31
- package/templates/.agents/runtime/checksums.sha256 +5 -5
- package/templates/.agents/runtime/manifest.json +1 -1
- package/templates/.agents/runtime/provenance.json +4 -4
- package/templates/.agents/runtime/sbom.cdx.json +1 -1
- package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +3 -2
- package/templates/.agents/skills/zaip-skill-github-deploy/references/release-identity.md +3 -1
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract-patch.test-support.mjs +25 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.mjs +2 -2
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.test.mjs +2 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-publication-intent.test.mjs +27 -0
- package/templates/.agents/skills/zaip-skill-lifecycle-closure/references/post-publication-task-first.md +12 -0
- package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +11 -0
- package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +14 -0
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/template-manifest.json +79 -75
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
b146bd0c7c60b1ab43c4f71e0b1d2262c6df6da6f7053a0425f834ccb77a6b48 LICENSE
|
|
2
2
|
bc02cba77e8d51e5c580f43668863dc868eda66f1ff663bfaa49fcf3ca16320e THIRD_PARTY_NOTICES.md
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
cf3701cb2416e87a99c0e77dbd0518fc4fc27e390f025c024e6ed1c389c928e0 VERSION
|
|
4
|
+
ea96e255489fc59126568fbf2e36f88d46a56442514a43aba211f33ef37a1c5e bin/zaip.mjs
|
|
5
|
+
3b5cf6b8aeebc457cde6a5a3d889d042983272ad8695b4acb95c8be581ccdaac manifest.json
|
|
6
6
|
7f89219d7c567c82a51679ad136d84364bded7ac659492537e125d33b1d58a7a migrations/001-layout-v1.json
|
|
7
7
|
5f8c48b286d0b44d8fbb57a9a5d009a8a500439aa3148d750b8f193f72995c9f migrations/002-layout-v2.json
|
|
8
8
|
2bd34b2f5c253a2167d9addaf1994167308ac0bb4fec22a794c8a5b488205278 pnpm-lock.sha256
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
9a3baaaa1db06fe6caa56dc3b3e9391625e08969f887fb3afcc38f7a69d8c6c9 provenance.json
|
|
10
|
+
56beff20a7c2bd8e3e457f32cc50559528e1b4db38db44b7ef7f87e9ab07aba0 sbom.cdx.json
|
|
11
11
|
b3ffedf9e146be802a15b4009f33e031dec3071ca1525e12c67606fd964a3067 schemas/contracts.schema.json
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"schema_version": 1,
|
|
3
3
|
"statement_type": "self_reported_build_integrity",
|
|
4
4
|
"authenticity": "unverified",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "6.0.1",
|
|
6
6
|
"source_origin": "zaip-aios:local-build",
|
|
7
7
|
"lockfile_sha256": "b5e11351951654d41aa78dc858d43990a12964ba4051a070613ac8b11bc73a27",
|
|
8
|
-
"sbom_sha256": "
|
|
9
|
-
"runtime_sha256": "
|
|
10
|
-
"statement_sha256": "
|
|
8
|
+
"sbom_sha256": "56beff20a7c2bd8e3e457f32cc50559528e1b4db38db44b7ef7f87e9ab07aba0",
|
|
9
|
+
"runtime_sha256": "8781c0725c48b5a6d20f156fd23d03842ba161ada04e8080422442f1ec2f29e2",
|
|
10
|
+
"statement_sha256": "e8a81f1ce0a1d0140772a85671588ceab818c86d19422da4bf23fe4976df3918"
|
|
11
11
|
}
|
|
@@ -41,6 +41,7 @@ Commit subjects retain `[CODEX|CLAUDE] [P:XXXX] [S:XXXX] [T:XXXX] <Task title>`
|
|
|
41
41
|
- **Commits:** use `scripts/guarded-commits.mjs` with its reviewed CLI and valid scoped checks to push the exact SHA to the configured branch. Do not enter release qualification, change a version or create a Release merely for this mode. Installer/security work still runs checks directly required by its impact.
|
|
42
42
|
- **Release:** read [release identity](references/release-identity.md), then compose `$zaip-skill-release-qualification` and [local preparation](../zaip-skill-release-qualification/references/local-preparation.md) for the actual distribution surface. Verified builder uses `scripts/local-release-deploy.mjs`; consumers create only their GitHub Release under their own checks, without builder npm, signing-key or protected-policy requirements.
|
|
43
43
|
- Before release versioning, verify whether the candidate SHA is already published. The same published SHA is a no-op, never an empty new Release. Resume a verified draft or retry only observed incomplete delivery with the exact same SHA and identity. A changed candidate requires new identity/evidence.
|
|
44
|
+
- An explicitly authorized corrective patch uses product `N.N`, package `N.N.P` with `P > 0`, and a new immutable tag `vN.N.P`. Preserve the original tag/package and the next open cycle. Require the signed patch policy, exact base publication, observed maintenance actor, reviewed paths and all candidate/artifact/remote checks. Record verified delivery in the separate patch ledger; never use ordinary cycle advance for a patch or infer patch authority from a retry.
|
|
44
45
|
- Review detailed UTF-8 notes only for the Release, following [release notes](references/release-notes.md). Observe the complete previous-Release-to-candidate Git range as source/evidence, including changes beyond the current chat. Validate the inventory and compare the published body byte-for-byte; never use generated notes alone.
|
|
45
46
|
|
|
46
47
|
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.
|
|
@@ -51,13 +52,13 @@ For post-receipt rapid reuse in the verified builder, follow `docs/quality/v49-d
|
|
|
51
52
|
|
|
52
53
|
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.
|
|
53
54
|
|
|
54
|
-
Commits success requires the scoped exact-SHA push and its required checks. Consumer release success additionally requires the verified tag, SHA and reviewed body. Builder release success additionally requires its verified signed assets, terminal `publish-cli.yml` success and registry version, dist-tag and integrity for `@zaip-ai/cli@N.N.0
|
|
55
|
+
Commits success requires the scoped exact-SHA push and its required checks. Consumer release success additionally requires the verified tag, SHA and reviewed body. Builder release success additionally requires its verified signed assets, terminal `publish-cli.yml` success and registry version, dist-tag and integrity for the signed target package (`@zaip-ai/cli@N.N.0` in standard mode, `@zaip-ai/cli@N.N.P` in patch mode). A Release with failed or unobserved npm is partial. An unavailable check stays unconfirmed.
|
|
55
56
|
|
|
56
57
|
Give a brief chat result with the delivered mode, branch/SHA, Release link when applicable and any actual pending gate. Keep detailed change notes in the Release and sanitized evidence in the owned lifecycle. Formal closure belongs to the responsible orchestrator/finalizer. This GitHub workflow grants no provider deploy, database production, SQL application or host power action.
|
|
57
58
|
|
|
58
59
|
## Pre-main candidate and release-cycle audit
|
|
59
60
|
|
|
60
|
-
|
|
61
|
+
In standard mode, verified framework builder release delivery requires `.agents/config/release-cycle.json` frozen at the version being released, a clean candidate SHA, remote `main` as its ancestor, and no stale branch/worktree. Every owner SPEC DAG predecessor must be completed. The sole open exception is the critical release-only Task coordinator delegated from the owner SPEC/Execution/macro Run; its exact lineage, predecessor states and candidate records are authenticated at freeze, audit and advance. Other current-release Task/PRD/SPEC work blocks. `scripts/local-release-deploy.mjs` runs fixed local checks at the exact SHA without creating a remote candidate branch. It then pushes only `main` and waits for the exact successful `main` push run of `pre-main-candidate.yml` before publishing a Release. A critical framework commit follows the same branch-free sequence through `guarded-commits.mjs`. Failed local checks block the push; failed or unavailable remote CI blocks Release publication and requires repair on `main`.
|
|
61
62
|
|
|
62
63
|
When the same authorized direct Task root implements the product repair and release, the explicit integrated coordinator mode in `$zaip-skill-release-qualification` can freeze while that Task and Run are active. It keeps the clean exact-SHA, only-main, no-other-work, independent validation and publication gates. Record this selection in the frozen cycle; it does not create a second Task or client turn.
|
|
63
64
|
|
|
@@ -37,7 +37,9 @@ Generic consumer deploy under auto selects commits. Only release mode enters thi
|
|
|
37
37
|
|
|
38
38
|
Recognize framework source only through approved origin `zaip-ai/zaip-aios`, root package `@zaip-ai/aios` and public CLI package `@zaip-ai/cli`. Names or installed framework files do not prove builder identity; contradictory signals block classification.
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
For an ordinary release, select the next allowed `N.N` from observed release history, then update canonical root `package.json#version` to `N.N.0` and align the declared public/CLI manifests through the version tooling before committing and qualifying. The root manifest is the candidate's version source. Do not allocate an independent GitHub tag or replace version strings broadly. Retries retain the already-assigned version.
|
|
41
|
+
|
|
42
|
+
For an explicitly authorized corrective patch, use product `N.N`, package `N.N.P` (`P > 0`) and tag `vN.N.P`. Apply this identity with the version updater's explicit patch option. The signed patch policy binds the mapping, immutable base tag/SHA, source base and reviewed file inventory. A changed package never reuses the original tag or npm version. The next ordinary open cycle stays unchanged; patch delivery has a separate verified ledger. Local manifests describe the candidate, not publication.
|
|
41
43
|
|
|
42
44
|
Protected delivery uses `scripts/local-release-deploy.mjs`. First resolve mode in the Task's local area; only release mode may run signed `local-release-preparation.mjs prepare`. After that preparation successfully creates the receipt directory, save the actual UTF-8 human request at `<output-dir>/deploy-request.txt` and resolve its final-candidate contract to `<output-dir>/deploy-contract.json`. Do not pre-create the output directory just to write these files: preparation treats an existing directory as an immutable receipt cache. The resolver retains `--repository ROOT --request-file FILE --plan-file FILE`; the release helper reads only those fixed paths before reusing preparation or using publication credentials. Do not add request/plan CLI arguments or expand the installed hook allowlist. Resolve against the final committed candidate identity; stale contracts block delivery.
|
|
43
45
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { repositoryKind } from "./deploy-contract.mjs";
|
|
3
|
+
export function assertPatchManifestVersions(builder) {
|
|
4
|
+
assert.equal(
|
|
5
|
+
repositoryKind({
|
|
6
|
+
...builder,
|
|
7
|
+
rootVersion: "6.0.1",
|
|
8
|
+
cliVersion: "6.0.1",
|
|
9
|
+
workspaceVersion: "6.0.1",
|
|
10
|
+
}),
|
|
11
|
+
"builder",
|
|
12
|
+
);
|
|
13
|
+
for (const version of ["06.0.1", "6.0.01", "6.0.1-beta", "6.0"]) {
|
|
14
|
+
assert.throws(
|
|
15
|
+
() =>
|
|
16
|
+
repositoryKind({
|
|
17
|
+
...builder,
|
|
18
|
+
rootVersion: version,
|
|
19
|
+
cliVersion: version,
|
|
20
|
+
workspaceVersion: version,
|
|
21
|
+
}),
|
|
22
|
+
/versions/,
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -57,7 +57,7 @@ export function repositoryKind({
|
|
|
57
57
|
"Conflicting builder identity; repository and package manifests must agree",
|
|
58
58
|
);
|
|
59
59
|
assert(
|
|
60
|
-
|
|
60
|
+
/^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)$/.test(rootVersion ?? "") &&
|
|
61
61
|
rootVersion === cliVersion &&
|
|
62
62
|
rootVersion === workspaceVersion,
|
|
63
63
|
"Builder manifest versions must agree",
|
|
@@ -105,7 +105,7 @@ export function requestedDeployment(request) {
|
|
|
105
105
|
.split(/\r?\n|(?<=[.!])\s+/)
|
|
106
106
|
.map(normalize)
|
|
107
107
|
.some((line) =>
|
|
108
|
-
/^(?:(?:(?:faca|realize|execute)\s+(?:as mudancas necessarias|os ajustes necessarios
|
|
108
|
+
/^(?:(?:(?:faca|realize|execute)\s+(?:as mudancas necessarias|(?:todos os |os )(?:ajustes|ajuates)(?: necessarios)?|as melhorias|todos os testes)(?:\s+e\s+(?:todos os testes|as validacoes|os testes))?|pode (?:implementar|executar))\s+e\s+|depois\s+|apos\s+os\s+ajustes\s+e\s+(?:os\s+)?testes\s+)(?:publique|publica|publicar)\s+(?:(?:em|como)\s+)?(?:uma\s+|a\s+)?(?:(?:nova|proxima)\s+versao|v(?:0|[1-9]\d*)\.(?:0|[1-9]\d*))(?:\s+com\s+uma\s+versao\s+final\s+pronta\s+(?:para|pra)\s+producao)?[.!]?$/.test(
|
|
109
109
|
line,
|
|
110
110
|
),
|
|
111
111
|
);
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
resolveDeployment,
|
|
12
12
|
verifyContract,
|
|
13
13
|
} from "./deploy-contract.mjs";
|
|
14
|
+
import { assertPatchManifestVersions } from "./deploy-contract-patch.test-support.mjs";
|
|
14
15
|
import { criticalTaskInRange, guardedCommits } from "./guarded-commits.mjs";
|
|
15
16
|
|
|
16
17
|
const builder = {
|
|
@@ -193,6 +194,7 @@ test("preferences are project-owned; one-shot overrides, scope and invalid confi
|
|
|
193
194
|
});
|
|
194
195
|
test("builder identity requires origin plus all three agreeing manifests", () => {
|
|
195
196
|
assert.equal(repositoryKind(builder), "builder");
|
|
197
|
+
assertPatchManifestVersions(builder);
|
|
196
198
|
assert.equal(repositoryKind(consumer), "consumer");
|
|
197
199
|
for (const identity of [
|
|
198
200
|
{ ...builder, origin: consumer.origin },
|
package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-publication-intent.test.mjs
CHANGED
|
@@ -12,6 +12,33 @@ const builder = {
|
|
|
12
12
|
};
|
|
13
13
|
const input = (request, identity) => ({ request, identity });
|
|
14
14
|
|
|
15
|
+
test("explicit major after adjustments preserves literal authority and refuses human holds", () => {
|
|
16
|
+
const directive =
|
|
17
|
+
"Faça todos os ajuates e publique a v6.0 com uma versao final pronta pra produção";
|
|
18
|
+
const request = `Ainda tem nota baixa nos itens. Governança e fechamento, eficiência e recuperação\n\nPreciso melhorar para pelo.menos uma nota 8\n\n${directive}`;
|
|
19
|
+
const plan = resolveDeployment(input(request, builder));
|
|
20
|
+
assert.equal(plan.mode, "release");
|
|
21
|
+
assert.equal(plan.phase, "publish");
|
|
22
|
+
assert.equal(plan.scope, "current-work");
|
|
23
|
+
assert.equal(plan.version, "6.0");
|
|
24
|
+
assert.equal(plan.npm_publication, true);
|
|
25
|
+
assert.equal(
|
|
26
|
+
resolveDeployment(input(directive.replace("ajuates", "ajustes"), builder)).version,
|
|
27
|
+
"6.0",
|
|
28
|
+
);
|
|
29
|
+
for (const rejected of [
|
|
30
|
+
`${directive}?`,
|
|
31
|
+
`Ele disse: ${directive}`,
|
|
32
|
+
`"${directive}"`,
|
|
33
|
+
`${directive} se eu aprovar`,
|
|
34
|
+
`${directive}\nAguarde minha confirmação.`,
|
|
35
|
+
`Não publique a v6.0.\n${directive}`,
|
|
36
|
+
directive.replace("e publique", "e não publique"),
|
|
37
|
+
directive.replace("v6.0", "v6.0.1"),
|
|
38
|
+
])
|
|
39
|
+
assert.equal(resolveDeployment(input(rejected, builder)).mode, "none", rejected);
|
|
40
|
+
});
|
|
41
|
+
|
|
15
42
|
test("execution and next-version publication remain bounded to a direct human request", () => {
|
|
16
43
|
const directive = "Pode executar e publicar próxima versão";
|
|
17
44
|
const plan = resolveDeployment(input(directive, builder));
|
|
@@ -50,6 +50,18 @@ Quando existe um reparo de publicador posterior à tag, a fronteira exige invent
|
|
|
50
50
|
|
|
51
51
|
## Procedimento canônico
|
|
52
52
|
|
|
53
|
+
Recibos v3 também congelam o status de Execution e SPEC. Uma Execution já
|
|
54
|
+
`running` após interrupção pode ser a baseline exata; o consumo não incrementa
|
|
55
|
+
novamente sua revisão. SPEC histórica `ready` é recusada ainda no preview:
|
|
56
|
+
o fluxo de recuperação publicada exige `blocked` ou `active`, sem emitir um
|
|
57
|
+
recibo impossível de consumir. Recibos antigos permanecem conservadores.
|
|
58
|
+
|
|
59
|
+
Vários recibos da mesma manutenção podem ser consumidos no mesmo turno observado.
|
|
60
|
+
O claim versionado conserva cada etapa e exige o predecessor e seu Gui concluídos
|
|
61
|
+
antes da seguinte. Cada recibo/Decision continua autenticado separadamente. O
|
|
62
|
+
predecessor imediato passa a ser a etapa anterior; a autoridade original continua
|
|
63
|
+
sendo a manutenção. Não crie turnos artificiais para contornar exclusividade.
|
|
64
|
+
|
|
53
65
|
1. Inspecione somente os IDs envolvidos, a revisão atual e as evidências originais.
|
|
54
66
|
Confirme que os critérios de aceite históricos realmente foram satisfeitos.
|
|
55
67
|
Publicação, teste técnico aprovado e `run.finished` não substituem esse aceite.
|
|
@@ -11,6 +11,8 @@ Use after `$zaip-skill-github-deploy` resolves release mode, or when local prepa
|
|
|
11
11
|
|
|
12
12
|
Preparation, verification and dry-run do not publish. The request's resolved route supplies publication authority separately.
|
|
13
13
|
|
|
14
|
+
An explicitly authorized patch uses `--mode patch --package-version N.N.P` with product `--version N.N`. Its signed policy and receipt bind both identities, the base publication, observed actor, cycle snapshot and reviewed paths. The patch audit preserves the next open cycle; it does not freeze or advance that ordinary cycle. All exact-candidate, artifact, signature, remote CI and npm checks still apply. Follow the [release identity contract](../zaip-skill-github-deploy/references/release-identity.md) and record verified patch delivery separately.
|
|
15
|
+
|
|
14
16
|
For readiness grades, load `RULE-PRODUCTION-READINESS` and apply
|
|
15
17
|
`technical-essential-v1` from `docs/quality/production-readiness.md`. Grade 9
|
|
16
18
|
requires the six essential criteria; grade 10 adds reviewed concurrency,
|
|
@@ -29,6 +31,15 @@ Read [local preparation](references/local-preparation.md) for the selected surfa
|
|
|
29
31
|
|
|
30
32
|
## Builder release qualification
|
|
31
33
|
|
|
34
|
+
An explicitly requested next major may replace an unpublished open minor using
|
|
35
|
+
`task retarget-open-release TASK --run RUN --from N.N --to NEXT.0 --expected-revision REV`.
|
|
36
|
+
Preview returns the exact payload for a confirmed human contract Decision scoped
|
|
37
|
+
to the Change; apply with `--decision DEC-HUMAN-... --apply`. Finish active children
|
|
38
|
+
first. This Task-first operation journals both preimages, preserves publication
|
|
39
|
+
history and resumes interrupted writes without overwriting unrelated changes.
|
|
40
|
+
The `planned-major-retarget` row is planning only; it never proves publication of
|
|
41
|
+
the skipped minor. Freeze and all distribution gates still apply.
|
|
42
|
+
|
|
32
43
|
Local builder preparation defaults to signed `essential-v3`: deterministic source/lock/parity, build/type integrity, dependency audit, prioritized installer/rollback/release regressions, package/SBOM/TGZ binding and one clean installed-consumer doctor/SQLite/API smoke.
|
|
33
44
|
|
|
34
45
|
These dense distribution checks are release gates. Change validation outside release remains targeted, with installer/security checks selected when directly impacted. Do not automatically run the full suite for generic commits, impose a test-count ceiling or classify a Task by wallclock duration.
|
package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md
CHANGED
|
@@ -94,6 +94,20 @@ These commands exist only in the source repository `zaip-ai/zaip-aios`. Values i
|
|
|
94
94
|
must be replaced with the authorized candidate and external paths. GitHub version `N.N` maps
|
|
95
95
|
to tag `vN.N` and package version `N.N.0`.
|
|
96
96
|
|
|
97
|
+
For an explicitly authorized corrective patch, use `--mode patch --version N.N
|
|
98
|
+
--package-version N.N.P` on the patch-aware preparation, staging and deploy
|
|
99
|
+
commands. The signed schema-2 policy and schema-3 receipt bind the immutable base
|
|
100
|
+
publication, observed delivery actor, exact paths and unchanged open product
|
|
101
|
+
cycle. The patch ledger replaces ordinary cycle advance for this route. See
|
|
102
|
+
[the patch contract](../../zaip-skill-github-deploy/references/release-identity.md).
|
|
103
|
+
|
|
104
|
+
If an unpublished patch candidate needs a corrected path inventory, `stage-policy`
|
|
105
|
+
accepts `--recover-unpublished-from-sha256 <old-policy-sha256>`. Only
|
|
106
|
+
`allowed_paths` may change. Recovery requires the unchanged remote base, absent
|
|
107
|
+
tag and Release, authenticated GitHub access and a successful npm inventory
|
|
108
|
+
without that version. It preserves a verified private backup and requires a new
|
|
109
|
+
signed receipt; unavailable publication checks never count as absence.
|
|
110
|
+
|
|
97
111
|
```text
|
|
98
112
|
node scripts/local-release-preparation.mjs keygen --output-dir <new-stable-private-key-directory>
|
|
99
113
|
node scripts/local-release-preparation.mjs bootstrap --trust-store <new-stable-private-key-directory>/trust --public-key <new-stable-private-key-directory>/release-public.pem --key-id <new-key-id> --channels latest
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
6.0
|