You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/api-schema-contract.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,6 +61,7 @@ Internal but packaged files under `dist/**` may exist in the npm tarball because
61
61
|`agent-cli-runtime.releaseArtifactNormalization.v1`|`schemaVersion`, `ok`, `downloadDir`, `outDir`, `artifacts`, `diagnostics`|`ok`, `diagnostics[].code`, `artifacts[].artifactName`| No absolute local paths; repo-external input/output directories are represented as `<external_artifact_dir>` / `<external_output_dir>`, and only expected release-candidate artifact filenames are copied. |
62
62
|`agent-cli-runtime.mainReleaseCandidateEvidence.v1`|`schemaVersion`, `stage`, `evidenceKind`, `checkedAt`, `releaseTargetSha`, `targetRef`, `mainEvidence`, `branchEvidence`, `historicalMainEvidence`, `compatibilityVerification`, `localReleaseCandidate`, `remoteReleaseCandidate`, `downloadedArtifacts`, `boundary`|`mainEvidence`, `branchEvidence`, `historicalMainEvidence[].historical`, `historicalMainEvidence[].currentMainFreshEvidence`, `compatibilityVerification.ok`, `remoteReleaseCandidate.run.status`, `remoteReleaseCandidate.run.conclusion`, `remoteReleaseCandidate.artifacts.valid`, `downloadedArtifacts.verified`| Repo-only current main summary; historical P8 summaries are listed as historical and non-current; no raw stdout/stderr, workflow logs, prompts, private paths, token-looking values, Bearer values, auth env assignments, tarball shasums, or pack shasums. |
63
63
|`agent-cli-runtime.packageContentEquivalence.v1`|`schemaVersion`, `ok`, `baseRef`, `headRef`, `packageName`, `packageVersion`, `packageContentEqual`, `basePackageDigest`, `headPackageDigest`, `baseFileCount`, `headFileCount`, `changedPackageFiles`, `evidenceOnlyDrift`, `freshReleaseCandidateRequired`, `diagnostics`|`ok`, `packageContentEqual`, `evidenceOnlyDrift`, `freshReleaseCandidateRequired`, `diagnostics[].code`, `changedPackageFiles[].status`| Diagnostics and ref labels are redacted; no temp worktree path, private path, token-looking value, Bearer value, auth env assignment, raw stdout/stderr, workflow log, prompt, tarball shasum, or pack shasum. |
@@ -117,3 +118,5 @@ Downloaded release-candidate artifacts are normalized with `npm run release:arti
117
118
Main release-candidate evidence uses `agent-cli-runtime.mainReleaseCandidateEvidence.v1` and is generated with `npm run release:main-candidate:evidence -- --stage <stage> --release-target-sha <origin-main-sha> --local-release-dir <local-strict-dir> --remote-run-json <run.json> --artifacts-json <artifacts.json> --downloaded-dir <normalized-artifact-dir> --out .release-evidence/<stage-lower>-main-release-candidate.json`. The stage label accepts current phase labels such as `P9-2` and is not tied to P8. The summary binds `releaseTargetSha` to `origin/main`, records local strict compatibility and release verification, records a fresh `release-candidate.yml --ref main` run with matching `headSha`, and lists P8 main release-candidate files only under `historicalMainEvidence` with `historical: true` and `currentMainFreshEvidence: false`.
118
119
119
120
Package content equivalence uses `agent-cli-runtime.packageContentEquivalence.v1` and is run with `npm run release:package-content:verify -- --base-ref <release-target-sha> --head-ref <sha-or-ref>`. It compares npm package-visible files from temporary git worktrees by package-relative file list, mode, size, and file-content hashes. It does not treat gzip/tarball bytes as the only equivalence signal. Package-external evidence, tests, and repo-only scripts can produce `evidenceOnlyDrift: true` with `freshReleaseCandidateRequired: false`; package-visible README/docs/package.json/dist/types/bin/examples changes produce package content drift and require fresh release-candidate evidence before the head ref is treated as a release target.
121
+
122
+
Stable surface regression checking uses `agent-cli-runtime.stableSurfaceCheck.v1` and is run with `npm run stable:surface:check` after `npm run build`. It verifies the package-root runtime value export, root declaration boundary, schema inventory documentation, terminal/classification vocabularies, experimental adapter-surface classification, and npm package exclusions for repo-only paths and scripts. This is a beta-candidate repository/release gate, not a runtime public API schema for package consumers.
Copy file name to clipboardExpand all lines: docs/release-checklist.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,8 @@ Run these before treating a future alpha version as a local release candidate:
24
24
npm test
25
25
npm run typecheck
26
26
npm run lint
27
+
npm run build
28
+
npm run stable:surface:check
27
29
npm run package:check
28
30
npm run package:docs:check
29
31
npm run compat:real:evidence:verify
@@ -41,6 +43,8 @@ Acceptance:
41
43
-[x]`npm test` passes.
42
44
-[x]`npm run typecheck` passes.
43
45
-[x]`npm run lint` passes.
46
+
-[x]`npm run build` passes before build-output gates.
47
+
-[x]`npm run stable:surface:check` passes with `schemaVersion: "agent-cli-runtime.stableSurfaceCheck.v1"` and keeps package-root value exports limited to `createAgentRuntime`.
44
48
-[x]`npm run package:check` passes and rejects `.release-evidence/` plus `.reference/` if they appear in pack metadata.
45
49
-[x]`npm run package:docs:check` unpacks the local tarball and rejects stale publish-state claims for this version, dry-run stop wording, publish-ready candidate wording, and old current dist-tag claims.
46
50
-[x]`npm run compat:real:evidence:verify` passes without launching authenticated real agent runs.
@@ -111,7 +115,7 @@ The package must not contain:
111
115
- The package root value export remains `createAgentRuntime`.
112
116
- The schema inventory and versioning policy live in [docs/api-schema-contract.md](./api-schema-contract.md).
113
117
- The daemon/product shell embedding contract lives in [docs/daemon-ready-contract.md](./daemon-ready-contract.md).
114
-
-`agent-cli-runtime.releaseVerification.v1`, `agent-cli-runtime.releaseGateEvidence.v1`, `agent-cli-runtime.mainReleaseCandidateEvidence.v1`, and `agent-cli-runtime.packagedDocsVerification.v1` are release artifact schemas.
118
+
-`agent-cli-runtime.releaseVerification.v1`, `agent-cli-runtime.releaseGateEvidence.v1`, `agent-cli-runtime.mainReleaseCandidateEvidence.v1`, `agent-cli-runtime.packagedDocsVerification.v1`, and `agent-cli-runtime.stableSurfaceCheck.v1` are release or repository gate schemas.
Package-content drift review uses `npm run release:package-content:verify -- --base-ref <release-target-sha> --head-ref <sha-or-ref>`. The verifier emits `schemaVersion: "agent-cli-runtime.packageContentEquivalence.v1"` and compares the npm package file list plus file-content hashes for both refs from temporary git worktrees. `.release-evidence/`, tests, and repo-only scripts can change without changing package content; README, README.zh-CN, packaged docs, package.json, dist, type declarations, bin files, examples, and other package-visible files trigger `freshReleaseCandidateRequired: true` when their package content differs. The P8-8 evidence file is `.release-evidence/p8-8-package-content-equivalence.json`. It is a package-content decision, not a replacement for fresh main release-candidate workflow evidence.
98
98
99
+
Stable surface regression review uses `npm run stable:surface:check` after `npm run build`. The verifier emits `schemaVersion: "agent-cli-runtime.stableSurfaceCheck.v1"` and checks the package-root runtime value export, root declarations, schema inventory docs, terminal/classification vocabularies, experimental adapter-surface classification, and repo-only package exclusions. It is a local repository/release gate; it does not publish npm, create a GitHub Release, launch authenticated real agent runs, or make `dist/**` subpaths public API.
100
+
99
101
## Package Boundary
100
102
101
103
The npm package may include stable docs, examples, `dist/`, and the runtime entrypoints. It must not include:
@@ -123,6 +125,7 @@ The API and CLI schema inventory, versioning policy, root export boundary, and f
Copy file name to clipboardExpand all lines: docs/stable-readiness.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,6 +31,7 @@ The project remains pre-alpha / developer preview. The labels below describe rea
31
31
| Built-in adapter values, parser helpers, executable resolution, stores, schedulers, task-graph helpers, and storage modules |`internal`| These are implementation details and must not be documented as public API. |
32
32
| Daemon embedding gate and runtime safety gate |`beta-candidate`|`daemon:verify` and `runtime:safety` prove installed-tarball local-kernel behavior with fake CLIs. They do not create a hosted daemon contract. |
33
33
| Release verification, published verification, package-content, packaged-docs, and compatibility evidence schemas |`beta-candidate`| These are repository/release gate contracts. They are not runtime public API for package consumers. |
34
+
| Stable surface regression gate |`beta-candidate`|`npm run stable:surface:check` emits `agent-cli-runtime.stableSurfaceCheck.v1` and verifies package-root exports, public declarations, schema inventory docs, frozen CLI vocabularies, experimental adapter-surface classification, and repo-only package exclusions. It is a repository/release gate, not runtime public API. |
34
35
| Repo-only scripts for release evidence, real compatibility evidence, published verification, package-content equivalence, artifact normalization, and package checks |`internal`| Script outputs can be versioned, but the scripts themselves are repository workflow surfaces, not package-root public contract. |
35
36
|`.release-evidence/`, downloaded verification material, raw workflow logs, and local machine observations |`internal`| These are evidence inputs or summaries outside the npm package boundary. |
36
37
@@ -62,13 +63,15 @@ This list is synchronized with `src/core/schema-contract.ts`.
"prepublish:check": "npm run typecheck && npm run lint && npm test && npm run build && npm run daemon:verify && npm run runtime:safety && npm run compat:real:evidence:verify && npm run dogfood && npm audit --omit=dev && npm run package:check && npm pack --dry-run",
57
+
"prepublish:check": "npm run typecheck && npm run lint && npm test && npm run build && npm run stable:surface:check && npm run daemon:verify && npm run runtime:safety && npm run compat:real:evidence:verify && npm run dogfood && npm audit --omit=dev && npm run package:check && npm pack --dry-run",
0 commit comments