生成项目发布 readiness gate artifact

This commit is contained in:
2026-06-16 09:17:37 +08:00
parent ae3adf2d13
commit f4f4b3c744
9 changed files with 181 additions and 5 deletions

View File

@@ -2848,3 +2848,73 @@ host_wasm_opfs_browser_smokes=ok
整理并提交当前批次。提交后如果继续推进,可优先把 release readiness report 暴露给 project release gate
wrapper 或生成 artifact仍保持只读和证据驱动不执行 action-plan不扩大 CNC 语义边界。
三十六、2026-06-16 继续执行记录project release readiness gate artifact
本轮严格按“每批必须产出可调用 API、可验证 workflow、可执行 gate、或真实 UI/browser 能力”推进,
把上一批 SDK readiness report 接入实际 project release gate。现在 `verify_project_release_gate.sh`
成功通过后会生成并验证机器可读 JSON artifactCI 或外部工具可以直接消费,不需要解析 Markdown 或 shell log。
完成内容:
- 新增 `tests/host/write_project_release_readiness_artifact.mjs`
- 新增 `tests/host/verify_project_release_readiness_artifact.mjs`
- 新增 `tests/host/verify_project_release_readiness_artifact.sh`
- `verify_project_release_gate.sh` 在所有 gate 通过后:
- 调用 SDK `createProjectReleaseReadinessReport()`
- 写入 `build/project-release-readiness.json`
- 校验 artifact `apiName/reportVersion/ready/phase/missing/releaseGate/simConfigInventory/blockedRuntimeFamilies/gates/rows`
- 输出 `project_release_readiness_artifact=...`
- 输出 `project_release_readiness_artifact_node_smoke=ok`
- `docs/project-release-handoff.md` 记录 release gate artifact 路径、生成时机和 smoke 输出;
- `runtime/sdk/README.md` 记录 release gate 会复用 SDK helper 生成 artifact
- `verify_project_release_handoff_docs.mjs` 覆盖 artifact path、writer、verifier 和 smoke
- `PROJECT_COMPLETION_TRACKER.md` 同步 latest completed batch、release gate wrapper 状态;
- 未新增控制按钮;
- 未执行 action-plan
- 未解析 G-code
- 未解释 canonical events
- 未新增 JS CNC 语义;
- 未运行 opt-in runtime probes
- 未 promotion blocked runtime family
- 未改变 LinuxCNC interpreter、tool、parameter、planner、kinematics、remap 或 LinuxCNC-owned
runtime semantics。
验证已通过:
```bash
git diff --check
node wasm-port/tests/host/write_project_release_readiness_artifact.mjs
wasm-port/tests/host/verify_project_release_readiness_artifact.sh
wasm-port/tests/docs/node/verify_project_release_handoff_docs.sh
wasm-port/tests/sdk/node/verify_sdk_surface.sh
wasm-port/tests/host/verify_project_release_gate.sh
```
关键输出:
```text
project_release_readiness_artifact=/home/cnc/桌面/cnc_wams/wasm-port/build/project-release-readiness.json
project_release_readiness_artifact_node_smoke=ok
project_release_handoff_docs_node_smoke=ok
sdk_surface_node_smoke=ok
host_wasm_opfs_browser_smokes=ok
project_release_gate=ok
```
artifact 摘要:
```json
{
"apiName": "project-release-readiness-report",
"ready": true,
"phase": "ready",
"missing": [],
"gateCount": 9
}
```
下一步工作计划:
继续只做实质能力推进。下一批优先选择真实 browser/UI workflow 或外部 shell 可消费能力;
如果继续 release 路径,必须产出可执行 gate 或可消费 artifact不再只做文档/记录补强。