新增项目发布 readiness SDK report

This commit is contained in:
2026-06-16 09:09:18 +08:00
parent d3ee5d49ff
commit ae3adf2d13
8 changed files with 287 additions and 4 deletions

View File

@@ -2771,3 +2771,80 @@ project_release_gate=ok
整理并提交当前批次。提交后若工作树 clean则当前 scope 已达到 `PROJECT_COMPLETION_TRACKER.md`
定义的发布验证闭环;后续只在新 scope 请求或真实 LinuxCNC host runtime 可用时继续推进 blocked runtime family。
三十五、2026-06-16 继续执行记录project release readiness SDK report
本轮继续以功能实质性推进为主,把当前 release gate、sim-config baseline 和 blocked runtime family
从文档/脚本说明推进为 SDK 可调用的机器可读 readiness report方便 CI dashboard 或外部调用方在不解析
Markdown 的情况下判断当前 scope 是否具备发布证据。
完成内容:
- 新增 `runtime/sdk/src/project-release-readiness.js`
- 新增 `createProjectReleaseReadinessReport()`
- report 输出:
- `apiName: "project-release-readiness-report"`
- `reportVersion`
- `phase`
- `ready`
- `missing`
- `releaseGate.command`
- `releaseGate.expectedOutput`
- `simConfigInventory` baseline
- `blockedRuntimeFamilies`
- `promotedRuntimeFamilies`
- `promotedBlockedFamilies`
- `gates`
- `rows`
- 默认 report 不声称发布完成,只有调用方提供 `project_release_gate=ok` 等 observed output 或 gate result
时才会将 project release gate 判定为 passed
- 若调用方传入被阻塞 runtime family 的 promotionreport 会保留 `blocked-runtime-families` missing
- `runtime/sdk/src/index.js` re-export 新 helper
- `runtime/sdk/README.md` 新增 Project release readiness export 说明;
- `docs/project-release-handoff.md` 说明外部 CI/dashboard 使用方式;
- `verify_sdk_surface.mjs` 覆盖 waiting、ready、blocked promotion 三种 report
- `verify_project_release_handoff_docs.mjs` 覆盖文档中的新 helper
- `PROJECT_COMPLETION_TRACKER.md` 同步 latest completed batch 与 SDK/release gate 状态;
- 未新增控制按钮;
- 未执行 shell command helper
- 未解析 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
wasm-port/tests/sdk/node/verify_sdk_surface.sh
wasm-port/tests/docs/node/verify_project_release_handoff_docs.sh
wasm-port/tools/verify_vendor_sync.sh
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.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_host_smokes.sh
```
关键输出:
```text
sdk_surface_node_smoke=ok
project_release_handoff_docs_node_smoke=ok
vendor sync up to date
standalone CNC semantics guard complete
interp_wasm_node_smoke=ok
sim_configs_wasm_node_inventory_unexpected_fail=0
ui_node_smokes=ok
browser_ini_shell_integration_workflow_smoke=ok
host_wasm_opfs_browser_smokes=ok
```
下一步工作计划:
整理并提交当前批次。提交后如果继续推进,可优先把 release readiness report 暴露给 project release gate
wrapper 或生成 artifact仍保持只读和证据驱动不执行 action-plan不扩大 CNC 语义边界。