agent-cli-runtime 0.1.0-alpha.1 → 0.1.0-alpha.2
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 +19 -0
- package/README.md +44 -9
- package/README.zh-CN.md +44 -9
- 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 +115 -266
- package/docs/release-publish-runbook.md +35 -19
- package/docs/release-report.md +73 -470
- package/docs/ssot.md +47 -31
- package/package.json +10 -2
package/docs/release-report.md
CHANGED
|
@@ -1,517 +1,120 @@
|
|
|
1
|
-
# Release Report: 0.1.0-alpha.
|
|
1
|
+
# Release Report: 0.1.0-alpha.2 Publish Dry-Run
|
|
2
2
|
|
|
3
|
-
Status:
|
|
4
|
-
Last updated: 2026-06-
|
|
3
|
+
Status: `0.1.0-alpha.1` published; `0.1.0-alpha.2` publish-ready release candidate / dry-run stop point
|
|
4
|
+
Last updated: 2026-06-25
|
|
5
5
|
|
|
6
|
-
This report
|
|
6
|
+
This report is the packaged, stable release-state summary. Volatile release evidence such as current workflow run ids, artifact ids, artifact digests, tarball hashes, pack hashes, local temporary paths, command transcripts, raw logs, raw CLI output, prompt text, and token-looking values belongs outside the npm package under `.release-evidence/` or durable GitHub Release assets.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
P3-7 freezes the public root boundary, daemon-facing CLI JSON schema inventory, version bump policy, and failure taxonomy in [docs/api-schema-contract.md](./api-schema-contract.md), with drift tests tying the docs to source-level schema/failure vocabularies.
|
|
11
|
-
|
|
12
|
-
P3-11 moves current-head release-candidate run evidence out of packaged docs: volatile run ids, artifact ids, artifact digests, tarball shasums, and pack shasums belong under `.release-evidence/` or durable GitHub Release assets. Packaged docs keep stable rules only: trigger a fresh release-candidate workflow for the commit being considered, download all five artifacts, run `npm run release:verify -- --dir <normalized-artifact-dir>`, verify the workflow head SHA equals that commit, and run `npm publish --dry-run --ignore-scripts --tag alpha` before any separately authorized real publish.
|
|
13
|
-
|
|
14
|
-
It preserves the product boundary: no trusted publishing setup, no committed npm token, no daemon/API server, no database/WAL, no remote worker, no UI/telemetry layer, and no authenticated real agent run in default gates. Historical P3-9 run `27943672095` only proves target SHA `65fac505ca3eb830a06d8656068cf4ed5f6dd46a`; Historical P3-9 interim run `27942743285` only proves target SHA `a0299a7d81bb614661922bebc8c75496cf0a3d11` before the strict `fixtures?` package-boundary lock; historical P3-8 run `27940814340` only proves target SHA `eb8de0f9b1edfa3f94c35a50b31005c5d3c105d4`; historical P3-5 run `27932628093` only proves workflow head SHA `8d7bc2a19c626caa1ad5223acbcd35df34aff18e`; historical P2-12 run `27869580048` only proves commit `2f8832119b4ebdb8393077052560589a398ebf56`. The package remains a pre-alpha developer preview, does not claim a stable API, and does not claim OpenDesign daemon parity.
|
|
15
|
-
|
|
16
|
-
## P3-11 Current-Head Evidence Boundary
|
|
17
|
-
|
|
18
|
-
P3-11 solves the P3-10 self-reference problem by separating stable package docs from volatile current-run evidence:
|
|
19
|
-
|
|
20
|
-
- Package docs may describe the release-candidate workflow, required artifacts, verification command, dry-run boundary, human publish gate, and historical evidence as historical only.
|
|
21
|
-
- Package docs must not record the current run id, artifact ids, artifact digests, tarball shasum, npm pack shasum, or private downloaded-artifact paths for the commit being considered.
|
|
22
|
-
- Volatile current-head evidence is recorded under `.release-evidence/`, which is outside `package.json` `files` and is explicitly rejected by package-boundary checks if it appears in npm pack metadata.
|
|
23
|
-
- A release-candidate workflow proves only the commit in its `headSha`. Historical runs must not be reused as proof for later commits.
|
|
24
|
-
- A dry-run is not a real publish. A true npm publish remains human-gated and requires a later explicit authorization.
|
|
25
|
-
|
|
26
|
-
## P3-10 Pre-Documentation Alpha Release Candidate Evidence
|
|
27
|
-
|
|
28
|
-
P3-10 refreshes release-candidate evidence for pre-documentation HEAD SHA `fdba3ebccb2e57a0ad295101028a2a3937a92204` after the P3-9 evidence-recording repair commit. It does not add runtime APIs, publish npm, configure npm tokens/trusted publishing, execute authenticated real agent runs, or add daemon/API server/database/WAL/remote-worker/UI/telemetry layers.
|
|
29
|
-
|
|
30
|
-
This report is the repository-resident evidence packet. The remote workflow evidence is intentionally commit-specific and proves only the pre-documentation SHA above and the tarball produced from that SHA. Run `27945938663` must not be used as final post-documentation publish evidence.
|
|
31
|
-
|
|
32
|
-
This repository includes `docs/release-report.md`, `docs/release-checklist.md`, `docs/release-publish-runbook.md`, and other release docs in `package.json` `files`. This means committing this packet changes the package shasum. Any commit that records the P3-10 evidence packet changes packaged content and therefore changes `npm pack` shasum. The final package selected for a real publish must be proven by a fresh release-candidate workflow after committing this packet, then re-downloaded and re-verified before publish.
|
|
33
|
-
|
|
34
|
-
Historical runs, including P3-9 run `27943672095`, must not be reused for this stage. The rule for later evidence-recording commits is that each must trigger its own fresh release-candidate run before being described as current release-candidate evidence.
|
|
35
|
-
|
|
36
|
-
Evidence target and worktree state before remote trigger:
|
|
37
|
-
|
|
38
|
-
- Branch: `main`.
|
|
39
|
-
- Pre-documentation HEAD SHA: `fdba3ebccb2e57a0ad295101028a2a3937a92204`.
|
|
40
|
-
- Initial worktree before the P3-10 remote trigger: clean.
|
|
41
|
-
- Local `main`, `origin/main`, and `HEAD` all resolved to `fdba3ebccb2e57a0ad295101028a2a3937a92204` before triggering the workflow.
|
|
42
|
-
|
|
43
|
-
P3-10 local validation evidence on 2026-06-22:
|
|
44
|
-
|
|
45
|
-
- `npm run typecheck`: passed.
|
|
46
|
-
- `npm run lint`: passed.
|
|
47
|
-
- `npm test`: passed with 196 tests and 1 skipped installed-package smoke.
|
|
48
|
-
- `npm run build`: passed.
|
|
49
|
-
- `npm run package:check`: passed with `package boundary ok: 151 files checked`.
|
|
50
|
-
- `npm run dogfood`: passed.
|
|
51
|
-
- `npm run daemon:verify`: passed with `schemaVersion: "agent-runtime.daemonVerification.v1"`, `ok: true`, and `packageSource: "installed-tarball"`.
|
|
52
|
-
- `npm run runtime:safety`: passed with `schemaVersion: "agent-runtime.runtimeSafety.v1"`, `ok: true`, and `packageSource: "installed-tarball"`.
|
|
53
|
-
- `npm run release:candidate -- --out-dir /tmp/agent-runtime-p3-10-local-release-candidate`: passed, producing `agent-cli-runtime-0.1.0-alpha.0.tgz`, `npm-pack.json`, `package-files.txt`, `gate-evidence.json`, and `release-verification.json`.
|
|
54
|
-
- `npm run release:verify -- --dir /tmp/agent-runtime-p3-10-local-release-candidate`: passed with `schemaVersion: "agent-cli-runtime.releaseVerification.v1"`, `ok: true`, package file count `151`, five artifact names, empty diagnostics, and gate evidence for `daemon:verify` plus `runtime:safety`.
|
|
55
|
-
- `npm audit --omit=dev`: passed with `found 0 vulnerabilities`.
|
|
56
|
-
- `npm pack --dry-run --json --ignore-scripts`: passed with `151` files and tarball `agent-cli-runtime-0.1.0-alpha.0.tgz`.
|
|
57
|
-
- `npm publish --dry-run --ignore-scripts --tag alpha`: passed as a dry-run; npm reported `Publishing to https://registry.npmjs.org/ with tag alpha and default access (dry-run)` and did not publish.
|
|
58
|
-
- `node ./dist/cli/main.js agents --json`: passed; Codex `codex-cli 0.142.0-alpha.6` and OpenCode `1.15.6` available, Claude Code `2.1.178` available with `auth_missing`.
|
|
59
|
-
- `node ./dist/cli/main.js doctor --json`: passed with `ok: true`; Claude Code remains `auth_missing`.
|
|
60
|
-
- `node ./dist/cli/main.js conformance --mode real --agent all --json`: passed without `--allow-real-run`; Codex and OpenCode reported `real_run_skipped`, Claude Code reported `auth_missing`.
|
|
61
|
-
- `node ./dist/cli/main.js smoke --mode real --agent codex --json`: exited `0` as safe preflight with `schemaVersion: "agent-runtime.realSmoke.v1"`, `ok: false`, and `runClassification: "real_run_skipped"`; no authenticated real run was launched.
|
|
62
|
-
- `git diff --check`: passed.
|
|
63
|
-
|
|
64
|
-
Remote workflow pre-documentation evidence:
|
|
8
|
+
## Current State
|
|
65
9
|
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
- Run status/conclusion: `completed` / `success`.
|
|
74
|
-
- Run created/updated: `2026-06-22T10:22:12Z` / `2026-06-22T10:23:33Z`.
|
|
75
|
-
- Job `Build release candidate artifacts` id `82690587870`, URL `https://github.com/iiwish/agent-cli-runtime/actions/runs/27945938663/job/82690587870`, started at `2026-06-22T10:22:18Z`, completed at `2026-06-22T10:23:33Z`, and concluded `success`.
|
|
76
|
-
- Steps `Install dependencies`, `Run CI gate`, `Run dogfood gate without authenticated real runs`, `Create npm pack artifact and gate evidence without publishing`, `Upload tarball`, `Upload pack metadata`, `Upload package file list`, `Upload daemon-ready gate evidence`, and `Upload release verification` all concluded `success`.
|
|
77
|
-
- Download directory: `/tmp/agent-runtime-p3-10-current-head-remote-66VIhN/downloaded`.
|
|
78
|
-
- Normalized review directory: `/tmp/agent-runtime-p3-10-current-head-remote-66VIhN/normalized`.
|
|
10
|
+
- Published npm package: `agent-cli-runtime@0.1.0-alpha.1`.
|
|
11
|
+
- Published GitHub pre-release: `v0.1.0-alpha.1`.
|
|
12
|
+
- `agent-cli-runtime@0.1.0-alpha.0` is deprecated because its immutable package docs shipped stale pre-publish status text.
|
|
13
|
+
- Candidate package metadata in this repository: `agent-cli-runtime@0.1.0-alpha.2`.
|
|
14
|
+
- `0.1.0-alpha.2` has fresh main release-candidate evidence and local publish dry-run evidence.
|
|
15
|
+
- `0.1.0-alpha.2` is not published and must not be described as published until a maintainer separately authorizes a real npm publish.
|
|
16
|
+
- Current npm dist-tags remain `alpha -> 0.1.0-alpha.1` and `latest -> 0.1.0-alpha.1`; while there is no stable version, this is recorded as current pre-alpha registry state rather than release failure evidence.
|
|
79
17
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
| Artifact | GitHub artifact id | Archive size | Digest | Expires |
|
|
83
|
-
| --- | ---: | ---: | --- | --- |
|
|
84
|
-
| `agent-cli-runtime-tarball` | `7789535097` | `225632` bytes | `sha256:698d80cd9ce86643396d7c9305424ac0f85cfe9d11bca654912048ed92118a34` | `2026-07-06T10:23:22Z` |
|
|
85
|
-
| `agent-cli-runtime-pack-metadata` | `7789535626` | `1998` bytes | `sha256:6c902654a5a8ddc8c5cb59c63efd82ef600d81488efc9eab7c98669a3e8eb564` | `2026-07-06T10:23:24Z` |
|
|
86
|
-
| `agent-cli-runtime-package-files` | `7789536134` | `961` bytes | `sha256:18b8adab4fc43d54389137cbdcf6db8e744f0a12c9498f88c0238c759ce39b79` | `2026-07-06T10:23:25Z` |
|
|
87
|
-
| `agent-cli-runtime-gate-evidence` | `7789536677` | `443` bytes | `sha256:458f63ff6b59a7b16ec8a918d7253a12e000563a7f9452ae932924902b6e0179` | `2026-07-06T10:23:27Z` |
|
|
88
|
-
| `agent-cli-runtime-release-verification` | `7789537198` | `649` bytes | `sha256:27e094fd6aad1b317d9073bef75a27336fe08850592c408d8861eb14df6e7633` | `2026-07-06T10:23:28Z` |
|
|
89
|
-
|
|
90
|
-
Downloaded artifact normalization:
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
gh run download 27945938663 --dir /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/downloaded
|
|
94
|
-
cp /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/downloaded/agent-cli-runtime-tarball/agent-cli-runtime-0.1.0-alpha.0.tgz /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/normalized/
|
|
95
|
-
cp /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/downloaded/agent-cli-runtime-pack-metadata/npm-pack.json /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/normalized/
|
|
96
|
-
cp /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/downloaded/agent-cli-runtime-package-files/package-files.txt /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/normalized/
|
|
97
|
-
cp /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/downloaded/agent-cli-runtime-gate-evidence/gate-evidence.json /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/normalized/
|
|
98
|
-
cp /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/downloaded/agent-cli-runtime-release-verification/release-verification.json /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/normalized/
|
|
99
|
-
npm run release:verify -- --dir /tmp/agent-runtime-p3-10-current-head-remote-66VIhN/normalized
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Downloaded artifact re-verification result:
|
|
103
|
-
|
|
104
|
-
- `schemaVersion`: `agent-cli-runtime.releaseVerification.v1`
|
|
105
|
-
- `ok`: `true`
|
|
106
|
-
- diagnostics: empty
|
|
107
|
-
- package file count: `151`
|
|
108
|
-
- artifact names: `agent-cli-runtime-tarball`, `agent-cli-runtime-pack-metadata`, `agent-cli-runtime-package-files`, `agent-cli-runtime-gate-evidence`, `agent-cli-runtime-release-verification`
|
|
109
|
-
- tarball: `agent-cli-runtime-0.1.0-alpha.0.tgz`
|
|
110
|
-
- tarball size: `225378` bytes
|
|
111
|
-
- tarball sha256: `b8a9c2beaaed18dd238c27065285362d1c3380e04be57d5f9cec7b198ddd786d`
|
|
112
|
-
- npm pack shasum: `513efc70dcc17d2ef58caed070dcf27a7a0eb90d`
|
|
113
|
-
- npm pack integrity: `sha512-mOpm9L3FbT+24WgKBQxKvbv90V/3odgekzBYmjPdIl4KzW4U0+P6yHk+02FC8ba1Tm1d6fgERoGqwsTiHC5uEA==`
|
|
114
|
-
- package name/version: `agent-cli-runtime@0.1.0-alpha.0`
|
|
115
|
-
- gate evidence schema: `agent-cli-runtime.releaseGateEvidence.v1`
|
|
116
|
-
- gate evidence commands: `npm run daemon:verify`, `npm run runtime:safety`
|
|
117
|
-
- gate evidence package source: both `installed-tarball`
|
|
118
|
-
- gate evidence flags: `noAuthenticatedRealRun: true`, `noNpmPublish: true`, `noNpmToken: true`
|
|
119
|
-
- package file review: 151 entries and no `.reference/`, `tests/`, fixture paths, raw real CLI output, private paths, token-looking values, Bearer values, or auth env assignments.
|
|
120
|
-
|
|
121
|
-
## 0.1.0-alpha.1 Corrective Alpha Publish Packet
|
|
122
|
-
|
|
123
|
-
Current package candidate: `agent-cli-runtime@0.1.0-alpha.1`.
|
|
124
|
-
|
|
125
|
-
Dry-run checkpoint before a separately authorized publish:
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
npm publish --dry-run --ignore-scripts --tag alpha
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
The real publish commands below must not be executed unless the user gives explicit publish authorization for this immutable version:
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
npm publish --tag alpha
|
|
135
|
-
npm publish --tag alpha --access public
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
Before any future real publish, a maintainer must manually confirm:
|
|
18
|
+
## Verdict
|
|
139
19
|
|
|
140
|
-
-
|
|
141
|
-
- After committing this corrective package-doc update, trigger a fresh `.github/workflows/release-candidate.yml` run for the new commit and verify that `gh run view <new-run-id> --json headSha,status,conclusion,url,jobs` shows that exact commit SHA and success.
|
|
142
|
-
- Do not use run `27945938663` or run `27998762396` as final publish evidence for a later corrective commit; each run proves only its own workflow `headSha`.
|
|
143
|
-
- `npm run typecheck`, `npm run lint`, `npm test`, `npm run build`, `npm run package:check`, `npm run dogfood`, `npm run daemon:verify`, `npm run runtime:safety`, `npm run release:candidate -- --out-dir <tmp>`, `npm run release:verify -- --dir <tmp>`, `npm audit --omit=dev`, `npm pack --dry-run --json --ignore-scripts`, `npm publish --dry-run --ignore-scripts --tag alpha`, `node ./dist/cli/main.js agents --json`, `node ./dist/cli/main.js doctor --json`, and `git diff --check` pass.
|
|
144
|
-
- `npm publish --dry-run --ignore-scripts --tag alpha` reports dry-run mode and `tag alpha`; if it reports `latest`, stop.
|
|
145
|
-
- `npm view agent-cli-runtime@0.1.0-alpha.1 version --json` does not show an already-created immutable version before publish.
|
|
146
|
-
- `npm dist-tag ls agent-cli-runtime` is captured after publish; if npm keeps `latest` on the only published pre-alpha version, record the exact tag state.
|
|
147
|
-
- npm 2FA or the package's configured publish policy is ready for the maintainer account.
|
|
148
|
-
- Trusted publishing is not configured for P3-10. A future trusted-publishing path would need a separate publish workflow, npm-side trusted publisher configuration, and explicit `id-token: write`; none of that is present in this release-candidate workflow.
|
|
149
|
-
- Manual local publish must not claim GitHub Actions provenance. Provenance is a future trusted-publishing concern, not a P3-10 dry-run claim.
|
|
20
|
+
`0.1.0-alpha.2` is ready to be treated as a publish-ready release candidate after fresh main release-candidate evidence, downloaded artifact verification, and local publish dry-run verification. It remains human-controlled:
|
|
150
21
|
|
|
151
|
-
|
|
22
|
+
- no real `npm publish` is performed without explicit maintainer authorization;
|
|
23
|
+
- no GitHub Release is created without explicit maintainer authorization;
|
|
24
|
+
- no npm token, `NODE_AUTH_TOKEN`, trusted publishing setup, or publish workflow secret is added;
|
|
25
|
+
- no authenticated real Codex/Claude/OpenCode run is launched by default gates;
|
|
26
|
+
- `.release-evidence/` and `.reference/` stay outside npm package contents;
|
|
27
|
+
- this package remains a local-first runtime/kernel, not a hosted daemon, control plane, API server, database/WAL, web UI, telemetry system, or remote worker.
|
|
152
28
|
|
|
153
|
-
|
|
154
|
-
npm view agent-cli-runtime@0.1.0-alpha.1 version dist-tags --json
|
|
155
|
-
npm dist-tag ls agent-cli-runtime
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
Rollback boundary:
|
|
159
|
-
|
|
160
|
-
- If only the dist-tag is wrong, use `npm dist-tag add agent-cli-runtime@0.1.0-alpha.1 alpha` and, only after confirming it points at an unintended pre-alpha, `npm dist-tag rm agent-cli-runtime latest`.
|
|
161
|
-
- If package contents are wrong, publish a new corrected pre-release version; npm does not allow overwriting `agent-cli-runtime@0.1.0-alpha.1`.
|
|
162
|
-
- Use `npm unpublish agent-cli-runtime@0.1.0-alpha.1` only if npm policy allows it and a maintainer accepts the registry impact; otherwise deprecate the bad version.
|
|
163
|
-
|
|
164
|
-
## P3-7 API / CLI Schema Freeze
|
|
165
|
-
|
|
166
|
-
P3-7 changes documentation and drift protection for existing public/CLI contracts:
|
|
167
|
-
|
|
168
|
-
- Added [docs/api-schema-contract.md](./api-schema-contract.md) as the schema inventory and versioning policy entrypoint.
|
|
169
|
-
- Public root value export remains `createAgentRuntime`; public type exports remain source-compatible package-root imports for the runtime facade, run/goal records, replay/event envelopes, diagnostics/store shapes, and adapter-authoring types.
|
|
170
|
-
- Internal `dist/**` files may exist in the package, but subpath imports into storage/parser/adapter implementation are not documented API.
|
|
171
|
-
- Frozen schema inventory: `agent-runtime.event.v1`, `agent-runtime.diagnostics.v1`, `agent-runtime.conformance.v1`, `agent-runtime.realSmoke.v1`, `agent-runtime.storeHealth.v1`, `agent-runtime.storeRepair.v1`, `agent-runtime.cliError.v1`, `agent-cli-runtime.releaseVerification.v1`, and `agent-cli-runtime.releaseGateEvidence.v1`.
|
|
172
|
-
- Version bump policy: optional additive fields may stay in-schema; field removal/rename/type or semantic changes require a schema version bump; terminal reason/classification vocabulary changes require docs, tests, and a migration note.
|
|
173
|
-
- Failure taxonomy remains explicit: skipped evidence is not success, `auth_missing` is not unavailable, and `needs_verification` is not guessed into flag support.
|
|
174
|
-
- Default gates still do not pass `--allow-real-run`.
|
|
175
|
-
|
|
176
|
-
P3-7 local validation evidence on 2026-06-22:
|
|
177
|
-
|
|
178
|
-
- `npm run typecheck`: passed.
|
|
179
|
-
- `npm run lint`: passed.
|
|
180
|
-
- `npm test`: passed with 196 tests and 1 skipped installed-package smoke.
|
|
181
|
-
- `npm run build`: passed.
|
|
182
|
-
- `npm run package:check`: passed with `package boundary ok: 151 files checked`.
|
|
183
|
-
- `node ./dist/cli/main.js agents --json`: passed; Codex and OpenCode available, Claude Code available with `auth_missing`.
|
|
184
|
-
- `node ./dist/cli/main.js doctor --json`: passed with `ok: true`; Claude Code remains `auth_missing`.
|
|
185
|
-
- `node ./dist/cli/main.js conformance --mode real --agent all --json`: passed without `--allow-real-run`; Codex and OpenCode reported `real_run_skipped`, Claude Code reported `auth_missing`.
|
|
186
|
-
- `node ./dist/cli/main.js smoke --mode real --agent codex --json`: passed as safe preflight and reported `real_run_skipped`.
|
|
187
|
-
- `git diff --check`: passed.
|
|
188
|
-
|
|
189
|
-
## P3-6 Real CLI Opt-In Smoke Evidence
|
|
190
|
-
|
|
191
|
-
P3-6 changes how real smoke evidence is requested and reviewed:
|
|
192
|
-
|
|
193
|
-
- `node ./dist/cli/main.js smoke --mode real --agent <id> --json` does not launch a real agent run; it emits `schemaVersion: "agent-runtime.realSmoke.v1"` with `runClassification: "real_run_skipped"` or another preflight classification.
|
|
194
|
-
- Authenticated real runs require `--allow-real-run` and expected text, for example `node ./dist/cli/main.js smoke --mode real --agent codex --allow-real-run --expect-text <safe_text> --json`.
|
|
195
|
-
- The same command shape is documented for Codex, Claude Code, and OpenCode.
|
|
196
|
-
- The summary includes `adapter`, `version`, `auth`, `modelsSource`, `runClassification`, `expectedTextMatched`, redacted/truncated `observedTextTail`, `cwdMutationChecked`, `cwdMutated`, `diagnosticsCount`, `skippedReason`, and `failureReason`.
|
|
197
|
-
- The summary excludes prompt text, token values, private cwd, raw stdout/stderr, and final run records.
|
|
198
|
-
- A custom `--prompt` or `--prompt-file` without `--expect-text` cannot pass on exit `0`; it is classified as `unexpected_output`.
|
|
199
|
-
- Preflight/run classifications include `auth_missing`, `unavailable_executable`, `unsupported_flag`, `unexpected_output`, `cwd_mutated`, `needs_verification`, and `real_run_skipped`.
|
|
200
|
-
- Claude Anthropic-compatible provider docs use environment variable names and placeholders only; no real token value, provider URL, or private model alias is committed.
|
|
201
|
-
- `.github/workflows/ci.yml`, `.github/workflows/release-candidate.yml`, `scripts/dogfood.mjs`, `scripts/create-release-candidate.mjs`, and `package.json` remain free of `--allow-real-run`.
|
|
202
|
-
|
|
203
|
-
P3-6 local validation evidence on 2026-06-22:
|
|
204
|
-
|
|
205
|
-
- `npm run typecheck`: passed.
|
|
206
|
-
- `npm run lint`: passed.
|
|
207
|
-
- `npm test`: passed with 191 tests and 1 skipped installed-package smoke.
|
|
208
|
-
- `npm run build`: passed.
|
|
209
|
-
- `npm run package:check`: passed with `package boundary ok: 147 files checked`.
|
|
210
|
-
- `node ./dist/cli/main.js conformance --mode real --agent all --json`: passed without `--allow-real-run`; Codex and OpenCode reported `real_run_skipped`, Claude Code reported `auth_missing`.
|
|
211
|
-
- `node ./dist/cli/main.js smoke --mode real --agent codex --json`: passed as safe preflight and reported `real_run_skipped`.
|
|
212
|
-
- `node ./dist/cli/main.js smoke --mode real --agent codex --allow-real-run --expect-text "agent-runtime real smoke ok" --timeout-ms 120000 --json`: completed with `runClassification: "success"`, `expectedTextMatched: true`, and `cwdMutated: false`. A 30s default-timeout retry can still classify as `timeout` in this environment.
|
|
213
|
-
- `node ./dist/cli/main.js smoke --mode real --agent claude --allow-real-run --expect-text "agent-runtime real smoke ok" --json`: completed with `runClassification: "auth_missing"` before launch.
|
|
214
|
-
- `node ./dist/cli/main.js smoke --mode real --agent opencode --allow-real-run --expect-text "agent-runtime real smoke ok" --timeout-ms 120000 --json`: completed with `runClassification: "success"`, `expectedTextMatched: true`, and `cwdMutated: false`. A 30s default-timeout retry can still classify as `timeout` in this environment.
|
|
215
|
-
|
|
216
|
-
## Historical P3-5 Remote Release Evidence Closure
|
|
217
|
-
|
|
218
|
-
P3-5 closed the P3-4 remote evidence gap for its workflow head SHA. It remains historical evidence only and does not prove the P3-8, P3-9, or P3-10 target SHA.
|
|
219
|
-
|
|
220
|
-
Workflow evidence target:
|
|
221
|
-
|
|
222
|
-
- Branch: `main`.
|
|
223
|
-
- Workflow head SHA: `8d7bc2a19c626caa1ad5223acbcd35df34aff18e`.
|
|
224
|
-
- Trigger command: `gh workflow run release-candidate.yml --ref main`.
|
|
225
|
-
- Run id: `27932628093`.
|
|
226
|
-
- Run URL: `https://github.com/iiwish/agent-cli-runtime/actions/runs/27932628093`.
|
|
227
|
-
- Event: `workflow_dispatch`.
|
|
228
|
-
- Workflow: `Release Candidate`.
|
|
229
|
-
- Run status/conclusion: `completed` / `success`.
|
|
230
|
-
- Run created/updated: `2026-06-22T05:56:49Z` / `2026-06-22T05:57:59Z`.
|
|
231
|
-
- Job `Build release candidate artifacts` started at `2026-06-22T05:56:53Z`, completed at `2026-06-22T05:57:58Z`, and concluded `success`.
|
|
232
|
-
- Steps `Install dependencies`, `Run CI gate`, `Run dogfood gate without authenticated real runs`, `Create npm pack artifact and gate evidence without publishing`, `Upload tarball`, `Upload pack metadata`, `Upload package file list`, `Upload daemon-ready gate evidence`, and `Upload release verification` all concluded `success`.
|
|
233
|
-
- Download directory: `/tmp/agent-runtime-p3-5-remote-7rkBqm/downloaded`.
|
|
234
|
-
- Normalized review directory: `/tmp/agent-runtime-p3-5-remote-7rkBqm/normalized`.
|
|
235
|
-
|
|
236
|
-
Historical artifact metadata from the GitHub Actions API:
|
|
237
|
-
|
|
238
|
-
| Artifact | GitHub artifact id | Archive size | Digest | Expires |
|
|
239
|
-
| --- | ---: | ---: | --- | --- |
|
|
240
|
-
| `agent-cli-runtime-tarball` | `7784276720` | `206911` bytes | `sha256:8f7c4b8d9aa4aee9f375fcbf1de5644884d388693832ed42310dfc41a48e6270` | `2026-07-06T05:57:52Z` |
|
|
241
|
-
| `agent-cli-runtime-pack-metadata` | `7784276910` | `1960` bytes | `sha256:c28f03b875ca489eee15f0867d4dd309f0dbc46a2ed9184f61be8fc5f5b1e773` | `2026-07-06T05:57:53Z` |
|
|
242
|
-
| `agent-cli-runtime-package-files` | `7784277102` | `947` bytes | `sha256:7bff251b88d155027061de0e32a2f065e4614e61d2cc1cdceabbf9333fae4e03` | `2026-07-06T05:57:54Z` |
|
|
243
|
-
| `agent-cli-runtime-gate-evidence` | `7784277275` | `443` bytes | `sha256:ddb608e25f79489f16604a01de10a2ab0664721636b1f20448e18adcd369caf2` | `2026-07-06T05:57:55Z` |
|
|
244
|
-
| `agent-cli-runtime-release-verification` | `7784277464` | `649` bytes | `sha256:c97a91bb356a1934d82ebcc69404ad614968a2ab3904a6e9d5871bd8c818ed78` | `2026-07-06T05:57:56Z` |
|
|
245
|
-
|
|
246
|
-
Downloaded artifact normalization:
|
|
247
|
-
|
|
248
|
-
```bash
|
|
249
|
-
gh run download 27932628093 --dir /tmp/agent-runtime-p3-5-remote-7rkBqm/downloaded
|
|
250
|
-
cp /tmp/agent-runtime-p3-5-remote-7rkBqm/downloaded/agent-cli-runtime-tarball/agent-cli-runtime-0.1.0-alpha.0.tgz /tmp/agent-runtime-p3-5-remote-7rkBqm/normalized/
|
|
251
|
-
cp /tmp/agent-runtime-p3-5-remote-7rkBqm/downloaded/agent-cli-runtime-pack-metadata/npm-pack.json /tmp/agent-runtime-p3-5-remote-7rkBqm/normalized/
|
|
252
|
-
cp /tmp/agent-runtime-p3-5-remote-7rkBqm/downloaded/agent-cli-runtime-package-files/package-files.txt /tmp/agent-runtime-p3-5-remote-7rkBqm/normalized/
|
|
253
|
-
cp /tmp/agent-runtime-p3-5-remote-7rkBqm/downloaded/agent-cli-runtime-gate-evidence/gate-evidence.json /tmp/agent-runtime-p3-5-remote-7rkBqm/normalized/
|
|
254
|
-
cp /tmp/agent-runtime-p3-5-remote-7rkBqm/downloaded/agent-cli-runtime-release-verification/release-verification.json /tmp/agent-runtime-p3-5-remote-7rkBqm/normalized/
|
|
255
|
-
npm run release:verify -- --dir /tmp/agent-runtime-p3-5-remote-7rkBqm/normalized
|
|
256
|
-
```
|
|
29
|
+
## P7-3 Alpha.2 Publish Dry-Run Flow
|
|
257
30
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
- `schemaVersion`: `agent-cli-runtime.releaseVerification.v1`
|
|
261
|
-
- `ok`: `true`
|
|
262
|
-
- diagnostics: empty
|
|
263
|
-
- package file count: `147`
|
|
264
|
-
- local `npm pack --dry-run --json --ignore-scripts` file count at review: `147`
|
|
265
|
-
- artifact names: `agent-cli-runtime-tarball`, `agent-cli-runtime-pack-metadata`, `agent-cli-runtime-package-files`, `agent-cli-runtime-gate-evidence`, `agent-cli-runtime-release-verification`
|
|
266
|
-
- tarball: `agent-cli-runtime-0.1.0-alpha.0.tgz`
|
|
267
|
-
- tarball size: `206662` bytes
|
|
268
|
-
- tarball sha256: `6e7711a275a1d58e862809e4dd5d34c76cf79ca5f812af1e16872ea54b97542c`
|
|
269
|
-
- npm pack shasum: `3ee52f4b97131527de752651f5a395b769ccf7c0`
|
|
270
|
-
- package name/version: `agent-cli-runtime@0.1.0-alpha.0`
|
|
271
|
-
- gate evidence schema: `agent-cli-runtime.releaseGateEvidence.v1`
|
|
272
|
-
- gate evidence commands: `npm run daemon:verify`, `npm run runtime:safety`
|
|
273
|
-
- gate evidence package source: both `installed-tarball`
|
|
274
|
-
- gate evidence flags: `noAuthenticatedRealRun: true`, `noNpmPublish: true`, `noNpmToken: true`
|
|
275
|
-
|
|
276
|
-
P3-5 local sanity evidence on 2026-06-22:
|
|
277
|
-
|
|
278
|
-
- `git diff --check`: passed before P3-5 doc/test edits.
|
|
279
|
-
- `node ./dist/cli/main.js agents --json`: passed; Codex `codex-cli 0.142.0-alpha.6` and OpenCode `1.15.6` available, Claude Code `2.1.178` available with `auth_missing`.
|
|
280
|
-
- `node ./dist/cli/main.js doctor --json`: passed with `ok: true`; Claude Code remains `auth_missing`.
|
|
281
|
-
- `node ./dist/cli/main.js conformance --mode real --agent all --json`: passed without `--allow-real-run`; Codex and OpenCode reported `real_run_skipped` / `real_run_not_allowed`, Claude Code reported `auth_missing`. No authenticated real agent run was launched.
|
|
282
|
-
|
|
283
|
-
## P3-4 CI / Release Gate Alignment
|
|
284
|
-
|
|
285
|
-
P3-4 is local-first release gate alignment, not a new runtime feature and not an npm publication:
|
|
286
|
-
|
|
287
|
-
- CI matrix: `.github/workflows/ci.yml` keeps Node.js 20/22/24 for typecheck, lint, tests, build, production dependency audit, package boundary checks, and pack dry-run.
|
|
288
|
-
- Single-Node release gates: CI now runs `npm run daemon:verify`, `npm run runtime:safety`, and `npm run dogfood` once on Node.js 22 to avoid repeating installed-package gates across the matrix.
|
|
289
|
-
- Release-candidate workflow: `.github/workflows/release-candidate.yml` remains manual `workflow_dispatch`, runs `npm ci`, `npm run ci`, `npm run dogfood`, then runs `npm run release:candidate -- --out-dir release-candidate`.
|
|
290
|
-
- Candidate artifacts: `release:candidate` writes `npm-pack.json`, `package-files.txt`, `gate-evidence.json`, the tarball, and `release-verification.json`.
|
|
291
|
-
- Gate evidence schema: `gate-evidence.json` uses `schemaVersion: "agent-cli-runtime.releaseGateEvidence.v1"` and records `npm run daemon:verify` plus `npm run runtime:safety` with installed-package output schema versions.
|
|
292
|
-
- Verifier: `release:verify` requires `gate-evidence.json`; missing or incomplete daemon-ready gate evidence fails verification while package boundary, private path, token-looking value, Bearer, and auth env checks remain active.
|
|
293
|
-
- Boundary: workflows still contain no `npm publish`, no `NODE_AUTH_TOKEN` / `NPM_TOKEN`, no trusted-publishing credential setup, and no `--allow-real-run`.
|
|
294
|
-
|
|
295
|
-
Remote P3-4 evidence was pending until P3-5. P3-5 run `27932628093` is the historical workflow-head evidence closure for the five-artifact set.
|
|
296
|
-
|
|
297
|
-
## P3-1 Daemon-Ready Contract Hardening
|
|
298
|
-
|
|
299
|
-
P3-1 is a post-P2-13 contract freeze, not a new release publication:
|
|
300
|
-
|
|
301
|
-
- New embedding contract: [docs/daemon-ready-contract.md](./daemon-ready-contract.md).
|
|
302
|
-
- Runtime positioning: local-first execution kernel for daemon/product shell embedding, not hosted control plane.
|
|
303
|
-
- Root value API boundary: still `createAgentRuntime` only.
|
|
304
|
-
- Schema freeze: event envelope `agent-runtime.event.v1`, diagnostics bundle `agent-runtime.diagnostics.v1`, conformance report `agent-runtime.conformance.v1`, store health `agent-runtime.storeHealth.v1`, store repair `agent-runtime.storeRepair.v1`, and CLI JSON error `agent-runtime.cliError.v1`.
|
|
305
|
-
- Compatibility rule: optional fields may be added in-schema; removing, renaming, changing type, or changing stable semantics requires a schema bump.
|
|
306
|
-
- Failure taxonomy: event terminal reasons remain stable; CLI/conformance classifications such as `real_run_skipped`, `unsupported_flag`, `unexpected_output`, `cwd_mutated`, `needs_verification`, and `unavailable_executable` remain explicit evidence states rather than being converted to success.
|
|
307
|
-
- Non-goals: no daemon/API server, no database/WAL, no remote worker, no UI/artifact layer, no telemetry, no npm publish, no publish workflow, no npm token/trusted publishing configuration.
|
|
308
|
-
|
|
309
|
-
P3-1 local validation on 2026-06-22:
|
|
310
|
-
|
|
311
|
-
- `npm run typecheck`: passed.
|
|
312
|
-
- `npm run lint`: passed.
|
|
313
|
-
- `npm test`: passed with 173 tests across 9 files.
|
|
314
|
-
- `npm run build`: passed.
|
|
315
|
-
- `npm run package:check`: passed with `package boundary ok: 147 files checked`.
|
|
316
|
-
- `npm run release:candidate -- --out-dir /tmp/agent-runtime-p3-1-G8WgWS`: passed, producing `agent-cli-runtime-0.1.0-alpha.0.tgz`.
|
|
317
|
-
- `npm run release:verify -- --dir /tmp/agent-runtime-p3-1-G8WgWS`: passed with `schemaVersion: "agent-cli-runtime.releaseVerification.v1"`, `ok: true`, package file count `147`, and empty diagnostics.
|
|
318
|
-
- `npm pack --dry-run`: passed with total files `147` and `docs/daemon-ready-contract.md` included.
|
|
319
|
-
- `node ./dist/cli/main.js agents --json`: passed.
|
|
320
|
-
- `node ./dist/cli/main.js doctor --json`: passed with `ok: true`; Claude Code remains `auth_missing`, which is expected local auth evidence rather than real-run success.
|
|
321
|
-
- `node ./dist/cli/main.js conformance --mode real --agent all --json`: passed without `--allow-real-run`; Codex `0.142.0-alpha.6` and OpenCode `1.15.6` reported `real_run_skipped`, Claude Code `2.1.178` reported `auth_missing`.
|
|
322
|
-
- `git diff --check`: passed.
|
|
323
|
-
- `npm publish --dry-run` was not run for P3-1 because this stage does not change publish readiness or perform publish simulation.
|
|
324
|
-
|
|
325
|
-
## P2-13 Alpha Publish Readiness
|
|
326
|
-
|
|
327
|
-
Decision state:
|
|
328
|
-
|
|
329
|
-
- npm publication: not performed.
|
|
330
|
-
- Package metadata: `repository`, `homepage`, and `bugs` are present alongside the existing package entrypoint, files, engines, keywords, and `publishConfig.tag: "alpha"`.
|
|
331
|
-
- Public API boundary: package root value export remains `createAgentRuntime` only; public types remain declaration/type surface.
|
|
332
|
-
- Publish runbook: [docs/release-publish-runbook.md](./release-publish-runbook.md) records dry-run, real publish commands, human confirmation points, dist-tag checks, rollback/deprecation/unpublish boundaries, 2FA, trusted publishing, provenance, and token strategy.
|
|
333
|
-
- Workflow strategy: `.github/workflows/ci.yml` and `.github/workflows/release-candidate.yml` remain artifact/check workflows only. They do not run `npm publish`, do not configure registry credentials, and do not require npm tokens.
|
|
334
|
-
- Token/provenance/2FA decision: prefer future trusted publishing through a dedicated publish workflow and npm-side trusted publisher configuration; for a first manual alpha, use interactive maintainer publish with npm 2FA and no committed tokens. Trusted publishing is not configured in P2-13, and local manual publish must not claim GitHub Actions provenance.
|
|
335
|
-
- Dist-tag decision: future real publish must use `--tag alpha`; `latest` must not move for this pre-alpha package.
|
|
336
|
-
- Rollback decision: wrong dist-tags are fixed with `npm dist-tag`; unsafe package content requires a new version, deprecation, or npm-policy-eligible unpublish. The same `name@version` cannot be overwritten.
|
|
337
|
-
|
|
338
|
-
P2-13 local validation on 2026-06-22:
|
|
339
|
-
|
|
340
|
-
- `npm run typecheck`: passed.
|
|
341
|
-
- `npm run lint`: passed.
|
|
342
|
-
- `npm test`: passed with 172 tests across 9 files.
|
|
343
|
-
- `npm run build`: passed.
|
|
344
|
-
- `npm run package:check`: passed with `package boundary ok: 146 files checked`.
|
|
345
|
-
- `npm run release:candidate -- --out-dir <tmp-dir>`: passed, producing `agent-cli-runtime-0.1.0-alpha.0.tgz`.
|
|
346
|
-
- `npm run release:verify -- --dir <tmp-dir>`: passed with `schemaVersion: "agent-cli-runtime.releaseVerification.v1"`, `ok: true`, package file count `146`, and empty diagnostics.
|
|
347
|
-
- `npm pack --dry-run`: passed with total files `146` and `docs/release-publish-runbook.md` included.
|
|
348
|
-
- `npm publish --dry-run --ignore-scripts --tag alpha`: passed as a dry-run. npm reported `Publishing to https://registry.npmjs.org/ with tag alpha and default access (dry-run)` and did not publish.
|
|
349
|
-
- `node ./dist/cli/main.js agents --json`: passed.
|
|
350
|
-
- `node ./dist/cli/main.js doctor --json`: passed with `ok: true`; Claude Code remains `auth_missing`, which is expected local auth evidence rather than real-run success.
|
|
351
|
-
- `git diff --check`: passed.
|
|
352
|
-
|
|
353
|
-
## Local Verification Commands
|
|
354
|
-
|
|
355
|
-
Run these from the repository root:
|
|
31
|
+
The human-controlled alpha.2 path is:
|
|
356
32
|
|
|
357
33
|
```bash
|
|
358
34
|
npm run typecheck
|
|
359
35
|
npm run lint
|
|
360
36
|
npm test
|
|
361
|
-
npm run build
|
|
362
37
|
npm run package:check
|
|
363
|
-
npm run
|
|
364
|
-
npm run
|
|
365
|
-
npm run release:
|
|
366
|
-
npm run release:verify -- --dir release-candidate
|
|
38
|
+
npm run compat:real:evidence:verify
|
|
39
|
+
npm run release:candidate -- --out-dir <tmp-dir>
|
|
40
|
+
npm run release:verify -- --dir <tmp-dir>
|
|
367
41
|
npm pack --dry-run
|
|
368
42
|
npm publish --dry-run --ignore-scripts --tag alpha
|
|
369
43
|
node ./dist/cli/main.js agents --json
|
|
370
44
|
node ./dist/cli/main.js doctor --json
|
|
371
|
-
node ./dist/cli/main.js conformance --mode real --agent all --json
|
|
372
|
-
node ./dist/cli/main.js smoke --mode real --agent codex --json
|
|
373
|
-
node ./dist/cli/main.js smoke --mode real --agent codex --allow-real-run --expect-text "agent-runtime real smoke ok" --json
|
|
374
45
|
git diff --check
|
|
375
46
|
```
|
|
376
47
|
|
|
377
|
-
|
|
48
|
+
The dry-run command is the current stop point:
|
|
378
49
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
- Local branch: `main`.
|
|
384
|
-
- Remote branch: `main`.
|
|
385
|
-
- Commit SHA: `2f8832119b4ebdb8393077052560589a398ebf56`.
|
|
386
|
-
- `gh auth status` succeeded with workflow-capable GitHub CLI credentials.
|
|
387
|
-
- `gh workflow run release-candidate.yml --ref main` created run `27869580048`.
|
|
388
|
-
- Run URL: `https://github.com/iiwish/agent-cli-runtime/actions/runs/27869580048`.
|
|
389
|
-
- Event: `workflow_dispatch`.
|
|
390
|
-
- Workflow: `Release Candidate`.
|
|
391
|
-
- Run status/conclusion: `completed` / `success`.
|
|
392
|
-
- Run created: `2026-06-20T11:19:33Z`.
|
|
393
|
-
- Run updated: `2026-06-20T11:20:40Z`.
|
|
394
|
-
- Job `Build release candidate artifacts` started at `2026-06-20T11:19:37Z`, completed at `2026-06-20T11:20:39Z`, and concluded `success`.
|
|
395
|
-
- The workflow steps `Install dependencies`, `Run CI gate`, `Run dogfood gate without authenticated real runs`, `Create npm pack artifact without publishing`, and all four artifact upload steps concluded `success`.
|
|
396
|
-
- GitHub emitted a non-blocking annotation that the referenced actions still target deprecated Node.js 20 internals while the runner forces Node.js 24 for those actions.
|
|
397
|
-
|
|
398
|
-
Expected remote evidence:
|
|
399
|
-
|
|
400
|
-
- `.github/workflows/ci.yml` runs typecheck, lint, tests, build, production dependency audit, package boundary check, and `npm pack --dry-run` on Node.js 20/22/24.
|
|
401
|
-
- The CI release-gates job runs once on Node.js 22 and executes `npm run daemon:verify`, `npm run runtime:safety`, and `npm run dogfood` without passing `--allow-real-run`.
|
|
402
|
-
- `.github/workflows/release-candidate.yml` is manual `workflow_dispatch` only.
|
|
403
|
-
- The release-candidate workflow runs `npm ci`, `npm run ci`, `npm run dogfood`, creates npm pack metadata and daemon-ready gate evidence through `npm run release:candidate`, verifies the generated artifacts through `npm run release:verify`, and uploads artifacts.
|
|
404
|
-
- No workflow runs `npm publish`, sets `NODE_AUTH_TOKEN`, or requires an npm token.
|
|
405
|
-
P2-13 keeps those workflow guarantees and does not add a publish workflow.
|
|
50
|
+
```bash
|
|
51
|
+
npm publish --dry-run --ignore-scripts --tag alpha
|
|
52
|
+
```
|
|
406
53
|
|
|
407
|
-
|
|
54
|
+
It must show a dry run with `tag alpha`. A real publish requires a separate explicit maintainer authorization after fresh current-head release-candidate evidence passes.
|
|
408
55
|
|
|
409
56
|
## Release-Candidate Artifacts
|
|
410
57
|
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
- `agent-cli-runtime-tarball`: the packed `agent-cli-runtime-0.1.0-alpha.0.tgz` tarball.
|
|
414
|
-
- `agent-cli-runtime-pack-metadata`: `release-candidate/npm-pack.json` from `npm pack --json`.
|
|
415
|
-
- `agent-cli-runtime-package-files`: `release-candidate/package-files.txt`, one packed package path per line.
|
|
416
|
-
- `agent-cli-runtime-gate-evidence`: `release-candidate/gate-evidence.json` from `npm run release:candidate`.
|
|
417
|
-
- `agent-cli-runtime-release-verification`: `release-candidate/release-verification.json` from `npm run release:verify`.
|
|
58
|
+
`npm run release:candidate -- --out-dir <tmp-dir>` writes five review artifacts:
|
|
418
59
|
|
|
419
|
-
|
|
60
|
+
- `agent-cli-runtime-tarball`
|
|
61
|
+
- `agent-cli-runtime-pack-metadata`
|
|
62
|
+
- `agent-cli-runtime-package-files`
|
|
63
|
+
- `agent-cli-runtime-gate-evidence`
|
|
64
|
+
- `agent-cli-runtime-release-verification`
|
|
420
65
|
|
|
421
|
-
|
|
66
|
+
`npm run release:verify -- --dir <tmp-dir>` emits `schemaVersion: "agent-cli-runtime.releaseVerification.v1"` and must return `ok: true` with empty diagnostics before the candidate can proceed.
|
|
422
67
|
|
|
423
|
-
|
|
68
|
+
`gate-evidence.json` must use `schemaVersion: "agent-cli-runtime.releaseGateEvidence.v1"` and include:
|
|
424
69
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
| `agent-cli-runtime-pack-metadata` | `7764861577` | `1921` bytes | `sha256:0b02f459bd8bdf87c1787ecc43b2a748e27841bd59092b2e72b405970503250f` | `2026-07-04T11:20:36Z` |
|
|
429
|
-
| `agent-cli-runtime-package-files` | `7764861640` | `924` bytes | `sha256:9b3d5b591520d5c86723e6cb47c1bf24d11723b85d17251b4cc2095115608c52` | `2026-07-04T11:20:37Z` |
|
|
430
|
-
| `agent-cli-runtime-release-verification` | `7764861710` | `444` bytes | `sha256:56cb8a125a27b88b816762b6cc9ed5320da66fcc26040c4fa4fec39faec2cf99` | `2026-07-04T11:20:37Z` |
|
|
70
|
+
- `daemon:verify`
|
|
71
|
+
- `runtime:safety`
|
|
72
|
+
- `compat:real:evidence:verify`
|
|
431
73
|
|
|
432
|
-
|
|
74
|
+
The gate evidence must keep `noAuthenticatedRealRun`, `noNpmPublish`, and `noNpmToken` true.
|
|
433
75
|
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
```bash
|
|
437
|
-
npm run release:verify -- --dir /tmp/agent-runtime-p2-12-remote-5P5MSc/normalized
|
|
438
|
-
```
|
|
439
|
-
|
|
440
|
-
Result:
|
|
441
|
-
|
|
442
|
-
- `schemaVersion`: `agent-cli-runtime.releaseVerification.v1`
|
|
443
|
-
- `ok`: `true`
|
|
444
|
-
- package file count: `145`
|
|
445
|
-
- tarball: `agent-cli-runtime-0.1.0-alpha.0.tgz`
|
|
446
|
-
- tarball size: `187378` bytes
|
|
447
|
-
- tarball sha256: `3701bd6355651bbc200d5c017a9b01c3dd7136140b64dee0781e6eb601a7a657`
|
|
448
|
-
- package name/version: `agent-cli-runtime@0.1.0-alpha.0`
|
|
449
|
-
- diagnostics: empty
|
|
450
|
-
|
|
451
|
-
## Local Artifact Generation And Verification
|
|
452
|
-
|
|
453
|
-
Generate the same artifact shape locally without publishing:
|
|
454
|
-
|
|
455
|
-
```bash
|
|
456
|
-
npm run release:candidate -- --out-dir release-candidate
|
|
457
|
-
```
|
|
458
|
-
|
|
459
|
-
The command writes `npm-pack.json`, `package-files.txt`, `gate-evidence.json`, the tarball, and `release-verification.json` to the chosen directory. It does not run `npm publish` and should not leave a tarball in the repository root.
|
|
460
|
-
|
|
461
|
-
Verify a local or downloaded artifact directory:
|
|
76
|
+
## Package Boundary
|
|
462
77
|
|
|
463
|
-
|
|
464
|
-
npm run release:verify -- --dir release-candidate
|
|
465
|
-
```
|
|
78
|
+
The npm package may include stable docs, examples, `dist/`, and the runtime entrypoints. It must not include:
|
|
466
79
|
|
|
467
|
-
|
|
80
|
+
- `.release-evidence/`
|
|
81
|
+
- `.reference/`
|
|
82
|
+
- `tests/`
|
|
83
|
+
- `tests/fixtures/`
|
|
84
|
+
- fault fixtures
|
|
85
|
+
- raw real CLI output
|
|
86
|
+
- local temporary review directories
|
|
87
|
+
- private user paths
|
|
88
|
+
- raw prompts or full command transcripts
|
|
89
|
+
- token-looking values, Bearer values, or auth environment assignment values
|
|
468
90
|
|
|
469
|
-
|
|
91
|
+
`npm run package:check`, `npm pack --dry-run`, and `npm run release:verify -- --dir <tmp-dir>` enforce this boundary.
|
|
470
92
|
|
|
471
|
-
|
|
93
|
+
## P6 Evidence Boundary
|
|
472
94
|
|
|
473
|
-
-
|
|
474
|
-
- No `tests/` or fixture directories.
|
|
475
|
-
- No fault fixtures.
|
|
476
|
-
- No `repair-backups/`.
|
|
477
|
-
- No raw corrupt samples.
|
|
478
|
-
- No raw real CLI output.
|
|
479
|
-
- No real private paths.
|
|
480
|
-
- No token-looking values, Bearer values, or auth env assignment values.
|
|
481
|
-
- Includes `docs/daemon-ready-contract.md`.
|
|
482
|
-
- Includes `dist/`, README files, LICENSE, docs, examples, `scripts/dogfood.mjs`, and release docs.
|
|
483
|
-
- Includes `docs/release-publish-runbook.md`.
|
|
484
|
-
- Package root value API remains limited to `createAgentRuntime`; public TypeScript types remain type exports.
|
|
95
|
+
P6 added the offline real compatibility evidence verifier and proved that the release-candidate gate can carry compatibility evidence without launching authenticated real agent runs. The current packaged report records only the stable rule:
|
|
485
96
|
|
|
486
|
-
|
|
97
|
+
- `compat:real:evidence:verify` is part of `prepublish:check` and `release:candidate`;
|
|
98
|
+
- the verifier reads repo-only evidence under `.release-evidence/`;
|
|
99
|
+
- `dogfood` and normal CI do not depend on repo-only compatibility evidence;
|
|
100
|
+
- release gate summaries keep only command, ok state, schema versions, and redacted diagnostic count/codes.
|
|
487
101
|
|
|
488
|
-
|
|
102
|
+
Detailed P6-4, P6-5, and P6-6 run/artifact summaries are repo-local evidence files under `.release-evidence/`. They are not package content and must not be copied into README or packaged docs.
|
|
489
103
|
|
|
490
|
-
|
|
104
|
+
## Schema And Compatibility Contracts
|
|
491
105
|
|
|
492
|
-
|
|
106
|
+
The API and CLI schema inventory, versioning policy, root export boundary, and failure taxonomy are maintained in [docs/api-schema-contract.md](./api-schema-contract.md). The release-facing schemas are:
|
|
493
107
|
|
|
494
|
-
|
|
108
|
+
- `agent-cli-runtime.releaseVerification.v1`
|
|
109
|
+
- `agent-cli-runtime.releaseGateEvidence.v1`
|
|
110
|
+
- `agent-cli-runtime.realCompatibilityEvidenceVerification.v1`
|
|
111
|
+
- `agent-cli-runtime.realCompatibilityEvidence.v1`
|
|
495
112
|
|
|
496
|
-
|
|
113
|
+
Skipped evidence is not success, `auth_missing` is not unavailable, and `needs_verification` must not be guessed into support.
|
|
497
114
|
|
|
498
115
|
## Known Risks
|
|
499
116
|
|
|
500
|
-
-
|
|
501
|
-
-
|
|
502
|
-
-
|
|
503
|
-
-
|
|
504
|
-
- OpenCode explicit read-only/workspace-write flags, extra dirs, and session/resume remain in `needsVerification`.
|
|
505
|
-
- Claude Code authenticated run smoke depends on local auth or a correctly configured provider environment.
|
|
506
|
-
- npm dry-run output can vary by npm version and registry context, so it remains a manual/local gate rather than a flaky CI requirement.
|
|
507
|
-
- Trusted publishing and provenance are not configured in P2-13. Any future provenance claim must match the actual publish path.
|
|
508
|
-
|
|
509
|
-
## Explicit Non-Goals
|
|
510
|
-
|
|
511
|
-
- Do not publish npm.
|
|
512
|
-
- Do not require npm token or registry credentials.
|
|
513
|
-
- Do not configure trusted publishing or npm provenance.
|
|
514
|
-
- Do not claim stable API.
|
|
515
|
-
- Do not claim OpenDesign daemon parity.
|
|
516
|
-
- Do not add daemon/API server, database, WAL, remote worker, web UI, telemetry, or scheduler expansion.
|
|
517
|
-
- Do not convert `real_run_skipped`, `auth_missing`, `unsupported_flag`, or `needs_verification` into real agent run success.
|
|
117
|
+
- `0.1.0-alpha.2` is still unpublished; registry and GitHub Release post-publish verification can only run after explicit real publish authorization.
|
|
118
|
+
- Real CLI behavior, auth state, model lists, and flags can drift after dated compatibility evidence.
|
|
119
|
+
- npm dry-run output can vary by npm version and registry context, so the alpha dry-run remains a local manual safety gate rather than a required remote CI gate.
|
|
120
|
+
- Trusted publishing and provenance are not configured. Any future provenance claim must match the actual publish path.
|