Files
cnc_wams/work/working7/05-验收证据.md

432 lines
14 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 验收证据
生成日期2026-06-27
## 1. 本轮命令证据
执行目录:
```text
/home/meswork/cnc_wams
```
### 1.1 静态构建
命令:
```bash
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run build
```
结果:
```text
退出码0
gmoccapy_static_build=ok
```
产物:
```text
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/dist/index.html
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/dist/src/main.js
```
### 1.2 Node smoke
命令:
```bash
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node
```
结果:
```text
退出码0
linuxcnc_kinematics_runtime_smoke=ok
linuxcnc_interpreter_runtime_smoke=ok
linuxcnc_ini_runtime_smoke=ok
run_preconditions_ini_profile_smoke=ok
run_preconditions_kinematics_smoke=ok
run_preconditions_machine_file_smoke=ok
run_feedback_status_loop_smoke=ok
run_ready_sequence_smoke=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
native_task_hal_source_artifact_audit=ok
full_linuxcnc_5axis_source_node_smoke=ok
real_linuxcnc_5axis_program_cases_smoke=ok
full_execution_boundary_smoke=ok
machine_file_staging_smoke=ok
five_axis_session_smoke=ok
rtcp_store_smoke=ok
profile_boundary_smoke=ok
gmoccapy_xyzab_profile_smoke=ok
gmoccapy_icon_manifest_smoke=ok
gmoccapy_icon_registry_smoke=ok
gmoccapy_communication_model_smoke=ok
gmoccapy_hal_model_smoke=ok
gmoccapy_xyzab_gates_smoke=ok
linear_unit_conversion_smoke=ok
```
额外输出摘要:
```text
native_task_hal_readiness_artifact=web-rtcp-5axis-sim-plan/build/readiness/native-task-hal-readiness.json
hardware_drive=0
host_realtime_kernel=0
external_user_m_process_ready=0
tool_db_process_ready=0
promotion_scope=web_simulation_only
linuxcnc_source_program_case_count=8
all_cases_program_preview_points=ok
all_cases_executed_path_points=ok_after_run_or_step
all_cases_toolpath_preview_source=linuxcnc_interpreter_canonical_motion
all_cases_tool_execution_trace_source=linuxcnc_tp_samples_or_task_motion_hal_feedback
all_switchkins_cases_rtcp_state_changes_verified=1
fixture_toolpath_fallback_not_promoted=1
```
### 1.3 浏览器 smoke
命令:
```bash
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke
```
结果:
```text
退出码0
gmoccapy_shell_smoke=ok
gmoccapy_dist_smoke=ok
```
覆盖说明:
- `verify_gmoccapy_shell_browser.sh` 使用 headless Chromium 打开测试页。
- `verify_gmoccapy_dist_browser.sh` 先构建 dist再打开 dist 入口。
- 浏览器断言覆盖主区域、Three.js canvas dataset、profile 切换、RTCP 诊断、LinuxCNC INI 诊断、Task policy 诊断、按钮图标、按钮 active/inactive 视觉状态和 G-code 行高亮。
### 1.4 QA 站点回归测试
命令:
```bash
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test test
```
结果:
```text
退出码0
site_test_status=PASS
site_test_target_url=http://127.0.0.1:35861/web-rtcp-5axis-sim-plan/app/index.html
site_test_report=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/site-test-report.json
```
报告摘要:
```text
status=PASS
generatedAt=2026-06-28T00:31:19.883Z
findings=41
failures=0
warnings=0
consoleErrors=0
pageErrors=0
requestFailures=0
```
修复说明:
- `run-site-test.mjs` 默认从当前仓库启动本地静态服务,避免把本地修复结果和远端旧部署混在一起;如需测远端,仍可通过 `TARGET_URL=...` 覆盖。
- 点击逻辑改为每次在页面上下文即时查询元素,修复 Puppeteer `Node is detached from document`
- STEP 验收改为 Task/HAL `singleStepping=true` 且保持暂停态。
- Restore Session 前先进入 MANUAL 并确认 JOG 改变坐标,再验证恢复快照。
## 2. working7 全量功能实际执行图文证据
本轮新增全量实测证据覆盖所有主要按钮、程序执行、刀具预览、刀具实时执行路径、G-code 执行过程、机床轴值和右侧控制区。
命令:
```bash
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7:full
```
结果:
```text
退出码0
working7_full_functional_status=PASS
working7_full_functional_job_id=w7full-20260628002838-518bf522
working7_full_functional_report_id=report-w7full-20260628002838-518bf522
working7_full_functional_json=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.json
working7_full_functional_pdf=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.pdf
working7_full_functional_md=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.md
working7_full_functional_screenshots=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence
```
报告摘要:
```text
jobId=w7full-20260628002838-518bf522
reportId=report-w7full-20260628002838-518bf522
evidenceScope=working7-full-functional-evidence
generatedAt=2026-06-28T00:28:38.507Z
targetUrl=http://127.0.0.1:41281/web-rtcp-5axis-sim-plan/app/index.html
status=PASS
steps=19
actions=73
failedActions=0
checks=6
failedChecks=0
consoleErrors=0
networkErrors=0
pageErrors=0
```
图文报告:
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.md
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.pdf
```
截图:
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/01-loaded-inventory.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/02-initial-run-blocked.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/03-powered-homed.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/04-auto-right-panel.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/05-right-sidebar-all-states.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/06-profile-xyzbc.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/07-preview-buttons.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/08-linuxcnc-source-loaded.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/09-open-file-loaded.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/10-run-ready.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/11-run-realtime-path.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/12-pause-resume-step.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/13-stop-idle.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/14-manual-jog-axis-values.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/15-mdi-execution.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/16-overrides-hal.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/17-spindle-coolant.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/18-session-fullscreen.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/19-diagnostics-audit.png
```
覆盖说明:
- 全量报告使用第一人称图文格式。
- 每个阶段都记录截图、store 状态、DRO、axisPose、canvas dataset、G-code 当前行和关键按钮状态。
- `gmoccapy-xyzab` 作为 reference-only profile 验证 TCP 禁用原因,不作为 RTCP proof。
- 最终报告无 console、network 或 page error。
## 3. working7 手册流程专项 QA 证据
本轮新增专项证据,覆盖原任务矩阵中需要截图/PDF 的手册操作流。
命令:
```bash
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7
```
结果:
```text
退出码0
working7_manual_flow_status=PASS
working7_manual_flow_job_id=w7-20260628002915-30d1c6c8
working7_manual_flow_report_id=report-w7-20260628002915-30d1c6c8
working7_manual_flow_json=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.json
working7_manual_flow_pdf=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.pdf
working7_manual_flow_screenshots=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence
```
报告信息:
```text
jobId=w7-20260628002915-30d1c6c8
reportId=report-w7-20260628002915-30d1c6c8
evidenceScope=working7-manual-flow-evidence
generatedAt=2026-06-28T00:29:15.240Z
targetUrl=http://127.0.0.1:41931/web-rtcp-5axis-sim-plan/app/index.html
status=PASS
consoleErrors=0
networkErrors=0
pageErrors=0
```
截图:
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/01-loaded.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/02-powered-homed-manual.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/03-auto-active.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/04-manual-jog-x.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/05-mdi-command.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/06-overrides-hal.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/07-spindle-coolant.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/08-session-restored.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/09-diagnostics.png
```
检查项摘要:
```text
Main shell regions and canvas are ready=PASS
POWER and HOME leave MANUAL ready=PASS
AUTO activates without losing power/home=PASS
Manual jog changes X=PASS
MDI command is accepted in MDI mode=PASS
Overrides reset and HAL toggles are active=PASS
Spindle and coolant controls update state=PASS
Session restore returns to saved profile=PASS
Diagnostics expose Task/HAL and gmoccapy HAL=PASS
Screenshots are nonblank=PASS
```
专项说明:
- MDI 浏览器证据证明真实页面可进入 MDI 并提交 `G90 X12.5 Y-4 Z1.25 F900`Task/HAL runtime 接收后进入 MDI/reading 状态。
- `rtcp_store_smoke=ok` 继续作为 MDI 坐标更新、MDI 历史和 profile 限位夹紧的 Node store 逻辑证据。
- Save/Restore 本轮在浏览器中使用 OPFS路径为 `web-rtcp-5axis-sim-plan/sessions/working7-manual-flow/working7-session.json`
## 4. 既有 QA 证据
项目已有可引用 QA 证据:
### 3.1 gmoccapy XYZAB 功能报告
JSON
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.json
```
PDF
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.pdf
```
报告信息:
```text
jobId=xyzab-20260626214346-f4b4aa36
reportId=report-xyzab-20260626214346-f4b4aa36
evidenceScope=gmoccapy-xyzab-function
generatedAt=2026-06-26T21:43:46.310Z
targetUrl=http://127.0.0.1:36983/web-rtcp-5axis-sim-plan/app/index.html
screenshotsDir=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab
```
截图:
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/01-loaded.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/02-profile-selected.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/03-run-blocked-power.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/04-run-blocked-reference-evidence.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/05-controls-active.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/06-hal-diagnostics.png
```
### 3.2 按钮控制报告
JSON
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/button-control-evidence-report.json
```
PDF
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/button-control-evidence-report.pdf
```
报告信息:
```text
jobId=btn-20260623091525-b35869f1
reportId=report-btn-20260623091525-b35869f1
evidenceScope=button-control-evidence
generatedAt=2026-06-23T09:15:25.426Z
targetUrl=http://127.0.0.1:41741/web-rtcp-5axis-sim-plan/app/index.html
screenshotsDir=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/screenshots/button-control-evidence
```
截图目录:
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/screenshots/button-control-evidence
```
### 3.3 Native Task/HAL 对比
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/native-task-hal-comparison-report.json
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/native-task-hal-comparison-report.md
```
### 3.4 LinuxCNC source run 报告
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/test-linuxcnc-source-run-report-2026-06-23.docx
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/test-linuxcnc-source-run-report.json
```
## 4. 页面和脚本入口
本地 app
```text
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/index.html
```
dist app
```text
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/dist/index.html
```
浏览器 smoke 测试页:
```text
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html
```
浏览器验证脚本:
```text
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_shell_browser.sh
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_dist_browser.sh
```
专项 QA 脚本:
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-manual-flow-evidence.mjs
```
## 5. 证据缺口
当前没有缺少构建/自动化 smoke 证据,也已有本轮手册流程专项 JSON/PDF/截图证据。
如后续验收要求“逐条复刻操作手册每一个按钮截图”或“生成新的 Word 汇总报告”,需要补充:
- 新的 job_id/report_id。
- 更细粒度的每个按钮截图路径。
- 人工或 Playwright 执行时的目标 URL。
- MDI 历史按钮专项截图。