136 lines
4.9 KiB
Markdown
136 lines
4.9 KiB
Markdown
# 05-验收证据
|
||
|
||
## 记录规则
|
||
|
||
每次验证后追加证据。建议格式:
|
||
|
||
```text
|
||
## YYYY-MM-DD HH:MM EDT - 任务 W9-xxx
|
||
|
||
### 命令
|
||
|
||
### 输出摘要
|
||
|
||
### 页面/截图/trace/report
|
||
|
||
### 结论
|
||
```
|
||
|
||
证据可以包括:
|
||
|
||
- 命令和关键输出。
|
||
- 页面 URL。
|
||
- Playwright trace 路径。
|
||
- 截图目录。
|
||
- `manifest.json`。
|
||
- `job_id`、`report_id`。
|
||
- PDF 或报告文件。
|
||
- WASM hash、dist hash。
|
||
|
||
## 2026-07-07 16:42 EDT - 任务 W9-000
|
||
|
||
### 命令
|
||
|
||
```bash
|
||
sed -n '1,260p' '项目分析/AXIS主控制按钮调用链与WASM完善指南.md'
|
||
sed -n '261,620p' '项目分析/AXIS主控制按钮调用链与WASM完善指南.md'
|
||
sed -n '621,980p' '项目分析/AXIS主控制按钮调用链与WASM完善指南.md'
|
||
find 'work/working9-执行过程按钮' -maxdepth 1 -type f -print | sort
|
||
```
|
||
|
||
### 输出摘要
|
||
|
||
- 已读取 AXIS 主控制按钮调用链与 WASM 完善指南。
|
||
- 已确认工作目录为 `/home/mes123456/cnc_wams/work/working9-执行过程按钮`。
|
||
- 已创建 working9 文档体系。
|
||
|
||
### 页面/截图/trace/report
|
||
|
||
本轮为文档初始化,无页面、截图、trace、job_id、report_id 或 PDF。
|
||
|
||
### 结论
|
||
|
||
`W9-000` 已完成。后续从 `W9-001` 开始进入代码和验证阶段。
|
||
|
||
## 待补证据清单
|
||
|
||
| 任务编号 | 必需证据 |
|
||
|---|---|
|
||
| W9-001 | `verify_task_state_matrix.mjs` 命令和输出,至少覆盖 Run 接受/拒绝矩阵。 |
|
||
| W9-002 | Web policy Node 测试输出,证明按钮门禁与 LinuxCNC 条件一致。 |
|
||
| W9-003 | program open/canonical plan 测试输出,证明无 plan 时拒绝 Run。 |
|
||
| W9-004 | WASM status 输出片段,证明 Run 后 `interpState=READING`。 |
|
||
| W9-005 | motion status 输出片段,证明 queue/id/programLine 推进。 |
|
||
| W9-006 | store 测试输出,证明 Web running 来自 WASM status。 |
|
||
| W9-007 | Home 过程态测试输出,证明 homing 中 Run 被拒绝。 |
|
||
| W9-008 | Pause/Resume/Step 回归输出。 |
|
||
| W9-009 | Playwright trace、截图目录、manifest 路径。 |
|
||
| W9-010 | build 命令输出、WASM/dist hash 或文件时间戳。 |
|
||
|
||
以上待补项已由下方 `2026-07-07 17:12 EDT - 任务 W9-001 至 W9-011` 证据闭环覆盖。
|
||
|
||
## 2026-07-07 17:12 EDT - 任务 W9-001 至 W9-011
|
||
|
||
### 命令
|
||
|
||
```bash
|
||
source /home/mes123456/emsdk/emsdk_env.sh >/tmp/emsdk-env.log && ./tools/build_task_hal_wasm.sh
|
||
node tests/wasm/node/verify_task_hal_wasm.mjs
|
||
node tests/wasm/node/verify_task_state_matrix.mjs
|
||
npm --prefix app run build
|
||
node tests/node/verify_run_feedback_loop.mjs
|
||
node tests/node/verify_linuxcnc_task_hal_runtime.mjs
|
||
node tests/node/verify_run_preconditions.mjs
|
||
APP_URL_PATH=/web-rtcp-5axis-xyzbc-trt-sim-plan/app/dist/index.html node tools/trace-pause-position-json.mjs
|
||
RUN_STABLE_BEFORE_FIRST_PAUSE_MS=3000 node tools/verify-estop-power-home-run-pause-50ms.mjs
|
||
sha256sum wasm-port/build/wasm/task-hal/linuxcnc_task_hal.wasm wasm-port/build/wasm/task-hal/linuxcnc_task_hal.js web-rtcp-5axis-xyzbc-trt-sim-plan/app/dist/index.html
|
||
```
|
||
|
||
### 输出摘要
|
||
|
||
- `linuxcnc_task_hal_wasm_build=ok`
|
||
- `linuxcnc_task_runtime_smoke=ok`
|
||
- `task_state_matrix=ok`
|
||
- `run_gate_estop_rejected=ok`
|
||
- `run_gate_estop_reset_rejected=ok`
|
||
- `run_gate_manual_rejected=ok`
|
||
- `run_gate_unhomed_rejected=ok`
|
||
- `run_gate_homing_rejected=ok`
|
||
- `run_gate_program_open_required=ok`
|
||
- `run_gate_interpreter_plan_required=ok`
|
||
- `run_gate_accepts_homed_open_plan=ok`
|
||
- `gmoccapy_static_build=ok`
|
||
- `run_feedback_status_loop_smoke=ok`
|
||
- `run_ready_sequence_smoke=ok`
|
||
- `pause_uses_motion_paused_gate=ok`
|
||
- `pause_freezes_task_hal_status_loop=ok`
|
||
- `linuxcnc_task_hal_runtime_smoke=ok`
|
||
- `task_hal_machine_file_smoke=ok`
|
||
- `switchkins_remap_hal_sync_smoke=ok`
|
||
- `browser_task_hal_worker_smoke=ok`
|
||
- `run_preconditions_ini_profile_smoke=ok`
|
||
- `run_preconditions_kinematics_smoke=ok`
|
||
- `run_preconditions_machine_file_smoke=ok`
|
||
- `pause_position_status=passed-position-frozen`
|
||
- `verification_status=passed`
|
||
|
||
### 页面/截图/trace/report
|
||
|
||
- pause trace:`/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/pause-position-traces/pause-position-20260707T210922Z/trace.json`
|
||
- 50ms 截图目录:`/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/screenshots/estop-power-home-run-pause-50ms-20260707T210922Z`
|
||
- 50ms manifest:`/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/screenshots/estop-power-home-run-pause-50ms-20260707T210922Z/manifest.json`
|
||
- captured_frames:`522`
|
||
- sample_period_ms:`50`
|
||
|
||
### 构建 hash
|
||
|
||
```text
|
||
1d832ab726c7499afcbc70a84501071734f71c3fc18157075ad7d2ade976fa31 wasm-port/build/wasm/task-hal/linuxcnc_task_hal.wasm
|
||
b5f5caa1a898acea8280dfba6dae7b723d775e54e9d769bdb4d21ac6ac2ac358 wasm-port/build/wasm/task-hal/linuxcnc_task_hal.js
|
||
f8eb9620dd5f0dddb9f1c71c77fadcfe9aab7f845fc18fc65815a6de4d5c14f3 web-rtcp-5axis-xyzbc-trt-sim-plan/app/dist/index.html
|
||
```
|
||
|
||
### 结论
|
||
|
||
`W9-001` 至 `W9-011` 已完成。Run 已由 WASM task/HAL 门禁接受或拒绝,Web `runState` 由 task/HAL status 投影,Pause/Resume/Step 和浏览器 50ms 验收均通过。
|