agent-cli-runtime 0.1.0-alpha.1 → 0.1.0-alpha.3
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/CHANGELOG.md +34 -0
- package/README.md +45 -9
- package/README.zh-CN.md +45 -9
- package/dist/cli/main.js +0 -0
- package/dist/core/schema-contract.d.ts +10 -0
- package/dist/core/schema-contract.js +36 -0
- package/dist/core/schema-contract.js.map +1 -1
- package/docs/api-schema-contract.md +14 -3
- package/docs/compatibility.md +82 -30
- package/docs/daemon-ready-contract.md +51 -0
- package/docs/production-readiness.md +44 -15
- package/docs/release-checklist.md +127 -266
- package/docs/release-publish-runbook.md +45 -39
- package/docs/release-report.md +72 -472
- package/docs/ssot.md +48 -32
- package/package.json +12 -3
|
@@ -1,268 +1,129 @@
|
|
|
1
1
|
# Release Checklist (pre-alpha / developer preview)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
-
|
|
7
|
-
|
|
8
|
-
- [
|
|
9
|
-
- [
|
|
10
|
-
- [
|
|
11
|
-
- [
|
|
12
|
-
- [
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
- [x]
|
|
17
|
-
- [x]
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
- [x]
|
|
42
|
-
- [x]
|
|
43
|
-
- [x]
|
|
44
|
-
- [x]
|
|
45
|
-
- [x]
|
|
46
|
-
- [x]
|
|
47
|
-
- [x]
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
- [x]
|
|
52
|
-
- [x]
|
|
53
|
-
- [x]
|
|
54
|
-
- [x]
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
- [
|
|
61
|
-
- [
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
- [
|
|
66
|
-
- [
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
- [x] `npm publish --dry-run --ignore-scripts --tag alpha` passed locally on 2026-06-22 and reported `Publishing to https://registry.npmjs.org/ with tag alpha ... (dry-run)`.
|
|
131
|
-
- [x] `npm pack --dry-run` includes release docs, including `docs/release-publish-runbook.md`, and excludes `.reference/`, tests, fixtures, raw real CLI output, private paths, and token-looking values.
|
|
132
|
-
- [x] `.github/workflows/ci.yml` and `.github/workflows/release-candidate.yml` still contain no `npm publish`, no npm token setup, and no registry credential requirement.
|
|
133
|
-
- [x] P2-13 records publish readiness only; it does not publish npm, create npm tokens, configure trusted publishing, publish a GitHub release, or launch authenticated real agent runs.
|
|
134
|
-
|
|
135
|
-
## P2-12 release candidate gate
|
|
136
|
-
|
|
137
|
-
- [x] `npm ci` — passed in remote release-candidate run `27869580048`.
|
|
138
|
-
- [x] `npm run typecheck` — passed locally on 2026-06-20.
|
|
139
|
-
- [x] `npm run lint` — passed locally on 2026-06-20.
|
|
140
|
-
- [x] `npm test` — passed locally on 2026-06-20 with 170 tests.
|
|
141
|
-
- [x] `npm run build` — passed locally on 2026-06-20.
|
|
142
|
-
- [x] `npm run daemon:verify` — passed locally on 2026-06-22.
|
|
143
|
-
- [x] `npm run ci` — passed in remote release-candidate run `27869580048`.
|
|
144
|
-
- [x] `npm run dogfood` — passed locally and in remote release-candidate run `27869580048`.
|
|
145
|
-
- [x] `npm run runtime:safety` — passed locally on 2026-06-22.
|
|
146
|
-
- [x] `npm run prepublish:check` — passed locally on 2026-06-22 with `runtime:safety` included.
|
|
147
|
-
- [x] `npm run release:candidate -- --out-dir <temp-dir>` — passed locally on 2026-06-20.
|
|
148
|
-
- [x] `npm run release:verify -- --dir <temp-dir>` — passed locally and against downloaded remote artifacts.
|
|
149
|
-
- [ ] `node ./dist/cli/main.js conformance --mode fixtures --json`
|
|
150
|
-
- [ ] `node ./dist/cli/main.js conformance --mode fake --json`
|
|
151
|
-
- [x] `node ./dist/cli/main.js conformance --mode real --agent all --json` — passed locally without `--allow-real-run`.
|
|
152
|
-
- [ ] `node ./dist/cli/main.js smoke --mode fixtures --json`
|
|
153
|
-
- [x] `node ./dist/cli/main.js agents --json` — passed locally on 2026-06-20.
|
|
154
|
-
- [x] `node ./dist/cli/main.js doctor --json` — passed locally on 2026-06-20.
|
|
155
|
-
- [ ] `node ./dist/cli/main.js store-health --storage-dir <empty-temp-dir> --json`
|
|
156
|
-
- [ ] `node ./dist/cli/main.js store-repair --storage-dir <empty-temp-dir> --dry-run --json`
|
|
157
|
-
- [ ] Error contract: `node ./dist/cli/main.js run --json` exits `1` and prints parseable redacted JSON.
|
|
158
|
-
- [ ] Error contract: `node ./dist/cli/main.js store-health --json` exits `1` and prints parseable redacted JSON.
|
|
159
|
-
- [ ] Error contract: `node ./dist/cli/main.js store-repair --storage-dir <temp-dir> --apply --dry-run --json` exits `1` and prints parseable redacted JSON.
|
|
160
|
-
- [ ] `node ./dist/cli/main.js store-repair --storage-dir <corrupt-fixture-temp-dir> --dry-run --json`
|
|
161
|
-
- [ ] `node ./dist/cli/main.js store-repair --storage-dir <corrupt-fixture-temp-dir> --apply --json`
|
|
162
|
-
- [ ] `node ./dist/cli/main.js store-health --storage-dir <corrupt-fixture-temp-dir> --json`
|
|
163
|
-
- [x] `npm audit --omit=dev` — passed inside `npm run prepublish:check`.
|
|
164
|
-
- [x] `npm run package:check` — passed locally on 2026-06-20.
|
|
165
|
-
- [x] `npm pack --dry-run` — passed locally and inside `npm run prepublish:check`.
|
|
166
|
-
- [x] `npm publish --dry-run --ignore-scripts --tag alpha` — passed locally as dry-run with `tag alpha`.
|
|
167
|
-
|
|
168
|
-
`npm run dogfood` is the default publish-readiness bundle. It rebuilds, runs offline fixtures/fake conformance, runs real local detection/profile conformance without `--allow-real-run`, executes fake-CLI examples, performs a pack dry-run, and installs the packed tarball into a temporary project for package-root import, TypeScript `tsc --noEmit`, fake library run/goal/replay/diagnostics, and installed CLI smoke.
|
|
169
|
-
|
|
170
|
-
`npm run prepublish:check` is the local release-candidate guard. It combines typecheck, lint, tests, build, daemon verification, runtime safety verification, dogfood, production audit, package boundary checking, and pack dry-run. It must not run authenticated real agents.
|
|
171
|
-
|
|
172
|
-
`npm publish --dry-run --ignore-scripts --tag alpha` is a manual local safety check only. It must show `tag alpha`, must not publish, and must not require an npm token. Keep it out of required CI unless the output is proven stable enough for this repository.
|
|
173
|
-
|
|
174
|
-
`npm test` uses Vitest's verbose reporter for default contract coverage. Slower installed-package gates and install smokes are kept out of the Node.js matrix and run through single-Node release gates, `dogfood`, `prepublish:check`, or explicit opt-in checks.
|
|
175
|
-
|
|
176
|
-
## GitHub Actions release candidate
|
|
177
|
-
|
|
178
|
-
P2-12 remote evidence, observed on 2026-06-20, remains historical evidence for commit `2f8832119b4ebdb8393077052560589a398ebf56`. P3-5 release-candidate evidence is workflow run `27932628093` for workflow head SHA `8d7bc2a19c626caa1ad5223acbcd35df34aff18e`; P3-8 release-candidate evidence is workflow run `27940814340` for target SHA `eb8de0f9b1edfa3f94c35a50b31005c5d3c105d4`; P3-9 interim release-candidate evidence is workflow run `27942743285` for target SHA `a0299a7d81bb614661922bebc8c75496cf0a3d11`; P3-9 release-candidate evidence is workflow run `27943672095` for locked evidence target SHA `65fac505ca3eb830a06d8656068cf4ed5f6dd46a`.
|
|
179
|
-
|
|
180
|
-
All historical runs above are historical after the P3-10 evidence packet. P3-10 pre-documentation release-candidate evidence is workflow run `27945938663` for SHA `fdba3ebccb2e57a0ad295101028a2a3937a92204`; it must not be reused as final publish evidence after this packaged packet is committed.
|
|
181
|
-
|
|
182
|
-
- [x] Trigger `.github/workflows/release-candidate.yml` manually with `workflow_dispatch` for the P3-10 pre-documentation SHA.
|
|
183
|
-
- [ ] After committing this P3-10 evidence packet, trigger another fresh `.github/workflows/release-candidate.yml` run for the post-documentation commit before any real publish.
|
|
184
|
-
- [x] Confirm the workflow is configured to run `npm ci`, `npm run ci`, `npm run dogfood`, and `npm run release:candidate -- --out-dir release-candidate`.
|
|
185
|
-
- [x] Confirm dogfood output is limited to fixtures, fake CLIs, and real local detection/profile certification without `--allow-real-run`.
|
|
186
|
-
- [x] Confirm `npm run release:candidate` is configured to create a tarball artifact, gate evidence, and release verification JSON but no `npm publish` step exists.
|
|
187
|
-
- [x] Download and review the uploaded artifacts:
|
|
188
|
-
- `agent-cli-runtime-tarball`
|
|
189
|
-
- `agent-cli-runtime-pack-metadata`
|
|
190
|
-
- `agent-cli-runtime-package-files`
|
|
191
|
-
- `agent-cli-runtime-gate-evidence`
|
|
192
|
-
- `agent-cli-runtime-release-verification`
|
|
193
|
-
- [x] Recreate a review directory from downloaded artifacts and run `npm run release:verify -- --dir /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/normalized`.
|
|
194
|
-
- [x] Confirm `release-verification.json` uses `schemaVersion: "agent-cli-runtime.releaseVerification.v1"`, has `ok: true`, package file count `151`, and empty diagnostics.
|
|
195
|
-
- [x] Confirm `gate-evidence.json` uses `schemaVersion: "agent-cli-runtime.releaseGateEvidence.v1"` and records `daemon:verify` plus `runtime:safety` with `packageSource: "installed-tarball"`.
|
|
196
|
-
- [x] Confirm no npm token, npm provenance publish, or registry credential is required.
|
|
197
|
-
- [x] Confirm artifacts use the documented 14-day retention window.
|
|
198
|
-
|
|
199
|
-
## Package boundary verification
|
|
200
|
-
|
|
201
|
-
- [x] `npm run package:check`.
|
|
202
|
-
- [x] `npm run release:verify -- --dir <release-candidate-or-downloaded-artifact-dir>`.
|
|
203
|
-
- [ ] `npm pack --json` and confirm package files do not include:
|
|
204
|
-
- `.reference/`
|
|
205
|
-
- `tests/`
|
|
206
|
-
- `tests/fixtures/`
|
|
207
|
-
- raw fixtures
|
|
208
|
-
- fault fixtures
|
|
209
|
-
- `repair-backups/`
|
|
210
|
-
- raw corrupt samples
|
|
211
|
-
- fixture secrets / private paths
|
|
212
|
-
- raw real CLI output
|
|
213
|
-
- real provider tokens or token-looking values.
|
|
214
|
-
- [ ] Confirm `dist/`, docs, examples, `scripts/dogfood.mjs`, README files, LICENSE, and release docs are included.
|
|
215
|
-
- [ ] Confirm `docs/release-report.md` is included.
|
|
216
|
-
- [ ] Confirm package root value exports remain limited to `createAgentRuntime`; replay, diagnostics, and storage inspection are facade methods plus public type exports only.
|
|
217
|
-
- [ ] Confirm built `dist/index.d.ts` does not re-export package-root types from `storage/`, parser, store, or adapter instance internals.
|
|
218
|
-
|
|
219
|
-
## Install smoke
|
|
220
|
-
|
|
221
|
-
- [ ] `repo_root="${GITHUB_WORKSPACE:-$(pwd -P)}"`.
|
|
222
|
-
- [ ] `tmp_dir="$(mktemp -d /tmp/agent-runtime-release-XXXXXX)"`.
|
|
223
|
-
- [ ] `pack_info="$(cd "$repo_root" && npm pack --json --ignore-scripts --pack-destination "$tmp_dir")"`.
|
|
224
|
-
- [ ] `package_file="$(printf '%s' "$pack_info" | node -e "const data = JSON.parse(require('node:fs').readFileSync(0, 'utf8')); process.stdout.write(data[0].filename);")"`.
|
|
225
|
-
- [ ] `pushd "$tmp_dir"`.
|
|
226
|
-
- [ ] `npm init -y`.
|
|
227
|
-
- [ ] `npm install "$tmp_dir/$package_file" --no-save --ignore-scripts --no-audit --no-fund`.
|
|
228
|
-
- [ ] `node -e "(async()=>{ const m = await import('agent-cli-runtime'); if (typeof m.createAgentRuntime !== 'function') process.exit(1); console.log(typeof m.createAgentRuntime); })()"`.
|
|
229
|
-
- [ ] Create `consumer.ts` importing `createAgentRuntime`, `RunRequest`, `CreateGoalRequest`, and other public types from `agent-cli-runtime`.
|
|
230
|
-
- [ ] Run `tsc --noEmit` in the temporary consumer project.
|
|
231
|
-
- [ ] Create a fake consumer adapter/CLI and run installed-package library `run`, `createGoal`, `replayRunEvents`, `replayGoalEvents`, `exportDiagnostics`, and `inspectStore`.
|
|
232
|
-
- [ ] `node ./node_modules/.bin/agent-runtime agents --json` returns JSON.
|
|
233
|
-
- [ ] `node ./node_modules/.bin/agent-runtime doctor --json` returns an object with `ok`.
|
|
234
|
-
- [ ] `node ./node_modules/.bin/agent-runtime conformance --mode fixtures --json` returns stable adapter summaries.
|
|
235
|
-
- [ ] `node ./node_modules/.bin/agent-runtime conformance --mode fake --json` returns stable adapter summaries.
|
|
236
|
-
- [ ] `node ./node_modules/.bin/agent-runtime smoke --mode fixtures --json` returns `{ ok: true, mode: "fixtures" }`.
|
|
237
|
-
- [ ] The install smoke uses fake/local CLIs for deterministic `agents` and `doctor` checks; it does not require real auth.
|
|
238
|
-
|
|
239
|
-
## Examples smoke
|
|
240
|
-
|
|
241
|
-
- [ ] `node examples/library-run.js` succeeds after `npm run build`.
|
|
242
|
-
- [ ] `node examples/library-goal.js` succeeds after `npm run build`.
|
|
243
|
-
- [ ] `examples/cli-dogfood.md` documents fixtures, fake, and real-profile conformance.
|
|
244
|
-
- [ ] Examples contain no real token, real user path, provider secret, complete prompt dump, or raw real CLI output.
|
|
245
|
-
|
|
246
|
-
## Artifact review
|
|
247
|
-
|
|
248
|
-
- [ ] `CHANGELOG.md`, `SECURITY.md`, `CONTRIBUTING.md` are present and up to date.
|
|
249
|
-
- [ ] `README.md` and `README.zh-CN.md` explain npm install, `npx`, and local checkout paths.
|
|
250
|
-
- [x] `README.md` and `README.zh-CN.md` explain Codex / Claude / OpenCode configuration without token values.
|
|
251
|
-
- [x] Claude Anthropic-compatible provider docs list environment variable names/placeholders only; no real token values.
|
|
252
|
-
- [x] `docs/compatibility.md` is refreshed with the 2026-06-22 P3-6 real conformance detection/preflight evidence plus opt-in smoke evidence and does not describe skipped/auth-missing runs as real-run success.
|
|
253
|
-
- [x] `docs/ssot.md`, `docs/compatibility.md`, and `docs/production-readiness.md` are synced to current release-readiness status.
|
|
254
|
-
- [x] `docs/release-report.md` records local commands, remote workflow evidence, artifact checklist, package boundary, real CLI evidence boundary, known risks, and explicit non-goals.
|
|
255
|
-
- [x] `docs/production-readiness.md` names remaining known risks rather than treating skipped/preflight evidence as real run success.
|
|
256
|
-
|
|
257
|
-
## Final review notes
|
|
258
|
-
|
|
259
|
-
- [x] No stable API guarantee language is used for this release track.
|
|
260
|
-
- [x] Confirm no daemon/WAL/remote runtime promises are made in public docs.
|
|
261
|
-
- [x] Confirm OpenDesign daemon-level gaps are named without implying parity.
|
|
262
|
-
- [x] Confirm authenticated real conformance runs require `--allow-real-run` and safely skip unauthorized CLIs.
|
|
263
|
-
- [x] Confirm `conformance --mode real --agent all --json` without `--allow-real-run` does not launch real agent runs.
|
|
264
|
-
- [x] Confirm optional real run docs use isolated cwd by default and make `--allow-real-run` the explicit account/network boundary.
|
|
265
|
-
- [x] Confirm status-only exit `0` real smoke remains `unexpected_output`, not success.
|
|
266
|
-
- [ ] Confirm package install smoke is covered by `npm run dogfood` and remains available as the explicit `AGENT_RUNTIME_RUN_INSTALLED_PACKAGE_TESTS=1` contract test path.
|
|
267
|
-
- [ ] Confirm `store-repair --apply` remains opt-in, holds the local store lease while writing, creates atomic backups, refuses live owners, records redacted repair success/failure diagnostics, leaves original logs untouched on backup/rewrite failure, is idempotent, and does not claim WAL/database/daemon resume semantics.
|
|
268
|
-
- [ ] Confirm crash consistency tests cover manifest rename failure, JSONL append failure, repair backup/rewrite failure, fsync/fdatasync fallback, lock takeover/close behavior, corrupt lock read-only CLI inspection, and diagnostics redaction.
|
|
3
|
+
Status: `0.1.0-alpha.3` corrective pre-alpha release
|
|
4
|
+
Last updated: 2026-06-26
|
|
5
|
+
|
|
6
|
+
## P7-5 Alpha.3 Corrective Release
|
|
7
|
+
|
|
8
|
+
- [x] Prepare package metadata for `0.1.0-alpha.3` in `package.json` and `package-lock.json`.
|
|
9
|
+
- [x] Record that `0.1.0-alpha.2` is published but its immutable npm tarball contains stale pre-publish package docs.
|
|
10
|
+
- [x] Recommend `0.1.0-alpha.3` as the corrective pre-alpha release for package consumers.
|
|
11
|
+
- [x] Keep `0.1.0-alpha.1` and GitHub pre-release `v0.1.0-alpha.1` documented as earlier alpha history.
|
|
12
|
+
- [x] Keep `0.1.0-alpha.0` documented as deprecated because its immutable package docs shipped stale pre-publish state.
|
|
13
|
+
- [x] Keep npm registry metadata and GitHub Releases as the source of truth for available versions and dist-tags.
|
|
14
|
+
- [x] Add a local packaged-docs gate that runs an actual pack, unpacks the tarball, and scans the docs that enter the package.
|
|
15
|
+
- [x] Add a published verification gate that downloads and unpacks `agent-cli-runtime@<version>` from the npm registry before accepting package-docs state.
|
|
16
|
+
- [x] Keep `.release-evidence/` and `.reference/` outside npm package contents.
|
|
17
|
+
- [x] Keep volatile run ids, artifact ids, artifact digests, tarball hashes, pack hashes, local temporary paths, raw logs, raw CLI output, full prompts, and token-looking values outside packaged docs.
|
|
18
|
+
|
|
19
|
+
## Local Verification
|
|
20
|
+
|
|
21
|
+
Run these before treating a future alpha version as a local release candidate:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm test
|
|
25
|
+
npm run typecheck
|
|
26
|
+
npm run lint
|
|
27
|
+
npm run package:check
|
|
28
|
+
npm run package:docs:check
|
|
29
|
+
npm run compat:real:evidence:verify
|
|
30
|
+
npm run release:candidate -- --out-dir <tmp-dir>
|
|
31
|
+
npm run release:verify -- --dir <tmp-dir>
|
|
32
|
+
npm pack --dry-run
|
|
33
|
+
npm publish --dry-run --ignore-scripts --tag alpha
|
|
34
|
+
node ./dist/cli/main.js agents --json
|
|
35
|
+
node ./dist/cli/main.js doctor --json
|
|
36
|
+
git diff --check
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Acceptance:
|
|
40
|
+
|
|
41
|
+
- [x] `npm test` passes.
|
|
42
|
+
- [x] `npm run typecheck` passes.
|
|
43
|
+
- [x] `npm run lint` passes.
|
|
44
|
+
- [x] `npm run package:check` passes and rejects `.release-evidence/` plus `.reference/` if they appear in pack metadata.
|
|
45
|
+
- [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
|
+
- [x] `npm run compat:real:evidence:verify` passes without launching authenticated real agent runs.
|
|
47
|
+
- [x] `npm run release:candidate -- --out-dir <tmp-dir>` produces the five-artifact release-candidate set.
|
|
48
|
+
- [x] `npm run release:verify -- --dir <tmp-dir>` passes with `schemaVersion: "agent-cli-runtime.releaseVerification.v1"`, `ok: true`, and empty diagnostics.
|
|
49
|
+
- [x] `gate-evidence.json` contains `daemon:verify`, `runtime:safety`, and `compat:real:evidence:verify`.
|
|
50
|
+
- [x] `npm pack --dry-run` shows only expected package files.
|
|
51
|
+
- [x] `npm publish --dry-run --ignore-scripts --tag alpha` passes as a dry-run and reports `tag alpha`.
|
|
52
|
+
- [x] `node ./dist/cli/main.js agents --json` returns parseable JSON.
|
|
53
|
+
- [x] `node ./dist/cli/main.js doctor --json` returns parseable JSON.
|
|
54
|
+
- [x] `git diff --check` passes.
|
|
55
|
+
|
|
56
|
+
## Human Publish Gate
|
|
57
|
+
|
|
58
|
+
Do not run a real publish, deprecate an existing version, or create/modify a GitHub Release without explicit maintainer authorization. Before any later publish:
|
|
59
|
+
|
|
60
|
+
- [ ] Trigger a fresh manual release-candidate workflow for the exact commit being considered.
|
|
61
|
+
- [ ] Download all five artifacts into a local review directory.
|
|
62
|
+
- [ ] Run `npm run release:verify -- --dir <normalized-artifact-dir>` on the downloaded artifacts.
|
|
63
|
+
- [ ] Confirm the workflow head SHA equals the commit selected for publish.
|
|
64
|
+
- [ ] Run `npm publish --dry-run --ignore-scripts --tag alpha`.
|
|
65
|
+
- [ ] Run `npm run package:docs:check` and confirm it inspected the local packed tarball.
|
|
66
|
+
- [ ] Obtain separate explicit maintainer authorization for the real publish.
|
|
67
|
+
- [ ] Run real `npm publish --tag alpha` only after that authorization.
|
|
68
|
+
- [ ] After publish, verify npm registry state, run the published package verification workflow, and confirm registry tarball docs pass `agent-cli-runtime.packagedDocsVerification.v1`.
|
|
69
|
+
|
|
70
|
+
## Release-Candidate Artifact Contract
|
|
71
|
+
|
|
72
|
+
The candidate artifact set is exactly:
|
|
73
|
+
|
|
74
|
+
- `agent-cli-runtime-tarball`
|
|
75
|
+
- `agent-cli-runtime-pack-metadata`
|
|
76
|
+
- `agent-cli-runtime-package-files`
|
|
77
|
+
- `agent-cli-runtime-gate-evidence`
|
|
78
|
+
- `agent-cli-runtime-release-verification`
|
|
79
|
+
|
|
80
|
+
`agent-cli-runtime-gate-evidence` must record:
|
|
81
|
+
|
|
82
|
+
- `daemon:verify`
|
|
83
|
+
- `runtime:safety`
|
|
84
|
+
- `compat:real:evidence:verify`
|
|
85
|
+
|
|
86
|
+
It must also keep:
|
|
87
|
+
|
|
88
|
+
- `noAuthenticatedRealRun: true`
|
|
89
|
+
- `noNpmPublish: true`
|
|
90
|
+
- `noNpmToken: true`
|
|
91
|
+
|
|
92
|
+
## Package Boundary
|
|
93
|
+
|
|
94
|
+
The package must not contain:
|
|
95
|
+
|
|
96
|
+
- `.release-evidence/`
|
|
97
|
+
- `.reference/`
|
|
98
|
+
- `tests/`
|
|
99
|
+
- fixtures
|
|
100
|
+
- raw real CLI output
|
|
101
|
+
- local temporary review directories
|
|
102
|
+
- private user paths
|
|
103
|
+
- full prompts
|
|
104
|
+
- raw stdout/stderr transcripts
|
|
105
|
+
- token-looking values
|
|
106
|
+
- Bearer values
|
|
107
|
+
- auth environment assignment values
|
|
108
|
+
|
|
109
|
+
## Stable Contract Reminders
|
|
110
|
+
|
|
111
|
+
- The package root value export remains `createAgentRuntime`.
|
|
112
|
+
- The schema inventory and versioning policy live in [docs/api-schema-contract.md](./api-schema-contract.md).
|
|
113
|
+
- 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`, and `agent-cli-runtime.packagedDocsVerification.v1` are release artifact schemas.
|
|
115
|
+
|
|
116
|
+
## Schema Vocabulary
|
|
117
|
+
|
|
118
|
+
Smoke and conformance classifications remain:
|
|
119
|
+
|
|
120
|
+
- `success`
|
|
121
|
+
- `real_run_skipped`
|
|
122
|
+
- `auth_missing`
|
|
123
|
+
- `unavailable_executable`
|
|
124
|
+
- `unsupported_flag`
|
|
125
|
+
- `needs_verification`
|
|
126
|
+
- `unexpected_output`
|
|
127
|
+
- `cwd_mutated`
|
|
128
|
+
- `timeout`
|
|
129
|
+
- `failed`
|