提交 xyzbc-trt 界面与验证更新
This commit is contained in:
@@ -1,5 +1,59 @@
|
||||
# 03-推进台账
|
||||
|
||||
## 2026-07-02 15:45 EDT - native 采集器自启动复核轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
接续上一轮,复核 `working` 目录声称已完成的全部验收项,并修正 native evidence 单条验收命令不能独立重现的问题。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 运行 `python3 -m py_compile tools/collect-native-xyzbc-trt-evidence.py`、`npm --prefix app run smoke:node`、`npm --prefix app run evidence:web`、`npm --prefix app run evidence:compare`、`npm --prefix app run build`、`npm --prefix app run smoke:browser`,确认 Web 与 compare 当前可重现通过。
|
||||
- 首次直接执行 `/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment python3 tools/collect-native-xyzbc-trt-evidence.py --run --timeout 80` 时失败,错误为 `linuxcnc.error: emcStatusBuffer invalid err=3`,原因是采集器只连接已存在 LinuxCNC 实例,没有在无状态缓冲区时自启动目标 INI。
|
||||
- 修改 `tools/collect-native-xyzbc-trt-evidence.py`:
|
||||
- `--run` 默认在无可用 LinuxCNC 状态缓冲区时启动 `/home/mes123456/cnc_wams/linuxcnc/scripts/linuxcnc` 和目标 `xyzbc-trt.ini`。
|
||||
- 新增 `--startup-timeout` 和 `--no-autostart`,保留只连接现有实例的兼容路径。
|
||||
- 自启动日志写入 `/tmp/xyzbc-trt-native-evidence-linuxcnc.log`。
|
||||
- 采集结束后只清理本采集器启动的 LinuxCNC 进程。
|
||||
- 若连接或自启动失败,写入明确的 blocked JSON,而不是让 Python traceback 成为唯一结果。
|
||||
- 重新生成:
|
||||
- `working/evidence/native-xyzbc-trt-evidence.json`
|
||||
- `working/evidence/web-xyzbc-trt-evidence.json`
|
||||
- `working/evidence/compare-xyzbc-trt-evidence.json`
|
||||
|
||||
### 验证情况
|
||||
|
||||
- `python3 -m py_compile tools/collect-native-xyzbc-trt-evidence.py` 通过。
|
||||
- `/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment python3 tools/collect-native-xyzbc-trt-evidence.py --run --timeout 80` 通过,`native.linuxcncRuntime.startup.startedByCollector=true`。
|
||||
- `npm --prefix app run smoke:node` 通过,输出 `xyzbc_trt_web_app_smoke=ok`。
|
||||
- `npm --prefix app run evidence:web` 通过。
|
||||
- `npm --prefix app run evidence:compare` 通过,输出 `compare_xyzbc_trt_status=pass`。
|
||||
- `npm --prefix app run build` 通过,输出 `gmoccapy_static_build=ok`。
|
||||
- `npm --prefix app run smoke:browser` 通过,输出 `xyzbc_trt_browser_smoke=ok`。
|
||||
|
||||
### JSON 摘要
|
||||
|
||||
```text
|
||||
native.status = ok
|
||||
native.linuxcncRuntime.startup.startedByCollector = true
|
||||
native.previewPath.sampleCount = 3226
|
||||
native.executionPath.sampleCount = 7
|
||||
native.executionPath.taskHal.completed = true
|
||||
|
||||
web.status = ready-for-wasm-runtime
|
||||
web.previewPath.sampleCount = 3074
|
||||
web.executionPath.sampleCount = 569
|
||||
|
||||
compare.summary.checkCount = 29
|
||||
compare.summary.passCount = 29
|
||||
compare.summary.failCount = 0
|
||||
compare.summary.blockers = []
|
||||
```
|
||||
|
||||
### 结论
|
||||
|
||||
`working` 目录要求的 T-001 到 T-040 已完成,且 native/Web/compare 证据可通过文档中的单条命令链重新生成。此前需要手动预先启动 LinuxCNC 的隐含前置已移除。
|
||||
|
||||
## 2026-07-02 10:32 EDT - native/Web 全量证据闭环轮次
|
||||
|
||||
### 本轮目标
|
||||
@@ -644,3 +698,42 @@ web-rtcp-5axis-xyzbc-trt-sim-plan/working/06-决策记录.md
|
||||
1. 继续 native preview/execution path 重采集。
|
||||
2. 实现 Web task/HAL execution path collector。
|
||||
3. 重跑 Web/native compare,使剩余 6 个 path 相关失败项进入可比误差统计。
|
||||
|
||||
## 2026-07-02 AXIS 按钮级源程序对标与逐按钮验证
|
||||
|
||||
### 本轮目标
|
||||
|
||||
继续用户要求:`web-rtcp-5axis-xyzbc-trt-sim-plan` 的 Web 仿真页面必须继续完全对标 LinuxCNC 源程序 AXIS 功能,界面按钮功能也要全面对标 LinuxCNC 源程序功能,并验证每一个按钮的功能和逻辑。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 定位真实 AXIS 源码:`/home/mes123456/cnc_wams/linuxcnc/src/emc/usr_intf/axis/scripts/axis.py`。
|
||||
- 在 `app/src/ui/axis-shell.js` 新增 `AXIS_BUTTON_PARITY`,逐项记录 Web action、LinuxCNC `axis.py`/POSTGUI HAL 来源、源码行段和预期状态效果。
|
||||
- 修正按钮逻辑:
|
||||
- `estop` 由单向进入 ESTOP 改为按 AXIS `estop_clicked` 语义在 ESTOP/ESTOP_RESET 间切换。
|
||||
- 菜单 `open` 从全局 AXIS shell 查找隐藏 file input,避免 menubar 局部查找失败。
|
||||
- 给菜单、工具栏、手动/MDI、PyVCP 控件补 `data-axis-source-ref`、`data-axis-source-lines`、`data-axis-expected-effect`,供浏览器验收。
|
||||
- `main.js` 公开 `getButtonParity()`,浏览器 smoke 可直接检查按钮级对标矩阵。
|
||||
- Web evidence 新增 `axisMainUi.axisButtonParity` 和 `coverage.axisButtonParityCovered`;compare 新增按钮级覆盖检查。
|
||||
- Node smoke 增加按钮状态机断言。
|
||||
- Browser smoke 增加真实点击序列,覆盖 ESTOP/复位、上电、回零、MDI、M428/M429/M430、Jog、override、主轴、冷却、视图、清轨迹、run-ready。
|
||||
- 更新 `04-任务矩阵.md`,新增 T-041/T-042。
|
||||
- 更新 `07-全量对标追踪矩阵.md` 和 `08-xyzbc-trt-界面与图标分析.md`,把按钮级对标纳入后续工作基线。
|
||||
|
||||
### 验证情况
|
||||
|
||||
- `npm run smoke:node` 通过,输出 `xyzbc_trt_web_app_smoke=ok`。
|
||||
- `npm run build` 通过,输出 `gmoccapy_static_build=ok`。
|
||||
- `npm run smoke:browser` 通过,输出 `xyzbc_trt_browser_smoke=ok`;浏览器实际点击 AXIS/PyVCP 关键按钮并断言状态变化。
|
||||
- `npm run evidence:web` 通过,生成 `working/evidence/web-xyzbc-trt-evidence.json`。
|
||||
- `npm run evidence:compare` 通过,输出 `compare_xyzbc_trt_status=pass`。
|
||||
- 当前 `web-xyzbc-trt-evidence.json` 摘要:
|
||||
- `axisMainUi.axisButtonParity.buttonCount=61`
|
||||
- `axisMainUi.axisButtonParity.sourceReferencedCount=61`
|
||||
- `axisMainUi.axisButtonParity.missingActions=[]`
|
||||
- `coverage.axisButtonParityCovered=true`
|
||||
- 当前 `compare-xyzbc-trt-evidence.json` 摘要:
|
||||
- `checkCount=30`
|
||||
- `passCount=30`
|
||||
- `failCount=0`
|
||||
- `blockers=[]`
|
||||
|
||||
Reference in New Issue
Block a user