新增 release gate execution manifest API

This commit is contained in:
2026-06-16 17:20:21 +08:00
parent 2f6e8480bf
commit 741afc5103
13 changed files with 443 additions and 21 deletions

View File

@@ -299,3 +299,58 @@ wasm-port/tests/native/verify_sim_configs.sh
- 增加 OPFS/session persistence 的独立 SDK/browser gate减少只依赖聚合 smoke 的排障成本;
- 若真实 LinuxCNC host runtime 可用,再按 native -> Node/WASM -> browser/host 顺序处理 blocked
runtime family promotion。
五十七、2026-06-16 继续执行记录project release gate execution manifest SDK API
本批继续按“每批必须产出可调用 API、可验证 workflow、可执行 gate、或真实 UI/browser 能力”
推进,选择 `text15.txt` 下一步建议中的 machine-readable release gate execution manifest/artifact。
本批新增实质能力:
- 新增 SDK API`createProjectReleaseGateExecutionManifest()`
- 该 API 复用 release gate manifest按 gate 输出每个 gate 的 `command`、`expectedOutput`、
`observedOutput`、`evidence`、`passed/unknown` 状态、缺失 gate ID 与 pass/unknown 计数;
- `createProjectReleaseReadinessReport()` 现在嵌入 `gateExecutionManifest`,让外部 CI/browser
dashboard 可直接展示 release gate 执行证据,而不需要解析 shell 脚本;
- `createProjectReleaseReadinessArtifactValidation()` 现在要求 ready artifact 包含
`gateExecutionManifest`,并暴露 `gateExecutionManifestReady`
- workflow overview release artifact validation summary/render rows 增加
`gate-execution-manifest` evidence 行;
- 更新 `tests/fixtures/project-release-readiness-ready.json`,使 browser artifact URL workflow 使用
新 schema
- 更新 SDK README 与 `docs/project-release-handoff.md`,说明 execution manifest、artifact validation
evidence chain 与外部 CI/browser dashboard 用法。
本批新增/更新可执行验证:
```bash
wasm-port/tests/sdk/node/verify_project_release_gate_manifest.sh
wasm-port/tests/sdk/node/verify_sdk_surface.sh
wasm-port/tests/docs/node/verify_project_release_handoff_docs.sh
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_release_artifact_url_workflow_browser.sh
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
wasm-port/tests/host/verify_project_release_gate.sh
```
关键通过输出:
```text
project_release_gate_manifest_node_smoke=ok
sdk_surface_node_smoke=ok
project_release_handoff_docs_node_smoke=ok
browser_release_artifact_url_workflow_smoke=ok
ui_node_smokes=ok
browser_ini_shell_integration_workflow_smoke=ok
project_release_readiness_artifact_node_smoke=ok
project_release_gate=ok
```
本批仍保持 LinuxCNC 语义边界:
- 未修改 vendored LinuxCNC 源码;
- 未在 JS/browser 中实现 G-code、tool、parameter、planner、kinematics、remap 或 canonical motion
语义;
- 新增内容只属于 release gate evidence packaging、SDK/API surface、browser/UI artifact validation
render rows、docs 和测试 gate
- blocked runtime families 仍不 promotion。