68 lines
3.3 KiB
Markdown
68 lines
3.3 KiB
Markdown
# Web Software Parity Release Gate 与 Host 分离实施记录
|
||
|
||
## 目标
|
||
|
||
本文件落实 `ACC-048/INT-035`,把 `ACC-046/047` 的新软件证据接入项目 release manifest,并修正 project release readiness 仍错误依赖 host opt-in proof 的模型矛盾。
|
||
|
||
## 新增 Release Gate
|
||
|
||
新增 `wasm-port/tests/host/verify_web_software_parity_gate.sh`,聚合执行三 interpreter G5x/rotation/M62 隔离与 wrapped rotary、XYZAC impeller G93 角轴限速、linear unit conversion 和目标 Web 主 Node smoke。
|
||
|
||
gate 以 `web_software_parity_gate=ok` 作为完成输出,并加入 `REQUIRED_RELEASE_GATES`。release manifest 从 13 项升级为 14 项,SDK、artifact writer、artifact validator 和 INI panel UI 固定计数同步更新。
|
||
|
||
## Release 与 Host 分离
|
||
|
||
旧 `createProjectReleaseReadinessReport()` 同时要求 Tool DB native protocol 和 Python remap native lifecycle ready,导致普通 writer 在 opt-in 默认禁用时生成 blocked project release artifact。这与既有 `projectReleaseReady=true`、`hostPromotionAllowed=false` 合同冲突。
|
||
|
||
修复后:
|
||
|
||
- project release ready 由 14 项软件 gate、inventory、virtual HAL coverage/matrix、未违规 promoted blocked family 和截图合同决定;
|
||
- Tool DB/Python summary 仍必须结构完整、保持 `promotionAllowed=false` 和 `executionEnabled=false`;
|
||
- host proof 未运行时其 `ready=false` 作为边界事实展示,但不阻止 Web software release;
|
||
- 任何 blocked runtime family 被 promotion 仍会阻止 release readiness。
|
||
|
||
artifact validator 相应区分“proof contract 有效”和“host proof ready”,不再把合法 blocked summary 误判为 artifact schema 缺失。
|
||
|
||
## 最终 Artifact 状态
|
||
|
||
```text
|
||
phase=ready
|
||
ready=true
|
||
missing=[]
|
||
release gates=14/14 passed
|
||
web-software-parity=passed (expected-output)
|
||
toolDbProcessProofReady=false
|
||
pythonRemapRuntimeProofReady=true (single fixture)
|
||
blockedRuntimeFamilies=L4-USER-M-PROCESS,L4-PYTHON-REMAP
|
||
promotedBlockedFamilies=[]
|
||
```
|
||
|
||
## Opt-In 安全修复
|
||
|
||
完整复验时发现既有 `verify_project_release_gate.sh` 硬编码三个 `ENABLE_*_RUNTIME_PROBE=1`。该旧行为曾在本轮首次完整 gate 中触发本地主机 probes,使 Python 单 fixture proof 更新为 ready;promotion 仍未启用。
|
||
|
||
现已移除全部 opt-in 环境开关,普通 release gate 只运行默认禁用的 native validation,并明确调用 Web software parity gate。manifest 单测从测试文件路径读取 release 脚本,强制断言:
|
||
|
||
```text
|
||
包含 verify_web_software_parity_gate.sh
|
||
不包含 ENABLE_*_RUNTIME_PROBE=1
|
||
```
|
||
|
||
修复后完整 release gate 重新通过。当前 artifact 忠实保留已产生的 Python 单 fixture proof,但 Tool DB proof 仍 false,所有 host promotion 仍 locked。
|
||
|
||
## 验证输出
|
||
|
||
```text
|
||
web_software_parity_gate=ok
|
||
project_release_gate_manifest_node_smoke=ok
|
||
project_release_readiness_artifact_node_smoke=ok
|
||
ini_panel_ui_shell_node_smoke=ok
|
||
project_release_host_promotion_separation=ok
|
||
realtime_hardware_remain_blocked=ok
|
||
sdk_surface_node_smoke=ok
|
||
```
|
||
|
||
## 结论
|
||
|
||
`ACC-048/INT-035` 完成。新增软件 parity 证据已成为项目发布硬门禁;Web release ready 与 host promotion blocked 现在在主 readiness artifact、validator 和 UI 中一致表达。普通 release gate 已恢复默认不运行 opt-in probe。
|