7.6 KiB
7.6 KiB
03-推进台账
本轮目标
完成 Web RTCP 五轴仿真页面中 Run、Stop、Pause、Resume、Step、Home 按钮的互相功能,使按钮真实反映 LinuxCNC task/HAL 状态。Run 不满足条件时必须给出明确提示。
推进记录
| 轮次 | 做了什么 | 改了哪些文件 | 验证了什么 | 下一步 |
|---|---|---|---|---|
| 1 | 阅读 workspace 和 LinuxCNC WASM port 规则,确认必须以 LinuxCNC 源码作为语义依据 | 无 | 确认 AGENTS.md 和 wasm-port/SKILL.md 规则 |
定位按钮和状态代码 |
| 2 | 查找按钮渲染、状态 store、task/HAL runtime、motion runtime | 无 | 定位 gmoccapy-shell.js、store.js、task/HAL WASM shim |
对照 LinuxCNC 源码 |
| 3 | 对照 LinuxCNC 源码确认命令语义 | 无 | 确认 RUN/PAUSE/RESUME/STEP/ABORT/HOME 对应 LinuxCNC command |
修改 UI gate |
| 4 | 调整按钮 blocked 行为,Run/Stop/Pause/Resume/Step/Home blocked 时仍可点击 | web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-shell.js |
blocked Run 可以点击并产生 operatorMessage | 修改 store 命令 |
| 5 | 修改 store 中 Resume、Step、Home、session reset 和 status patch 行为 | web-rtcp-5axis-sim-plan/app/src/state/store.js |
Step 发送 EMC_TASK_PLAN_STEP,Home 状态不丢失 |
修改 WASM runtime |
| 6 | task/HAL runtime 增加 paused/single-stepping 状态和 EMC_TASK_PLAN_STEP |
wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_task_hal_wasm.cpp |
task status 输出 taskPaused、singleStepping |
修改 motion runtime |
| 7 | motion runtime 增加 EMC_TRAJ_STEP / EMCMOT_STEP |
wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_motion_runtime.c |
paused 状态下 step 命令可以通过 | 重建 WASM |
| 8 | 重建 task/HAL WASM | 生成/更新 build artifact | linuxcnc_task_hal_wasm_build=ok |
跑 Node/WASM 测试 |
| 9 | 跑 WASM 和 Node 测试,发现 MDI M428 状态被旧时序影响 |
store.js |
定位 Home 快速切模式导致 allHomed 丢失 |
修复 Home race |
| 10 | 修复 Home race:task/HAL HOME 先同步 Web homed 状态,再发 runtime command | store.js |
verify_linuxcnc_task_hal_runtime.mjs 通过 |
增强测试 |
| 11 | 增加 STEP/STOP task/HAL 状态断言 | web-rtcp-5axis-sim-plan/tests/node/verify_linuxcnc_task_hal_runtime.mjs |
Step/Stop 状态可验收 | 增加浏览器断言 |
| 12 | 增加浏览器 blocked Run button 可点击断言 | web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html |
blocked Run 不再 disabled,点击后提示原因 | 记录日志 |
| 13 | 追加 GPT/Codex 过程日志 | web-rtcp-5axis-sim-plan/gptlog-process/gpdlog.md |
满足 workspace logging rule | 生成交付文档 |
| 14 | 新增浏览器按钮流程取证脚本,采集 Home/Run/Pause/Resume/Step/Stop 点击前后截图和状态报告 | qa/web-rtcp-5axis-site-test/capture-button-control-evidence.mjs |
button_control_evidence_status=PASS,生成 14 张截图和 JSON 报告 |
更新工作文档和日志 |
| 15 | 参数化按钮取证脚本,增加 TARGET_URL、云端独立输出、job_id、report_id、PDF 报告 |
qa/web-rtcp-5axis-site-test/capture-button-control-evidence.mjs |
本地取证仍 PASS,并生成 PDF | 部署云端 |
| 16 | 重建并部署当前静态站点到 https://82.156.24.101:8092/ |
web-rtcp-5axis-sim-plan/app/dist;远端 /var/www/web-rtcp-5axis-sim |
nginx -t 成功;远端 curl -k -I https://127.0.0.1:8092/ 返回 HTTP/2 200 |
跑云端按钮验收 |
| 17 | 对云端页面运行按钮流程取证 | qa/web-rtcp-5axis-site-test/output/cloud-button-control-evidence-report.json;cloud-button-control-evidence-report.pdf;screenshots/cloud-button-control-evidence/*.png |
button_control_evidence_status=PASS,job_id/report_id 已生成 |
做 native 对照 |
| 18 | 生成 LinuxCNC native task/HAL 对照报告,记录 source/phase0 audit 和 host-native runtime blocker | qa/web-rtcp-5axis-site-test/capture-native-task-hal-comparison.mjs;native-task-hal-comparison-report.json;native-task-hal-comparison-report.md |
native_task_hal_comparison_status=PASS_WITH_HOST_NATIVE_RUNTIME_BLOCKER |
更新文档和日志 |
最终改动文件
wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_motion_runtime.cwasm-port/runtime/core/linuxcnc_wrap/linuxcnc_task_hal_wasm.cppweb-rtcp-5axis-sim-plan/app/src/state/store.jsweb-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-shell.jsweb-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.htmlweb-rtcp-5axis-sim-plan/tests/node/verify_linuxcnc_task_hal_runtime.mjsqa/web-rtcp-5axis-site-test/capture-button-control-evidence.mjsqa/web-rtcp-5axis-site-test/output/button-control-evidence-report.jsonqa/web-rtcp-5axis-site-test/output/button-control-evidence-report.pdfqa/web-rtcp-5axis-site-test/screenshots/button-control-evidence/*.pngqa/web-rtcp-5axis-site-test/output/cloud-button-control-evidence-report.jsonqa/web-rtcp-5axis-site-test/output/cloud-button-control-evidence-report.pdfqa/web-rtcp-5axis-site-test/screenshots/cloud-button-control-evidence/*.pngqa/web-rtcp-5axis-site-test/capture-native-task-hal-comparison.mjsqa/web-rtcp-5axis-site-test/output/native-task-hal-comparison-report.jsonqa/web-rtcp-5axis-site-test/output/native-task-hal-comparison-report.mdweb-rtcp-5axis-sim-plan/gptlog-process/gpdlog.md
最终验证
通过:
bash wasm-port/tools/build_task_hal_wasm.shnode wasm-port/tests/wasm/node/verify_task_hal_wasm.mjsnode web-rtcp-5axis-sim-plan/tests/node/verify_linuxcnc_task_hal_runtime.mjsnode web-rtcp-5axis-sim-plan/tests/node/verify_run_preconditions.mjsnode web-rtcp-5axis-sim-plan/tests/node/verify_rtcp_store.mjsbash web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_shell_browser.shnode --check qa/web-rtcp-5axis-site-test/capture-button-control-evidence.mjsnode qa/web-rtcp-5axis-site-test/capture-button-control-evidence.mjsTARGET_URL='https://82.156.24.101:8092/' EVIDENCE_SCOPE='cloud-button-control-evidence' node qa/web-rtcp-5axis-site-test/capture-button-control-evidence.mjsbash wasm-port/tests/native/verify_task_hal_phase0.shnode web-rtcp-5axis-sim-plan/tests/node/verify_native_task_hal_audit.mjsnode --check qa/web-rtcp-5axis-site-test/capture-native-task-hal-comparison.mjsnode qa/web-rtcp-5axis-site-test/capture-native-task-hal-comparison.mjs
新增浏览器取证结果:
button_control_evidence_status=PASS- JSON:
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/button-control-evidence-report.json - 截图目录:
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/screenshots/button-control-evidence/ - PDF:
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/button-control-evidence-report.pdf - 云端 JSON:
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/cloud-button-control-evidence-report.json - 云端 PDF:
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/cloud-button-control-evidence-report.pdf - 云端截图目录:
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/screenshots/cloud-button-control-evidence/ - 云端 job_id:
btn-20260623091811-c291e49b - 云端 report_id:
report-btn-20260623091811-c291e49b - Native 对照 JSON:
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/native-task-hal-comparison-report.json - Native 对照 Markdown:
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/native-task-hal-comparison-report.md
遗留事项
work/working1中 BTN-001 到 BTN-013 已全部有验收或 blocker 证据。- 当前仍不声明真实硬件、host realtime kernel、外部 User-M process 或 tool DB native runtime 已具备;native host runtime 的阻塞原因已记录在 native 对照报告中。