Files
cnc_wams/work/working5/05-验收证据.md
2026-07-02 08:01:34 -04:00

419 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 05-验收证据
## 证据索引
| 证据编号 | 任务编号 | 类型 | 命令/页面/文件 | 结果 |
| --- | --- | --- | --- | --- |
| EV-W5-001 | W5-001 | 文件 | `/home/mes123456/cnc_wams/work/working5` | 已创建 README 和 01-06 工作控制文件 |
| EV-W5-020 | W5-020/W5-100/W5-110/W5-120/W5-130/W5-140 | 命令 | `cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app && npm run smoke:node` | 通过,输出包含 `gmoccapy_xyzab_gates_smoke=ok``gmoccapy_hal_model_smoke=ok``real_linuxcnc_5axis_program_cases_smoke=ok``linear_unit_conversion_smoke=ok` |
| EV-W5-030 | W5-030 | 命令 | `cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app && npm run build` | 通过,输出 `gmoccapy_static_build=ok` |
| EV-W5-040 | W5-040/W5-150 | 命令 | `cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app && npm run smoke` | 通过,输出 `gmoccapy_shell_smoke=ok``gmoccapy_dist_smoke=ok` |
| EV-W5-110 | W5-110/W5-150 | 命令 | `node ../tests/node/verify_gmoccapy_xyzab_gates.mjs && node ../tests/node/verify_run_preconditions.mjs && bash ../tests/browser/verify_gmoccapy_shell_browser.sh` | 通过,验证下电禁用 Manual/Jog/MDI/Auto上电未回零只允许 Manual/Jog回零后允许 Auto/MDI |
| EV-W5-160 | W5-120/W5-160 | 命令 | `node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_profile_boundary.mjs` | 通过,验证 `gmoccapy_postgui.hal` 换刀策略为 `iocontrol-loopback`、手动 gmoccapy 换刀 GUI pins 未连接、3 个 POSTGUI `unlinkp` 被记录 |
| EV-W5-161 | W5-020/W5-030/W5-040/W5-160 | 命令 | `npm run smoke:node``npm run build && npm run smoke` | 通过,完整 Node、静态构建、浏览器 gmoccapy shell/dist smoke 均覆盖新增换刀诊断 |
| EV-W5-170 | W5-150/W5-170 | 命令 | `node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_communication_model.mjs && node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_gmoccapy_xyzab_gates.mjs` | 通过,验证 hard-button 模型、通信路径、profile pin 顺序和 `GMOCAPY_HARDWARE_BUTTON` gate 行为 |
| EV-W5-171 | W5-020/W5-030/W5-040/W5-170 | 命令 | `npm run smoke:node``npm run build && npm run smoke` | 通过,完整 Node、静态构建、浏览器 gmoccapy shell/dist smoke 均覆盖 hard-button DOM 映射和诊断 |
| EV-W5-180 | W5-150/W5-180 | 命令 | `node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_communication_model.mjs && node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_gmoccapy_xyzab_gates.mjs && bash ../tests/browser/verify_gmoccapy_shell_browser.sh` | 通过,验证 `GMOCAPY_HAL_PIN` 对 ignore-limits、optional-stop、blockdelete、override counts/direct-value/reset pins 的映射和 UI 诊断 |
| EV-W5-181 | W5-020/W5-030/W5-040/W5-180 | 命令 | `npm run smoke:node``npm run build && npm run smoke` | 通过,完整 Node、静态构建、浏览器 gmoccapy shell/dist smoke 均覆盖新增 HAL input/override 诊断和 Web 控件 |
| EV-W5-190 | W5-150/W5-190 | 命令 | `node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_communication_model.mjs``node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_gmoccapy_xyzab_gates.mjs``bash ../tests/browser/verify_gmoccapy_shell_browser.sh` | 通过,验证 `GMOCAPY_HAL_PIN` 对 jog axis press/release、jog increment rising-edge、turtle jog、delete-message、warning-confirm pins 的映射和 UI 诊断 |
| EV-W5-191 | W5-020/W5-030/W5-040/W5-190 | 命令 | `npm run smoke:node``npm run build && npm run smoke` | 通过,完整 Node、静态构建、浏览器 gmoccapy shell/dist smoke 均覆盖新增 jog/message HAL pin 诊断和 Web 行为 |
| EV-W5-200 | W5-150/W5-200 | 命令 | `node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_communication_model.mjs && node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_gmoccapy_xyzab_gates.mjs``bash ../tests/browser/verify_gmoccapy_shell_browser.sh` | 通过,验证 `gmoccapy.unlock-settings`、tool measurement HAL_OUT pins、动态 `messages.*` pin 边界和 UI 诊断 |
| EV-W5-201 | W5-020/W5-030/W5-040/W5-200 | 命令 | `npm run smoke:node``npm run build && npm run smoke` | 通过,完整 Node、静态构建、浏览器 gmoccapy shell/dist smoke 均覆盖新增 settings/tool/user-message 低频 HAL pin 诊断和 Web 行为 |
| EV-W5-900 | W5-900 | 命令 | `npm run smoke:node``npm run build``npm run smoke` | 通过,最终复核确认 working5 当前任务矩阵闭环Node、静态构建、浏览器冒烟均在当前工作区通过 |
## 命令记录
### 2026-06-26 R2
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run smoke:node
```
结果:通过。
关键输出摘要:
- `linuxcnc_kinematics_runtime_smoke=ok`
- `linuxcnc_interpreter_runtime_smoke=ok`
- `linuxcnc_task_hal_runtime_smoke=ok`
- `full_linuxcnc_5axis_source_node_smoke=ok`
- `real_linuxcnc_5axis_program_cases_smoke=ok`
- `gmoccapy_xyzab_profile_smoke=ok`
- `gmoccapy_communication_model_smoke=ok`
- `gmoccapy_hal_model_smoke=ok`
- `gmoccapy_xyzab_gates_smoke=ok`
- `linear_unit_conversion_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run build
```
结果:通过,输出 `gmoccapy_static_build=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run smoke
```
结果:通过,输出:
- `gmoccapy_shell_smoke=ok`
- `gmoccapy_dist_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
node ../tests/node/verify_gmoccapy_xyzab_gates.mjs && node ../tests/node/verify_run_preconditions.mjs && bash ../tests/browser/verify_gmoccapy_shell_browser.sh
```
结果:通过,输出:
- `gmoccapy_xyzab_gates_smoke=ok`
- `run_preconditions_ini_profile_smoke=ok`
- `run_preconditions_kinematics_smoke=ok`
- `run_preconditions_machine_file_smoke=ok`
- `gmoccapy_shell_smoke=ok`
### 2026-06-26 R3
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_profile_boundary.mjs
```
结果:通过,输出:
- `gmoccapy_hal_model_smoke=ok`
- `gmoccapy_xyzab_profile_smoke=ok`
- `profile_boundary_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run smoke:node
```
结果:通过。
关键输出摘要:
- `linuxcnc_task_hal_runtime_smoke=ok`
- `profile_boundary_smoke=ok`
- `gmoccapy_xyzab_profile_smoke=ok`
- `gmoccapy_hal_model_smoke=ok`
- `gmoccapy_xyzab_gates_smoke=ok`
- `linear_unit_conversion_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run build && npm run smoke
```
结果:通过,输出:
- `gmoccapy_static_build=ok`
- `gmoccapy_shell_smoke=ok`
- `gmoccapy_dist_smoke=ok`
本轮新增浏览器断言:
- `data-gmoccapy-hal="tool-change"` 必须包含 `iocontrol-loopback`
- 同一诊断行必须包含 `manual GUI pins disconnected`
- 同一诊断行必须包含 `3 postgui unlinkp`
### 2026-06-26 R4
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_communication_model.mjs && node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_gmoccapy_xyzab_gates.mjs
```
结果:通过,输出:
- `gmoccapy_hal_model_smoke=ok`
- `gmoccapy_communication_model_smoke=ok`
- `gmoccapy_xyzab_profile_smoke=ok`
- `gmoccapy_xyzab_gates_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run smoke:node
```
结果:通过。
关键输出摘要:
- `gmoccapy_xyzab_profile_smoke=ok`
- `gmoccapy_communication_model_smoke=ok`
- `gmoccapy_hal_model_smoke=ok`
- `gmoccapy_xyzab_gates_smoke=ok`
- `linear_unit_conversion_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run build && npm run smoke
```
结果:通过,输出:
- `gmoccapy_static_build=ok`
- `gmoccapy_shell_smoke=ok`
- `gmoccapy_dist_smoke=ok`
本轮新增 Node 断言:
- `gmoccapy.v-button.button-0..6` 对应 `tbtn_estop``tbtn_on``rbt_manual``rbt_mdi``rbt_auto``tbtn_user_tabs``tbtn_setup`
- `gmoccapy.h-button.button-0` 对应底部主页面 `btn_homing`Web dispatch 为 `HOME`
- `GMOCAPY_HARDWARE_BUTTON` 忽略 falling edgerising edge 复用现有 Web gate未映射或诊断-only pin 给出明确 operator message。
本轮新增浏览器断言:
- 侧边 `estop``power``mode-manual``mode-mdi``mode-auto``mode-jog` 按钮必须带有对应 `data-gmoccapy-hal-pin="gmoccapy.v-button.button-N"`
- 底部 `HOME` 按钮必须带有 `data-gmoccapy-hal-pin="gmoccapy.h-button.button-0"`
- `data-gmoccapy-hal="hard-buttons"` 必须包含 `7 right v-button pins``4 bottom h-button main refs``7 mapped Web buttons``rising-edge-only``insensitive ignored`
### 2026-06-27 R5
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_communication_model.mjs && node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_gmoccapy_xyzab_gates.mjs && bash ../tests/browser/verify_gmoccapy_shell_browser.sh
```
结果:通过,输出:
- `gmoccapy_hal_model_smoke=ok`
- `gmoccapy_communication_model_smoke=ok`
- `gmoccapy_xyzab_profile_smoke=ok`
- `gmoccapy_xyzab_gates_smoke=ok`
- `gmoccapy_shell_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run smoke:node
```
结果:通过。
关键输出摘要:
- `gmoccapy_xyzab_profile_smoke=ok`
- `gmoccapy_communication_model_smoke=ok`
- `gmoccapy_hal_model_smoke=ok`
- `gmoccapy_xyzab_gates_smoke=ok`
- `linear_unit_conversion_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run build && npm run smoke
```
结果:通过,输出:
- `gmoccapy_static_build=ok`
- `gmoccapy_shell_smoke=ok`
- `gmoccapy_dist_smoke=ok`
本轮新增 Node 断言:
- `gmoccapy.ignore-limits` 设置 `gmoccapyGui.ignoreLimits`active 时记录 `command.override_limits()` 请求语义。
- `gmoccapy.optional-stop` 按源码 `_optional_blocks()` 交叉驱动 `optionalBlocks`/block delete`gmoccapy.blockdelete``_blockdelete()` 交叉驱动 `optionalStop`
- override counts 在 count-enable 为 false 时只同步 countscount-enable 为 true 时按 `gmoccapy_XYZAB.pref` 中 scale 调整 feed/rapid/spindle/jog velocity。
- direct-value 在 analog-enable 为 false 时忽略analog-enable 为 true 时按 0..1 比例映射滑块范围。
- reset pins 忽略 falling edgerising edge 将 feed/rapid/spindle override 复位到 100。
本轮新增浏览器断言:
- `data-gmoccapy-hal="operator-inputs"` 必须包含 `3 operator pins``optional-stop -> block delete``blockdelete -> optional stop`
- `data-gmoccapy-hal="override-inputs"` 必须包含 `4 override targets``counts require enable``direct-value requires analog-enable``reset rising-edge-only`
- Web override 面板的 feed/spindle 100% reset、ignore limits、block delete、optional stop 控件必须更新 store 状态和最后一次 HAL input DOM。
- 通过 `window.webRtcp5AxisSimulation.dispatch({ type: "GMOCAPY_HAL_PIN", ... })` 验证浏览器内 optional/blockdelete 交叉 pin 行为。
### 2026-06-27 R6
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_communication_model.mjs
```
结果:通过,输出:
- `gmoccapy_hal_model_smoke=ok`
- `gmoccapy_communication_model_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_gmoccapy_xyzab_gates.mjs
```
结果:通过,输出:
- `gmoccapy_xyzab_profile_smoke=ok`
- `gmoccapy_xyzab_gates_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
bash ../tests/browser/verify_gmoccapy_shell_browser.sh
```
结果:通过,输出:
- `gmoccapy_shell_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run smoke:node
```
结果:通过。
关键输出摘要:
- `gmoccapy_xyzab_profile_smoke=ok`
- `gmoccapy_communication_model_smoke=ok`
- `gmoccapy_hal_model_smoke=ok`
- `gmoccapy_xyzab_gates_smoke=ok`
- `linear_unit_conversion_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run build && npm run smoke
```
结果:通过,输出:
- `gmoccapy_static_build=ok`
- `gmoccapy_shell_smoke=ok`
- `gmoccapy_dist_smoke=ok`
本轮新增 Node 断言:
- `gmoccapy.jog.axis.jog-x/y/z/a/b-{plus,minus}` 共 10 个 axis jog pins 按 press/release 电平进入和退出 jog 状态。
- `gmoccapy.jog.jog-inc-0..5` 只响应 true/rising edge`jog-inc-0` 为连续点动,`jog-inc-5``1.2345 in` 映射为 31.3563 mm。
- `gmoccapy.jog.turtle-jog` 为 level-driven 状态。
- `gmoccapy.delete-message` falling edge 忽略true 时删除消息并清除 alert/error 语义。
- `gmoccapy.warning-confirm` 记录 active warning dialog 的 confirm pin level。
本轮新增浏览器断言:
- `data-gmoccapy-hal="jog-inputs"` 必须包含 `10 axis jog pins``6 jog-inc pins``press/release level``jog-inc rising-edge-only``jog-inc-0 continuous`
- `data-gmoccapy-hal="message-inputs"` 必须包含 `3 message pins``delete-message rising-edge-only``warning-confirm level-polled`
- 通过 `window.webRtcp5AxisSimulation.dispatch({ type: "GMOCAPY_HAL_PIN", ... })` 验证浏览器内 jog increment、axis jog press/release、turtle jog、delete-message 和 warning-confirm 状态。
### 2026-06-27 R7
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_communication_model.mjs && node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_gmoccapy_xyzab_gates.mjs
```
结果:通过,输出:
- `gmoccapy_hal_model_smoke=ok`
- `gmoccapy_communication_model_smoke=ok`
- `gmoccapy_xyzab_profile_smoke=ok`
- `gmoccapy_xyzab_gates_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
bash ../tests/browser/verify_gmoccapy_shell_browser.sh
```
结果:通过,输出:
- `gmoccapy_shell_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run smoke:node
```
结果:通过。
关键输出摘要:
- `gmoccapy_xyzab_profile_smoke=ok`
- `gmoccapy_communication_model_smoke=ok`
- `gmoccapy_hal_model_smoke=ok`
- `gmoccapy_xyzab_gates_smoke=ok`
- `linear_unit_conversion_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run build && npm run smoke
```
结果:通过,输出:
- `gmoccapy_static_build=ok`
- `gmoccapy_shell_smoke=ok`
- `gmoccapy_dist_smoke=ok`
```bash
cd /home/mes123456/cnc_wams
git diff --check -- web-rtcp-5axis-sim-plan work/working5
```
结果:通过,无输出。
本轮新增 Node 断言:
- `gmoccapy.unlock-settings` 是 settings pin默认 `unlock_way=use` 时只记录 pin level不锁定 setup显式 HAL unlock 模式下按 level 控制 setup sensitive。
- `gmoccapy.probeheight``gmoccapy.blockheight``gmoccapy.toolmeasurement``gmoccapy.searchvel``gmoccapy.probevel` 记录为 HAL_OUT tool measurement pins。
- `gmoccapy_XYZAB.ini``[TOOLSENSOR]`,所以 auto tool measurement 默认禁用;`gmoccapy_XYZAB.pref` 默认 `use_toolmeasurement=False``blockheight=0.0`
- `gmoccapy_XYZAB.ini``[DISPLAY] MESSAGE_*`,所以动态 `gmoccapy.messages.*` pins 不创建Web 对 `messages.*` dispatch 返回明确 operator message。
本轮新增浏览器断言:
- `data-gmoccapy-hal="settings-inputs"` 必须包含 `1 settings pins``unlock-settings level-driven``unlock-way use``setup sensitive`
- `data-gmoccapy-hal="tool-user-inputs"` 必须包含 `5 tool measurement HAL_OUT pins``XYZAB no TOOLSENSOR``0 user message pins``no MESSAGE_*`
- 通过 `window.webRtcp5AxisSimulation.dispatch({ type: "GMOCAPY_HAL_PIN", ... })` 验证浏览器内 `unlock-settings` 默认忽略和 HAL unlock level 行为、`blockheight` 诊断记录、`messages.*` 无配置提示。
### 2026-06-27 R8
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run smoke:node
```
结果:通过。
关键输出摘要:
- `linuxcnc_kinematics_runtime_smoke=ok`
- `linuxcnc_interpreter_runtime_smoke=ok`
- `linuxcnc_ini_runtime_smoke=ok`
- `linuxcnc_task_hal_runtime_smoke=ok`
- `real_linuxcnc_5axis_program_cases_smoke=ok`
- `gmoccapy_xyzab_profile_smoke=ok`
- `gmoccapy_communication_model_smoke=ok`
- `gmoccapy_hal_model_smoke=ok`
- `gmoccapy_xyzab_gates_smoke=ok`
- `linear_unit_conversion_smoke=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run build
```
结果:通过,输出 `gmoccapy_static_build=ok`
```bash
cd /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app
npm run smoke
```
结果:通过,输出:
- `gmoccapy_shell_smoke=ok`
- `gmoccapy_dist_smoke=ok`
本轮复核结论:
- `04-任务矩阵.md` 中 W5-001 到 W5-900 均为完成。
- 当前源码、测试和文档状态可通过完整 Node、构建和浏览器冒烟验收。
## 页面/截图/report/job 记录
本轮未生成截图、PDF、job_id 或 report_id。浏览器验收由 headless Chromium smoke 脚本完成。