13 KiB
13 KiB
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. 本轮文档证据
本轮输入资料确认:
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
本轮读取的核心资料:
/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
本轮输出文件:
/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 命令
项目已有命令:
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 当前覆盖:
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
可复用证据路径:
/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 截图目录:
/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
本轮新增和更新的关键产物:
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
资产证据:
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 测试证据:
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
全局验收命令:
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
本轮新增和更新的关键产物:
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 测试证据:
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 证据:
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 报告路径:
/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 检查结果:
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仍是trivkinsreference-only profile,不是 RTCP/TCP proof;真实 RTCP promotion 仍只来自 source-derivedxyzac-trt、xyzbc-trt。- 本轮 QA 对
gmoccapy-xyzab证明 profile、图标、diagnostics 和 gate blocked reason,不证明 nativelinuxcncsvr/milltask/HAL实机运行。
本轮新增证据已补齐原先 UI icon、communication/HAL diagnostics、XYZAB gate 和 QA JSON/PDF 缺口。