Files
cnc_wams/work/working4/05-acceptance-evidence.md

307 lines
13 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-26
## 1. 证据规则
每个功能完成时必须至少提供一种证据:
- 命令输出Node、npm build、browser smoke、QA capture。
- 页面证据:本地 URL、云端 URL、页面状态说明。
- JSON机器可读 PASS/FAIL 报告。
- 截图:关键页面状态。
- PDF/DOCX/Markdown 报告:适合人工归档的报告。
- job_id/report_id如果由 CI、云端任务或报告生成器产生必须记录。
本目录先由文档规划创建;后续 W4-IMPL-001、W4-IMPL-002 和收口检查已补齐实现、QA 证据和最新
job_id/report_id。
QA JSON 内部字段使用 camelCase`jobId``reportId`;控制台输出和本归档表使用
`job_id``report_id` 标签,两者指向同一组编号。
## 2. 本轮文档证据
本轮输入资料确认:
```bash
find /home/meswork/cnc_wams/work/working3 -maxdepth 3 -type f | sort
find /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan -maxdepth 3 -type f | sort
find /home/meswork/cnc_wams/work/working4 -maxdepth 2 -type f -print | sort
```
本轮读取的核心资料:
```text
/home/meswork/cnc_wams/work/working3/gmoccapy_XYZAB_execution_analysis.md
/home/meswork/cnc_wams/work/working3/gmoccapy_button_icons/README.md
/home/meswork/cnc_wams/work/working3/gmoccapy_button_icons/button_icon_inventory.md
/home/meswork/cnc_wams/work/working3/gmoccapy_button_icons/button_icon_inventory.csv
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/README.md
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/docs/technical-roadmap.md
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/docs/traceability-matrix.md
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/main.js
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-shell.js
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/state/store.js
```
本轮输出文件:
```text
/home/meswork/cnc_wams/work/working4/README.md
/home/meswork/cnc_wams/work/working4/01-function-content.md
/home/meswork/cnc_wams/work/working4/02-program-development-steps.md
/home/meswork/cnc_wams/work/working4/03-progress-ledger.md
/home/meswork/cnc_wams/work/working4/04-task-matrix.md
/home/meswork/cnc_wams/work/working4/05-acceptance-evidence.md
/home/meswork/cnc_wams/work/working4/06-decision-records.md
/home/meswork/cnc_wams/work/working4/07-final-closure.md
```
## 3. 可复用的现有项目证据
### 3.1 Node 和 build 命令
项目已有命令:
```bash
npm --prefix web-rtcp-5axis-sim-plan/app run build
npm --prefix web-rtcp-5axis-sim-plan/app run smoke:node
bash web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_shell_browser.sh
bash web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_dist_browser.sh
```
`smoke:node` 当前覆盖:
```text
verify_linuxcnc_kinematics_runtime.mjs
verify_linuxcnc_interpreter_runtime.mjs
verify_linuxcnc_ini_runtime.mjs
verify_run_preconditions.mjs
verify_run_feedback_loop.mjs
verify_linuxcnc_task_hal_runtime.mjs
verify_native_task_hal_audit.mjs
verify_full_linuxcnc_5axis_source.mjs
verify_real_linuxcnc_5axis_program_cases.mjs
verify_full_execution_boundary.mjs
verify_machine_file_staging.mjs
verify_five_axis_session.mjs
verify_rtcp_store.mjs
verify_profile_boundary.mjs
verify_linear_unit_conversion.mjs
```
### 3.2 项目内已有 JSON/截图/PDF/DOCX
可复用证据路径:
```text
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/build/readiness/native-task-hal-readiness.json
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/working_run/run-feedback-evidence/run-feedback-local.json
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/working_run/run-feedback-evidence/run-feedback-local.png
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/toolpath-preview-cases.json
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/run-preconditions-feedback.json
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/meter-scene-evidence.json
/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
/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/output/button-control-evidence-report.pdf
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/cloud-button-control-evidence-report.json
/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/output/test-linuxcnc-source-run-report.json
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/test-linuxcnc-source-run-report-2026-06-22.docx
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/test-linuxcnc-source-run-report-2026-06-23.docx
```
云端 RUN 截图目录:
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/cloud-run-after-deploy/
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/cloud-run-stop-after-deploy/
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/cloud-run-debug/
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/cloud-run-debug-current/
```
## 4. working4 已生成的证据
| 任务 | 证据类型 | 目标路径 | 状态 |
| --- | --- | --- | --- |
| W4-A02 icon manifest | JSON | `web-rtcp-5axis-sim-plan/app/src/ui-reference/gmoccapy-button-icons.json` | 已生成211 行清单 |
| W4-P01 XYZAB profile | Node output | `tests/node/verify_gmoccapy_xyzab_profile.mjs` 控制台输出 | 已通过 |
| W4-P03 communication model | Node output | `tests/node/verify_gmoccapy_communication_model.mjs` 控制台输出 | 已通过 |
| W4-P04 HAL model | Node output | `tests/node/verify_gmoccapy_hal_model.mjs` 控制台输出 | 已通过 |
| W4-U01 icon registry | Node output | `tests/node/verify_gmoccapy_icon_registry.mjs` 控制台输出 | 已通过 |
| W4-G01 到 W4-G05 gate | Node output | `tests/node/verify_gmoccapy_xyzab_gates.mjs` 控制台输出 | 已通过 |
| W4-U02 到 W4-U05 UI | Browser screenshot | `qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/*.png` | 已生成 6 张截图 |
| W4-T07 QA report | JSON/PDF | `qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.json``.pdf` | 已生成PASS |
| W4-V01 build | 命令输出 | `npm --prefix ... run build` | 已通过 |
| W4-V02 node smoke | 命令输出 | `npm --prefix ... run smoke:node` | 已通过 |
| W4-V03 browser smoke | 命令输出和截图 | `verify_gmoccapy_shell_browser.sh` | 已通过 |
| W4-V04 dist browser smoke | 命令输出 | `verify_gmoccapy_dist_browser.sh` | 已通过 |
| W4-V05 whitespace check | 命令输出 | `git diff --check -- web-rtcp-5axis-sim-plan qa/web-rtcp-5axis-site-test work/working4` | 已通过 |
## 5. W4-IMPL-001 实施证据
日期2026-06-26
本轮新增和更新的关键产物:
```text
web-rtcp-5axis-sim-plan/docs/gmoccapy-xyzab-reference.md
web-rtcp-5axis-sim-plan/app/src/ui-reference/gmoccapy-button-icons.json
web-rtcp-5axis-sim-plan/app/src/assets/gmoccapy-icons/
web-rtcp-5axis-sim-plan/app/src/profiles/gmoccapy-xyzab.js
web-rtcp-5axis-sim-plan/app/src/runtime/gmoccapy-communication-model.js
web-rtcp-5axis-sim-plan/app/src/runtime/gmoccapy-hal-model.js
web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_profile.mjs
web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_icon_manifest.mjs
web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_communication_model.mjs
web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_hal_model.mjs
```
资产证据:
```bash
find web-rtcp-5axis-sim-plan/app/src/assets/gmoccapy-icons -maxdepth 1 -type f | wc -l
# 112
node -e "const m=JSON.parse(require('fs').readFileSync('web-rtcp-5axis-sim-plan/app/src/ui-reference/gmoccapy-button-icons.json','utf8')); console.log(m.rowCount,m.copiedIconCount)"
# 211 112
```
新增 Node 测试证据:
```bash
node web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_profile.mjs
# gmoccapy_xyzab_profile_smoke=ok
node web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_icon_manifest.mjs
# gmoccapy_icon_manifest_smoke=ok
node web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_communication_model.mjs
# gmoccapy_communication_model_smoke=ok
node web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_hal_model.mjs
# gmoccapy_hal_model_smoke=ok
```
全局验收命令:
```bash
npm --prefix web-rtcp-5axis-sim-plan/app run build
# gmoccapy_static_build=ok
npm --prefix web-rtcp-5axis-sim-plan/app run smoke:node
# linear_unit_conversion_smoke=ok
# 全链路返回 0并包含 gmoccapy_xyzab_profile/icon_manifest/communication_model/hal_model smoke。
bash web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_shell_browser.sh
# gmoccapy_shell_smoke=ok
bash web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_dist_browser.sh
# gmoccapy_dist_smoke=ok
git diff --check -- web-rtcp-5axis-sim-plan work/working4
# 返回 0
```
## 6. job_id 和 report_id 台账
### 6.1 W4-IMPL-002 UI/gate/QA 证据
日期2026-06-26
本轮新增和更新的关键产物:
```text
web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-icon-registry.js
web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-shell.js
web-rtcp-5axis-sim-plan/app/src/styles/gmoccapy.css
web-rtcp-5axis-sim-plan/app/src/state/linuxcnc-task-policy.js
web-rtcp-5axis-sim-plan/app/src/state/store.js
web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_icon_registry.mjs
web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_gates.mjs
web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html
qa/web-rtcp-5axis-site-test/capture-gmoccapy-xyzab-function-cases.mjs
```
新增 Node 测试证据:
```bash
node web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_icon_registry.mjs
# gmoccapy_icon_registry_smoke=ok
node web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_gates.mjs
# gmoccapy_xyzab_gates_smoke=ok
node web-rtcp-5axis-sim-plan/tests/node/verify_rtcp_store.mjs
# rtcp_store_smoke=ok
node web-rtcp-5axis-sim-plan/tests/node/verify_run_preconditions.mjs
# run_preconditions_ini_profile_smoke=ok
# run_preconditions_kinematics_smoke=ok
# run_preconditions_machine_file_smoke=ok
```
Build/browser/QA 证据:
```bash
npm --prefix web-rtcp-5axis-sim-plan/app run build
# gmoccapy_static_build=ok
bash web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_shell_browser.sh
# gmoccapy_shell_smoke=ok
node qa/web-rtcp-5axis-site-test/capture-gmoccapy-xyzab-function-cases.mjs
# gmoccapy_xyzab_function_status=PASS
# gmoccapy_xyzab_function_job_id=xyzab-20260626214346-f4b4aa36
# gmoccapy_xyzab_function_report_id=report-xyzab-20260626214346-f4b4aa36
```
QA 报告路径:
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.json
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.pdf
/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
```
QA JSON 检查结果:
```text
PASS XYZAB profile selected
PASS Reference profile blocks RTCP promotion
PASS RUN blocked before power
PASS RUN blocked by reference evidence
PASS Core icons rendered
PASS Spindle/coolant state updates
PASS NML command diagnostic
PASS Web runtime diagnostic
PASS HAL postgui diagnostic
PASS Screenshots are nonblank
```
### 6.2 job_id/report_id 表
归档表:
| 日期 | job_id | report_id | 来源 | 对应任务 | 结果 | 证据路径 |
| --- | --- | --- | --- | --- | --- | --- |
| 2026-06-26 | N/A | N/A | 本轮文档生成和状态收口 | W4-D01 到 W4-D09 | done | `/home/meswork/cnc_wams/work/working4/` |
| 2026-06-26 | N/A | N/A | 本轮本地实施 | W4-A01 到 W4-A04、W4-P01 到 W4-P04、W4-T01 到 W4-T04、W4-V01 到 W4-V05 | done | `web-rtcp-5axis-sim-plan/app/src/``docs/``tests/node/` |
| 2026-06-26 | xyzab-20260626190724-7b80b3aa | report-xyzab-20260626190724-7b80b3aa | 本轮 QA capture | W4-U01 到 W4-U05、W4-G01 到 W4-G05、W4-T05 到 W4-T07 | PASS | `qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.json``.pdf``output/gmoccapy-xyzab/` |
| 2026-06-26 | xyzab-20260626214346-f4b4aa36 | report-xyzab-20260626214346-f4b4aa36 | 继续复核 QA capture | W4-U01 到 W4-U05、W4-G01 到 W4-G05、W4-T05 到 W4-T07、W4-V01 到 W4-V05 | PASS | `qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.json``.pdf``output/gmoccapy-xyzab/` |
## 7. 验收缺口
当前缺口:
- `gmoccapy-xyzab` 仍是 `trivkins` reference-only profile不是 RTCP/TCP proof真实 RTCP promotion 仍只来自 source-derived `xyzac-trt``xyzbc-trt`
- 本轮 QA 对 `gmoccapy-xyzab` 证明 profile、图标、diagnostics 和 gate blocked reason不证明 native `linuxcncsvr/milltask/HAL` 实机运行。
本轮新增证据已补齐原先 UI icon、communication/HAL diagnostics、XYZAB gate 和 QA JSON/PDF 缺口。