补齐 xyzbc-trt Web 路径证据
This commit is contained in:
@@ -10583,3 +10583,156 @@ nginx: configuration file /etc/nginx/nginx.conf test is successful
|
||||
- 提交内容摘要:该提交包含 274 个文件变化,新增 `web-rtcp-5axis-xyzbc-trt-sim-plan/` 项目文件、测试、文档、截图、证据文件以及 `xyzbc.var` 等内容,共 157294 行新增、1394 行删除。
|
||||
- 推送执行:执行 `git push origin master`,推送成功,远端 `master` 从 `83075c4` 更新到 `c4a721f`。
|
||||
- 后续处理:根据工作区 AGENTS.md 规则,将本次 GPT/Codex 执行过程以中文追加到本日志文件,并准备作为单独日志提交继续推送到云仓库。
|
||||
|
||||
## 2026-07-02 08:17:36 EDT - 按 xyzbc-trt working 继续编写程序
|
||||
|
||||
1. 收到请求:按 `/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working` 开始编写程序。
|
||||
2. 读取工作区 AGENTS.md 要求,确认每轮结束必须将完整执行过程用中文追加到 `/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/gptlog-process/gpdlog.md`。
|
||||
3. 检查 `web-rtcp-5axis-xyzbc-trt-sim-plan/working`,确认已有 01-09 工作文档、evidence JSON 和截图证据。
|
||||
4. 读取 `working/README.md`、`01-项目功能内容.md`、`02-项目程序开发详细步骤.md`、`04-任务矩阵.md`,确认基础 app 已存在,未完成重点为 pathSampling、previewPath、executionPath、pathComparison、全量 evidence 字段、POSTGUI HAL、Ngcgui、演示程序全集、kinematics pins、TRAJ/AXIS/JOINT 限制和新 native 基线重采集。
|
||||
5. 检查目标项目源码结构,读取 `tools/collect-web-xyzbc-trt-evidence.mjs`、`tools/compare-xyzbc-trt-evidence.mjs`、`tools/collect-native-xyzbc-trt-evidence.py`,发现 Web/native/compare 脚本尚未实现完整 path 字段和全量对标字段,native 脚本默认路径仍指向历史 `/home/mes123456/linuxcnc-master`。
|
||||
6. 读取 `app/src/profiles/xyzbc-trt.js`、`app/src/runtime/linuxcnc-ini-runtime.js`、`app/src/runtime/linuxcnc-machine-file-staging.js`、`tests/node/verify_xyzbc_trt_web_app.mjs`,确认 profile 已覆盖 XYZBC、M428/M429/M430、HAL pins、Vismach feedback nets 和 OPFS staging,但 `samplePrograms` 仍包含旧的 `3D_Chips.ngc`,未把 `boat-xyzbc.ngc` 明确作为 xyzbc-trt 演示程序。
|
||||
7. 修改 `app/src/profiles/xyzbc-trt.js`,将 `samplePrograms` 调整为 `xyzbc_switchkins.ngc` 与 `boat-xyzbc.ngc`,对齐 `working` 的演示程序全集要求。
|
||||
8. 修改 `tools/collect-web-xyzbc-trt-evidence.mjs`,新增统一 `SAMPLE_PERIOD_MS = 20`,并向 Web evidence 写入 `pathSampling`、`previewPath`、`executionPath`。
|
||||
9. 在 Web evidence 中新增全量对标字段:`startupSequence`、`iniDisplay`、`halNets`、`kinematicsPins`、`axisJointLimits`、`switchkinsTransitions`、`uiEquivalence`、`vismachEquivalent`、`ngcguiSubroutines`、`demoPrograms`。
|
||||
10. 在 Web evidence 的 `coverage` 中新增 `boatProgramStaged`、`ngcguiSubroutinesStaged`、`postguiHalEquivalent`、`kinematicsPinsCovered`、`axisJointLimitsCovered`、`previewPathAvailable`、`executionPathAvailable` 等检查项。
|
||||
11. Web path 采集逻辑设计为:如果缺少 `wasm-port/build/wasm/core/linuxcnc_interp.js/.wasm`,则 `previewPath` 明确写入 blocked;如果缺 task/HAL artifact,则 `executionPath` 明确写入 blocked,不用占位样本伪造通过。
|
||||
12. 修改 `tools/compare-xyzbc-trt-evidence.mjs`,新增 `pathComparison`,覆盖 `previewVsPreview`、`executionVsExecution`、`previewVsExecutionNative`、`previewVsExecutionWeb`。
|
||||
13. 在 compare 中新增路径检查:采样周期必须为 20ms、native/Web preview path 必须有样本、native/Web execution path 必须有样本、native preview/execution 和 Web preview/execution 必须可比。
|
||||
14. 在 compare 中新增误差统计字段:`maxTcpErrorMm`、`rmsTcpErrorMm`、`maxJointError`、`rmsJointError`、`maxToolAxisAngleDeg`、`sampleCountDelta`、`missingSamples`。
|
||||
15. 修改 `tools/collect-native-xyzbc-trt-evidence.py`,将默认 source root 切换为 `/home/mes123456/cnc_wams/linuxcnc`,默认 INI 和默认程序均指向该路径。
|
||||
16. 在 native 脚本中新增 `pathSampling`、`previewPath`、`executionPath` 字段;其中 preview path 当前明确 blocked,execution path 可在 `--run` 捕获 `stat()` 事件后重采样为 20ms 样本。
|
||||
17. 在 native 脚本中新增 `sourceRoot`、`startupSequence`、`halNets`、`kinematicsPins`,并扩展 HAL pin 采集,包含 `x-rot-point`、`y-rot-point`、`z-rot-point`、`conventional-directions`。
|
||||
18. 扩展 native 执行事件,记录 `velocity`、`feedrate`、`spindle`,供执行路径样本字段使用。
|
||||
19. 修改 `tests/node/verify_xyzbc_trt_web_app.mjs`,新增断言:profile `samplePrograms` 必须是 `xyzbc_switchkins.ngc` 和 `boat-xyzbc.ngc`;staging 必须包含 `xyzbc_switchkins_sub.ngc`、`centering.ngc`、`helix_bc.ngc`。
|
||||
20. 执行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node`,通过,输出 `xyzbc_trt_web_app_smoke=ok`。
|
||||
21. 执行 `python3 -m py_compile web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py`,通过,说明 native 采集脚本语法正确。
|
||||
22. 执行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web`,成功生成 `working/evidence/web-xyzbc-trt-evidence.json`。
|
||||
23. 检查 Web evidence,确认 `pathSampling.samplePeriodMs = 20`,`previewPath.samplePeriodMs = 20`,`executionPath.samplePeriodMs = 20`,并确认 `startupSequence`、`halNets`、`ngcguiSubroutines`、`demoPrograms` 等字段已写入。
|
||||
24. 执行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare`,成功生成 `working/evidence/compare-xyzbc-trt-evidence.json`,状态为真实 fail,`fail_count=7`。
|
||||
25. compare 结果为 23 项检查中 16 项通过,7 项失败均指向当前真实缺口:缺少 `wasm-port/build/wasm` artifact,以及 native/Web preview/execution path 样本尚不可比。
|
||||
26. 执行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build`,失败于 `ENOENT: no such file or directory, scandir '/home/mes123456/cnc_wams/wasm-port/build/wasm/kinematics'`。
|
||||
27. 读取 `app/scripts/build-static.mjs`,确认构建脚本要求真实复制 kinematics/core/tp/task-hal WASM 产物;决定不把 build 改为静默通过,避免掩盖 artifact 缺口。
|
||||
28. 更新 `working/04-任务矩阵.md`,将 T-017、T-020、T-021、T-023、T-024、T-027、T-030、T-031、T-032、T-033、T-035、T-037 等状态同步为完成、部分完成或待前置。
|
||||
29. 更新 `working/03-推进台账.md`,新增本轮“evidence 字段与路径对比实现轮次”,记录目标、已做事项、修改文件、验证情况和下一步。
|
||||
30. 更新 `working/05-验收证据.md`,新增 evidence 字段与路径对比实现验收章节,记录 smoke、py_compile、evidence:web、evidence:compare 和 build 的结果。
|
||||
31. 更新 `working/06-决策记录.md`,新增 D-013,明确缺少 WASM artifact 时 build 和 path compare 继续显式失败,不伪造通过。
|
||||
32. 执行 `git diff --check -- web-rtcp-5axis-xyzbc-trt-sim-plan`,无输出,说明当前修改没有 whitespace error。
|
||||
33. 检查 Git 状态,发现运行失败 build 产生了未跟踪 `app/dist/`,运行 py_compile 产生了未跟踪 `tools/__pycache__/`。
|
||||
34. 删除本轮产生的临时目录 `web-rtcp-5axis-xyzbc-trt-sim-plan/app/dist` 和 `web-rtcp-5axis-xyzbc-trt-sim-plan/tools/__pycache__`。
|
||||
35. 再次检查状态,确认本轮保留的改动为 profile、测试、三个 evidence/compare 脚本、working 文档、Web/compare evidence JSON。
|
||||
36. 检查 4174 端口,未发现占用。
|
||||
37. 启动目标 Web 开发服务器:在 `web-rtcp-5axis-xyzbc-trt-sim-plan/app` 执行 `npm run dev`,当前服务运行在 `http://127.0.0.1:4174/`。
|
||||
38. 本轮结论:已经按 working 要求继续编写程序,完成了 Web/native evidence 字段扩展、路径对比框架、profile 演示程序修正、Node smoke 扩展和文档同步;当前剩余阻塞仍是需要构建 `wasm-port/build/wasm` artifact 并用 `/home/mes123456/cnc_wams/linuxcnc` 重新采集 native evidence。
|
||||
|
||||
## 2026-07-02 08:25 EDT - 生成 wasm-port WASM artifact
|
||||
|
||||
1. 收到用户请求:生成 WASM artifact。
|
||||
2. 读取 `wasm-port/README.md`、`wasm-port/AGENTS.md` 和构建脚本,确认必须在 `wasm-port/build/wasm` 下生成产物,不能修改 upstream LinuxCNC 源码,构建脚本为增量式。
|
||||
3. 检查 `wasm-port/build/wasm`,确认此前没有目标 `.js/.wasm` 产物。
|
||||
4. 首次直接执行构建命令失败且无输出,定位原因为当前 shell 未加载 Emscripten 环境,`command -v emcc` 不可用。
|
||||
5. 搜索到 Emscripten 环境脚本 `/home/mes123456/emsdk/emsdk_env.sh` 和编译器 `/home/mes123456/emsdk/upstream/emscripten/emcc`。
|
||||
6. 显式执行 `source /home/mes123456/emsdk/emsdk_env.sh`,确认 `emcc 6.0.2` 可用。
|
||||
7. 执行 `wasm-port/tools/build_wasm_core.sh`,生成 interpreter core artifact。
|
||||
8. 执行 `wasm-port/tools/build_kinematics_wasm.sh`,生成 kinematics artifact,其中包含目标 `linuxcnc_xyzbc_trt_kinematics.js/.wasm`。
|
||||
9. 执行 `wasm-port/tools/build_tp_wasm.sh`,生成 trajectory planner artifact。
|
||||
10. 执行 `wasm-port/tools/build_task_hal_wasm.sh`,生成 task/HAL artifact,脚本输出 `linuxcnc_task_hal_wasm_build=ok`。
|
||||
11. 核对目标产物存在:
|
||||
- `wasm-port/build/wasm/core/linuxcnc_interp.js`
|
||||
- `wasm-port/build/wasm/core/linuxcnc_interp.wasm`
|
||||
- `wasm-port/build/wasm/kinematics/linuxcnc_xyzbc_trt_kinematics.js`
|
||||
- `wasm-port/build/wasm/kinematics/linuxcnc_xyzbc_trt_kinematics.wasm`
|
||||
- `wasm-port/build/wasm/tp/linuxcnc_tp.js`
|
||||
- `wasm-port/build/wasm/tp/linuxcnc_tp.wasm`
|
||||
- `wasm-port/build/wasm/task-hal/linuxcnc_task_hal.js`
|
||||
- `wasm-port/build/wasm/task-hal/linuxcnc_task_hal.wasm`
|
||||
12. 统计 `wasm-port/build/wasm` 下共有 40 个 `.js/.wasm` artifact。
|
||||
13. 查看构建 stderr 日志,确认主要为既有 warning,例如 `rs274ngc_pre.cc` 的格式化 warning 和 shim 中 C23 参数名 warning,没有导致构建失败。
|
||||
14. 执行 `SKIP_KINEMATICS_BUILD=1 wasm-port/tests/wasm/node/verify_kinematics_wasm.sh`,通过,输出 `kinematics_wasm_node_smoke=ok`,其中包含 `xyzbc-trt` kinematics smoke。
|
||||
15. 执行 `SKIP_TP_BUILD=1 wasm-port/tests/wasm/node/verify_tp_wasm.sh`,通过,输出 `tp_wasm_node_smoke=ok`。
|
||||
16. 执行 `SKIP_TASK_HAL_BUILD=1 wasm-port/tests/wasm/node/verify_task_hal_wasm.sh`,通过,输出 `linuxcnc_task_runtime_smoke=ok`、`task_status_from_linuxcnc_runtime=ok`、`task_commands_drive_motion_runtime=ok`、`mdi_jog_task_motion_hal_sync=ok`。
|
||||
17. 执行 `SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh`,产物被加载,但测试失败于 `interp_g10_l11_wasm`,断言期望 `canon_event=SET_G92_OFFSET x=-41.1962 y=-46.1962 z=-72`;因此 interpreter/remap 完整验收仍未完成。
|
||||
18. 在目标项目执行 `node tests/node/verify_xyzbc_trt_web_app.mjs`,通过,输出 `xyzbc_trt_web_app_smoke=ok`。
|
||||
19. 执行 `node tools/collect-web-xyzbc-trt-evidence.mjs`,重新生成 `working/evidence/web-xyzbc-trt-evidence.json`。
|
||||
20. 检查 Web evidence,确认 `status=ready-for-wasm-runtime`、`coverage.wasmArtifactsReady=true`、`wasm.missing=[]`。
|
||||
21. 检查 Web evidence,确认 `previewPath.sampleCount=6174`,说明 Web preview path 已由 `linuxcnc_interp` WASM 生成 20ms 样本。
|
||||
22. 检查 Web evidence,确认剩余 blocker 为 `web-execution-path-unavailable`,原因是 task/HAL execution path collector 尚未实现。
|
||||
23. 执行 `node tools/compare-xyzbc-trt-evidence.mjs`,重新生成 `working/evidence/compare-xyzbc-trt-evidence.json`,结果为 `fail_count=6`。
|
||||
24. 检查 compare summary,确认当前 23 项检查中 17 项通过,剩余失败项均与 native preview/execution path 样本缺失或 Web execution path 样本缺失有关,不再包含缺 WASM artifact。
|
||||
25. 更新 `working/04-任务矩阵.md`:将 T-018 标记为完成,将 T-011 和 T-013 标记为完成,将 T-012 标记为部分完成,将 T-021 标记为完成,并同步 T-017/T-022 状态。
|
||||
26. 更新 `working/03-推进台账.md`:新增“生成 WASM artifact”轮次,记录构建命令、产物、验证结果和后续事项。
|
||||
27. 更新 `working/05-验收证据.md`:新增 WASM artifact 验收记录,列出目标 artifact、通过的验证命令和未通过的 interpreter 回归项。
|
||||
28. 更新 `working/06-决策记录.md`:新增 D-012,明确 artifact 已生成,后续 blocker 改为路径采集与 interpreter 回归。
|
||||
29. 核对 Git 状态,确认 `wasm-port/build/wasm` 产物未显示为跟踪改动,说明它们属于生成/忽略产物;本轮保留的跟踪改动为 evidence JSON 与 working 文档。
|
||||
30. 本轮结论:WASM artifact 已生成,Web evidence 中 artifact 缺失 blocker 已消除;kinematics、TP、task/HAL 验证通过;interpreter 仍有 `interp_g10_l11_wasm` 回归断言失败,native/Web path 对比仍需补齐 native path 重采集和 Web execution path collector。
|
||||
|
||||
## 2026-07-02 08:33 EDT - 完整 interpreter/remap 验收
|
||||
|
||||
1. 收到用户请求:完整 interpreter/remap 验收。
|
||||
2. 检查 `wasm-port/tests/wasm/node/verify_interp_wasm.mjs`,定位上一轮失败点为 `interp_g10_l11_wasm`。
|
||||
3. 读取 `verifyExpectedOutput()` 逻辑,确认该测试逐行检查 output 是否包含 expected 字符串。
|
||||
4. 读取 `g10-l11` 相关测试代码,确认它通过 `writeG10RegressionFiles("g10-l11", ["test.ngc", "test.tbl"])` 写入 `test.ngc`、`test.tbl` 和最小 `test.ini`,再调用 `interp.runFileWithIni()`。
|
||||
5. 读取 `wasm-port/vendor/linuxcnc/tests/interp/g10/g10-l11/test.ngc` 和 `test.tbl`,确认用例覆盖 G10 L2、G10 L11、G92、G54/G55/G56 和工具长度补偿。
|
||||
6. 编写一次性 Node ESM 调试命令,使用 `createLinuxCncInterpSdk()` 单独 staging 并运行 `g10-l11`,打印实际 `SET_G92_OFFSET`、`SET_G5X_OFFSET`、`USE_TOOL_LENGTH_OFFSET`、`MESSAGE` 和 file 状态。
|
||||
7. 调试输出显示 WASM 实际 canonical 事件包含 `SET_G92_OFFSET x=-43.0622 y=-47.4282 z=-72`,而不是旧断言中的 `x=-41.1962 y=-46.1962 z=-72`。
|
||||
8. 读取 `wasm-port/vendor/linuxcnc/tests/interp/g10/g10-l11/expected`,确认 vendored LinuxCNC 当前 expected 同样为 `SET_G92_OFFSET(-43.0622, -47.4282, -72.0000)`。
|
||||
9. 判断失败原因:WASM interpreter/remap 行为与 vendored LinuxCNC expected 一致,Node 验收脚本中的 G10 L11 期望值过期。
|
||||
10. 修改 `wasm-port/tests/wasm/node/verify_interp_wasm.mjs`,将 `interp_g10_l11_wasm` 的 expected 从 `x=-41.1962 y=-46.1962 z=-72` 更新为 `x=-43.0622 y=-47.4282 z=-72`。
|
||||
11. 执行 `source /home/mes123456/emsdk/emsdk_env.sh` 后运行 `SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh`。
|
||||
12. 现有 artifact 验证通过,输出 `interp_wasm_node_smoke=ok`。
|
||||
13. 同一命令输出中仍有既有提示 `link (updating variable file): No such file or directory`,以及 `G88.1`、`M410` remap modalgroup warning;这些提示未影响退出码。
|
||||
14. 继续运行完整入口 `wasm-port/tests/wasm/node/verify_interp_wasm.sh`,不设置 `SKIP_INTERP_BUILD`,确认增量构建入口和完整 Node 验收均可通过。
|
||||
15. 完整入口同样输出 `interp_wasm_node_smoke=ok`,退出码为 0。
|
||||
16. 更新 `web-rtcp-5axis-xyzbc-trt-sim-plan/working/04-任务矩阵.md`,将 T-012 “完整 interpreter/remap WASM 验证”标记为完成。
|
||||
17. 更新 `working/03-推进台账.md`,新增“完整 interpreter/remap 验收”轮次,记录复现、对标 vendored expected、修改内容、验证命令和下一步。
|
||||
18. 同步修改 `working/03-推进台账.md` 中上一轮历史状态描述,避免继续显示该项仍未修复。
|
||||
19. 更新 `working/05-验收证据.md`,把 interpreter/remap 从未通过项改为通过项,并记录 `SKIP_INTERP_BUILD=1` 与完整入口两条命令都输出 `interp_wasm_node_smoke=ok`。
|
||||
20. 更新 `working/06-决策记录.md`,新增 D-013,说明 G10 L11 期望值对齐 vendored LinuxCNC expected,而不是修改 WASM 运行逻辑。
|
||||
21. 执行 `git diff --check`,检查 `verify_interp_wasm.mjs` 和本轮 working 文档,没有 whitespace error。
|
||||
22. 检查 Git 状态,确认本轮新增跟踪改动为 `wasm-port/tests/wasm/node/verify_interp_wasm.mjs` 与 working 文档;已有 Web profile、evidence 脚本、evidence JSON 等改动属于前序轮次保留状态。
|
||||
23. 本轮结论:完整 interpreter/remap WASM 验收已通过;T-012 已完成。剩余项目级 compare 失败仍集中在 native preview/execution path 重采集和 Web task/HAL execution path collector。
|
||||
|
||||
## 2026-07-02 - Web task/HAL executionPath 采集实现
|
||||
|
||||
1. 收到用户请求:接续上一轮,按 `/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working` 持续编写程序。
|
||||
2. 读取工作区文件列表、Git 状态和 `working` 目录文档,确认当前项目已有未提交改动,应作为上一轮成果继续使用,不回退。
|
||||
3. 读取 `working/03-推进台账.md`、`04-任务矩阵.md`、`05-验收证据.md`、`02-项目程序开发详细步骤.md`,确认当前主要缺口为 Web execution path 采集、native path 重采集和浏览器 smoke。
|
||||
4. 读取 `tools/collect-web-xyzbc-trt-evidence.mjs`、`tools/compare-xyzbc-trt-evidence.mjs` 和 `app/src/profiles/xyzbc-trt.js`,确认 Web evidence 已有 previewPath 占位和 executionPath 占位,compare 已检查 pathComparison。
|
||||
5. 检查 `wasm-port/build/wasm`,确认当前已存在 `linuxcnc_interp.js/.wasm`、`linuxcnc_xyzbc_trt_kinematics.js/.wasm`、`linuxcnc_tp.js/.wasm`、`linuxcnc_task_hal.js/.wasm`。
|
||||
6. 读取 `app/src/runtime/linuxcnc-task-hal-runtime.js`、`linuxcnc-task-hal-worker-client.js`、`wasm-port/runtime/sdk/src/linuxcnc-task-hal.js` 和相关 Node 测试,确认 task/HAL runtime 支持 `initSession`、`stageFiles`、`openProgram`、`loadProgramMotionPlan`、`sendCommand`、`runCycles`、`readStatus`。
|
||||
7. 运行一次 Node ESM 探针,使用 `createLinuxCncInterpreterRuntime()` 加载 `xyzbc_switchkins.ngc`,确认 interpreter 生成 29 个 motion 事件、TP planner 生成 6174 个原始样本,总时长约 61.461 秒。
|
||||
8. 修改 `tools/collect-web-xyzbc-trt-evidence.mjs`:在 `collectPathEvidence()` 中将 executionPath 从占位错误改为调用 `pathFromTaskHalExecution()`。
|
||||
9. 新增 `pathFromTaskHalExecution()`:复用 interpreter motion 和 planner timing,创建 task/HAL session,stage 机器文件,open 程序,load motion plan,发送 `EMC_TASK_SET_STATE ON`、`EMC_TASK_SET_MODE AUTO`、`EMC_TASK_PLAN_RUN`,按 20ms task cycle 读取状态并生成 executionPath 样本。
|
||||
10. 新增 `xyzbcAxesFromTaskHalStatus()`,显式按 `joint.0/1/2/3/4` 映射 `X/Y/Z/B/C`,避免通用 XYZAC UI 字段把 B/C 轴写错。
|
||||
11. 新增 `spindleFromTaskHalStatus()`、`currentMotionTypeForLine()`、`firstFiniteNumber()` 等 helper,用于从 task/HAL status 归一化 path 样本。
|
||||
12. 首次运行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web`,生成 Web evidence 成功,确认 `executionPath.sampleCount=569`、`source=web-linuxcnc-task-hal-execution`、`taskHal.completed=true`、`blockers=[]`。
|
||||
13. 运行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare`,compare 结果为 `fail_count=5`,确认 Web execution path blocker 已消失,剩余失败均来自 native path 样本缺失。
|
||||
14. 运行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node`,通过,输出 `xyzbc_trt_web_app_smoke=ok`。
|
||||
15. 运行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build`,通过,输出 `gmoccapy_static_build=ok`,同时产生未跟踪构建目录 `app/dist/`。
|
||||
16. 发现 Web previewPath 原先标记为 20ms,但实际使用 TP 1ms 原始样本;判断这是证据质量问题,需要在采集脚本中真实重采样。
|
||||
17. 修改 `pathFromWebMotion()`,新增 `resamplePlannerSamples()` 和 `interpolatePlannerSample()`,将 TP planner 原始样本按 20ms 重新采样后再写入 `previewPath.samples`。
|
||||
18. 新增 `lerpNumber()`,用于预览路径重采样时线性插值轴坐标、速度和剩余距离。
|
||||
19. 重新运行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web`,通过;确认 `previewPath.sampleCount=3074`、`executionPath.sampleCount=569`、`blockers=[]`。
|
||||
20. 重新运行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare`,结果为 `fail_count=5`,当前 23 项检查中 18 项通过,剩余 5 项均为 native preview/execution path 缺样本或缺 20ms 周期字段。
|
||||
21. 修改 `tests/node/verify_xyzbc_trt_web_app.mjs`,增加 interpreter + task/HAL 执行反馈 smoke:加载 staged `xyzbc_switchkins.ngc`,执行 task/HAL 若干 20ms cycle,断言 HAL sync、activeLine 和 XYZ 轴反馈可读。
|
||||
22. 重新运行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node`,通过,输出 `xyzbc_trt_web_app_smoke=ok`。
|
||||
23. 更新 `working/04-任务矩阵.md`:T-017 改为 18/23 通过且剩余 5 项为 native path;T-021 改为 3074 个 20ms 重采样 preview 样本;T-022 标记为完成,记录 569 个 20ms task/HAL execution 样本。
|
||||
24. 更新 `working/03-推进台账.md`:新增“Web task/HAL executionPath 采集实现轮次”,记录实现内容、验证结果和下一步。
|
||||
25. 更新 `working/05-验收证据.md`:将顶部当前结果更新为 `fail_count=5` 和 `gmoccapy_static_build=ok`,新增 Web task/HAL executionPath 采集验收小节。
|
||||
26. 执行 `python3 -m py_compile tools/collect-native-xyzbc-trt-evidence.py` 和 `git diff --check -- web-rtcp-5axis-xyzbc-trt-sim-plan`,均无输出,表示通过。
|
||||
27. 检查 compare JSON 摘要,确认 `passCount=18`、`failCount=5`、`blockers=[]`、`webStatus=ready-for-wasm-runtime`。
|
||||
28. 检查 Git 状态,确认本轮主要修改为 `collect-web-xyzbc-trt-evidence.mjs`、`verify_xyzbc_trt_web_app.mjs`、Web/compare evidence JSON 和 working 文档;同时保留前序轮次已有的 profile、native collector、compare、wasm-port 测试和日志改动。
|
||||
29. 本轮结论:Web 侧 previewPath 和 executionPath 都已具备真实 20ms 样本;compare 剩余失败已收敛到 native evidence 尚未重采集 path 样本。下一步应在 `/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment` 下重跑 native evidence,再重跑 compare。
|
||||
|
||||
## 2026-07-02 - 安装 curl
|
||||
|
||||
1. 收到用户请求:安装 `curl`。
|
||||
2. 执行 `command -v curl`,确认当前系统未找到 `curl` 可执行文件。
|
||||
3. 检查包管理器,确认系统使用 `apt-get`。
|
||||
4. 执行 `id -u` 和 `sudo -n true`,确认当前用户不是 root,但具备无交互 sudo 权限。
|
||||
5. 执行 `sudo apt-get update && sudo apt-get install -y curl`。
|
||||
6. apt 更新命中 Debian trixie、trixie-updates、trixie-security、Microsoft VS Code 和 Google Chrome 软件源。
|
||||
7. apt 安装 `curl` 包,版本为 `8.14.1-2+deb13u3`,新增占用约 507 kB。
|
||||
8. 安装过程中 debconf 因无交互终端回退到 Noninteractive,未影响安装结果。
|
||||
9. 执行 `curl --version | head -1`,验证 `curl 8.14.1` 已可用。
|
||||
10. 本轮结论:`curl` 已安装完成,可直接在后续命令中使用。
|
||||
|
||||
Reference in New Issue
Block a user