补齐 xyzbc-trt Web 路径证据

This commit is contained in:
mes123456
2026-07-02 08:57:59 -04:00
parent 43034b2a91
commit fb128e6b64
13 changed files with 115503 additions and 89 deletions

View File

@@ -1,5 +1,17 @@
# 06-决策记录
## D-013缺 WASM artifact 时 build 与 path compare 继续显式失败
日期2026-07-02
决策:本轮补齐 Web/native evidence 字段和 compare 规则,但在缺少 `wasm-port/build/wasm` artifact 时,`npm run build`、Web preview path、Web task/HAL execution path 和 compare path 检查继续显式失败或 blocked不通过占位样本伪造通过。
理由:
- `xyzbc-trt` 的 G-code、remap、kinematics、planner、task/HAL 语义必须来自 LinuxCNC-derived WASM 或真实 LinuxCNC evidence。
- 当前仓库缺少 `wasm-port/build/wasm/kinematics`、core、tp、task-hal artifact浏览器 worker/runtime 不具备真实执行条件。
- compare JSON 的失败项已经精确指向 artifact 与 path 样本缺口,保留失败状态比静默降级更利于后续验收。
## D-012DOCX 任务书整合为 working Markdown
日期2026-07-02
@@ -139,3 +151,30 @@
- 用户明确要求以已编译成功并能执行 `xyzbc-trt``/home/mes123456/cnc_wams/linuxcnc` 为对标依据。
- `/home/mes123456/cnc_wams/linuxcnc` 是干净 Git 源码仓库,便于把 native 行为、Web WASM 构建和后续代码追踪关联到同一源码树。
- 该路径已完成 run-in-place 编译,`scripts/rip-environment``bin/axis``bin/xyzbc-trt-gui``rtlib/xyzbc-trt-kins.so` 已生成;因此后续第一步是用该路径重新生成 native evidence。
## D-012WASM artifact 已生成,后续 blocker 改为路径采集与 interpreter 回归
日期2026-07-02
决策:`wasm-port/build/wasm` artifact 已通过 `emcc 6.0.2` 生成Web evidence 不再把缺 artifact 作为 blocker后续开发重点转向 native/Web path 采集闭环、Web task/HAL execution path collector以及 `verify_interp_wasm.sh` 的 G10 L11 回归断言差异。
理由:
- core、kinematics、TP、task/HAL 所需 `.js/.wasm` 均已存在,`web-xyzbc-trt-evidence.json.wasm.missing=[]`
- kinematics、TP、task/HAL 的 Node WASM smoke 已通过,说明主要 runtime artifact 可加载执行。
- Web preview path 已由 `linuxcnc_interp` WASM 生成样本,证明 Web evidence 已越过原先缺 artifact 的前置阻塞。
- compare 剩余失败项均指向 native path 样本和 Web execution path 样本缺失;这是采集能力缺口,不再是构建产物缺口。
- 历史状态:当时 `verify_interp_wasm.sh` 仍有 `interp_g10_l11_wasm` 断言失败,完整 interpreter/remap WASM 验收不能标记为完成。
## D-013G10 L11 验收期望对齐 vendored LinuxCNC expected
日期2026-07-02
决策:将 `verify_interp_wasm.mjs``interp_g10_l11_wasm``SET_G92_OFFSET` 期望值调整为 `x=-43.0622 y=-47.4282 z=-72`,与 `wasm-port/vendor/linuxcnc/tests/interp/g10/g10-l11/expected` 保持一致。
理由:
- 单独复现 `g10-l11`WASM 实际 canonical 输出为 `SET_G92_OFFSET x=-43.0622 y=-47.4282 z=-72`
- vendored LinuxCNC 当前 expected 文件同样记录 `SET_G92_OFFSET(-43.0622, -47.4282, -72.0000)`
- 因此失败原因是 Node 验收脚本中的期望值过期,不是 WASM interpreter/remap 行为偏离 vendored LinuxCNC。
- 修正后,`SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh` 和完整 `wasm-port/tests/wasm/node/verify_interp_wasm.sh` 均通过,输出 `interp_wasm_node_smoke=ok`