Validate AXIS task state flow
This commit is contained in:
@@ -1,5 +1,339 @@
|
||||
# 05-验收证据
|
||||
|
||||
## 2026-07-08 17:26 EDT - 全功能与全按钮测试验收证据
|
||||
|
||||
本轮按用户要求全面执行目标项目功能测试,并补齐“每个按钮都要全面测试”的自动化入口。新增全按钮浏览器测试覆盖 `AXIS_BUTTON_PARITY` 63 个按钮/动作条目,逐项验证 DOM 控件、LinuxCNC 来源元数据和点击后的状态效果。
|
||||
|
||||
关键实现证据:
|
||||
|
||||
```text
|
||||
app/package.json
|
||||
app/src/state/store.js
|
||||
tests/browser/xyzbc_trt_all_buttons.html
|
||||
tests/browser/verify_xyzbc_trt_all_buttons.mjs
|
||||
tests/browser/verify_xyzbc_trt_all_buttons.sh
|
||||
tests/node/verify_five_axis_session.mjs
|
||||
tests/node/verify_gmoccapy_trt_project_sidebar.mjs
|
||||
tests/node/verify_linuxcnc_parity_matrix.mjs
|
||||
tests/node/verify_machine_file_staging.mjs
|
||||
tests/node/verify_tool_db_web_simulation.mjs
|
||||
working/evidence/web-xyzbc-trt-evidence.json
|
||||
working/evidence/compare-xyzbc-trt-evidence.json
|
||||
```
|
||||
|
||||
执行命令:
|
||||
|
||||
```text
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build
|
||||
for test_file in web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/*.mjs; do node "$test_file"; done
|
||||
node wasm-port/tests/wasm/node/verify_task_status_json_contract.mjs
|
||||
node wasm-port/tests/wasm/node/verify_task_hal_sdk.mjs
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:buttons
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare
|
||||
git diff --check -- web-rtcp-5axis-xyzbc-trt-sim-plan/app/src web-rtcp-5axis-xyzbc-trt-sim-plan/app/package.json web-rtcp-5axis-xyzbc-trt-sim-plan/app/dist/src web-rtcp-5axis-xyzbc-trt-sim-plan/tests web-rtcp-5axis-xyzbc-trt-sim-plan/working web-rtcp-5axis-xyzbc-trt-sim-plan/tools
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
gmoccapy_static_build=ok
|
||||
five_axis_session_smoke=ok
|
||||
full_execution_boundary_smoke=ok
|
||||
full_linuxcnc_5axis_source_node_smoke=ok
|
||||
gmoccapy_communication_model_smoke=ok
|
||||
gmoccapy_hal_model_smoke=ok
|
||||
gmoccapy_icon_manifest_smoke=ok
|
||||
gmoccapy_icon_registry_smoke=ok
|
||||
gmoccapy_trt_project_sidebar_smoke=ok
|
||||
gmoccapy_xyzab_gates_smoke=ok
|
||||
gmoccapy_xyzab_profile_smoke=ok
|
||||
gmoccapy_xyzac_trt_parity_smoke=ok
|
||||
impeller_feed_task_hal_run=ok
|
||||
linear_unit_conversion_smoke=ok
|
||||
linuxcnc_ini_runtime_smoke=ok
|
||||
linuxcnc_interpreter_runtime_smoke=ok
|
||||
linuxcnc_kinematics_runtime_smoke=ok
|
||||
linuxcnc_parity_matrix_smoke=ok
|
||||
linuxcnc_task_hal_runtime_smoke=ok
|
||||
machine_file_staging_smoke=ok
|
||||
native_task_hal_source_artifact_audit=ok
|
||||
profile_boundary_smoke=ok
|
||||
real_linuxcnc_5axis_program_cases_smoke=ok
|
||||
rtcp_store_smoke=ok
|
||||
run_feedback_status_loop_smoke=ok
|
||||
run_preconditions_machine_file_smoke=ok
|
||||
tool_db_user_m_simulation_smoke=ok
|
||||
tool_db_web_simulation_smoke=ok
|
||||
xyzbc_trt_web_app_smoke=ok
|
||||
task_status_json_contract=ok
|
||||
linuxcnc_task_hal_sdk=ok
|
||||
xyzbc_trt_all_buttons=ok checked=63
|
||||
xyzbc_trt_browser_smoke=ok
|
||||
compare_xyzbc_trt_status=pass
|
||||
```
|
||||
|
||||
最新 evidence 摘要:
|
||||
|
||||
```text
|
||||
web.status=ready-for-wasm-runtime
|
||||
web.collectedAt=2026-07-08T21:25:01.630Z
|
||||
web.blockers=[]
|
||||
web.taskHalEquivalence.ready=true
|
||||
web.executionPath.status=ok
|
||||
web.executionPath.sampleCount=228
|
||||
|
||||
compare.status=pass
|
||||
compare.comparedAt=2026-07-08T21:25:02.164Z
|
||||
surfaceSummary.checkCount=60
|
||||
surfaceSummary.passCount=60
|
||||
surfaceSummary.failCount=0
|
||||
functionalSummary.status=pass
|
||||
functionalSummary.checkCount=8
|
||||
functionalSummary.passCount=8
|
||||
functionalSummary.failCount=0
|
||||
functionalSummary.requiredImprovements=[]
|
||||
compare.requiredImprovements=[]
|
||||
```
|
||||
|
||||
结论:全功能和全按钮测试已完成。新增 `smoke:buttons` 覆盖 63 个按钮/动作;本轮发现并修复 M428/M429/M430 MDI 后 `kinsType` 被 task/HAL 状态回写覆盖的问题。当前完整 Node、WASM、browser、buttons、evidence/compare 验收均通过。
|
||||
|
||||
## 2026-07-08 10:42 EDT - 目标项目删除顶层旧字段验收证据
|
||||
|
||||
本轮按用户要求让目标 Web 项目跟随 `/home/mes123456/cnc_wams/wasm-port` 删除旧字段。当前正常 `taskHalStatus` 不再输出或消费顶层 `task`/`motionStatus`,runtime、store、policy、feedback 和 Web evidence 均使用 `emcStatus`/`ui`。
|
||||
|
||||
关键实现证据:
|
||||
|
||||
```text
|
||||
app/src/runtime/linuxcnc-task-hal-runtime.js
|
||||
app/src/state/linuxcnc-task-policy.js
|
||||
app/src/state/store.js
|
||||
tools/collect-web-xyzbc-trt-evidence.mjs
|
||||
tests/node/verify_xyzbc_trt_web_app.mjs
|
||||
tests/node/verify_run_feedback_loop.mjs
|
||||
tests/node/verify_rtcp_store.mjs
|
||||
app/dist/src/runtime/linuxcnc-task-hal-runtime.js
|
||||
working/evidence/web-xyzbc-trt-evidence.json
|
||||
working/evidence/compare-xyzbc-trt-evidence.json
|
||||
```
|
||||
|
||||
执行命令:
|
||||
|
||||
```text
|
||||
node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_xyzbc_trt_web_app.mjs
|
||||
node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_linuxcnc_task_hal_runtime.mjs
|
||||
node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_run_feedback_loop.mjs
|
||||
node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_rtcp_store.mjs
|
||||
node wasm-port/tests/wasm/node/verify_task_status_json_contract.mjs
|
||||
node wasm-port/tests/wasm/node/verify_task_hal_sdk.mjs
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build
|
||||
bash web-rtcp-5axis-xyzbc-trt-sim-plan/tests/browser/verify_xyzbc_trt_browser.sh
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
xyzbc_trt_web_app_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
|
||||
run_feedback_status_loop_smoke=ok
|
||||
run_ready_sequence_smoke=ok
|
||||
pause_uses_motion_paused_gate=ok
|
||||
pause_freezes_task_hal_status_loop=ok
|
||||
rtcp_store_smoke=ok
|
||||
task_status_json_contract=ok
|
||||
linuxcnc_task_hal_sdk=ok
|
||||
gmoccapy_static_build=ok
|
||||
xyzbc_trt_browser_smoke=ok
|
||||
compare_xyzbc_trt_status=pass
|
||||
```
|
||||
|
||||
最新 evidence 摘要:
|
||||
|
||||
```text
|
||||
web.status=ready-for-wasm-runtime
|
||||
web.collectedAt=2026-07-08T14:41:49.397Z
|
||||
web.blockers=[]
|
||||
web.taskHalEquivalence.ready=true
|
||||
web.executionPath.status=ok
|
||||
web.executionPath.sampleCount=228
|
||||
|
||||
compare.status=pass
|
||||
compare.comparedAt=2026-07-08T14:41:49.928Z
|
||||
surfaceSummary.checkCount=60
|
||||
surfaceSummary.passCount=60
|
||||
surfaceSummary.failCount=0
|
||||
functionalSummary.status=pass
|
||||
functionalSummary.checkCount=8
|
||||
functionalSummary.passCount=8
|
||||
functionalSummary.failCount=0
|
||||
functionalSummary.requiredImprovements=[]
|
||||
compare.requiredImprovements=[]
|
||||
```
|
||||
|
||||
结论:目标 Web 项目已删除顶层旧字段。旧 `task`/`motionStatus` 只在拒绝输入的负向测试和错误提示中出现,正常运行数据以 `emcStatus`/`ui` 为准。
|
||||
|
||||
## 2026-07-08 10:01 EDT - 移除旧字段兼容验收证据
|
||||
|
||||
本轮按用户要求“不保留旧字段兼容,修改程序”,将 Web task/HAL runtime 改为只接受新版 `StandaloneEmcStatus`/`emcStatus` 输入。旧 `task`/`motionStatus` 输入不再被兼容归一化。
|
||||
|
||||
关键实现证据:
|
||||
|
||||
```text
|
||||
app/src/runtime/linuxcnc-task-hal-runtime.js
|
||||
tests/node/verify_xyzbc_trt_web_app.mjs
|
||||
tests/node/verify_linuxcnc_task_hal_runtime.mjs
|
||||
tests/node/verify_run_feedback_loop.mjs
|
||||
app/dist/src/runtime/linuxcnc-task-hal-runtime.js
|
||||
working/evidence/web-xyzbc-trt-evidence.json
|
||||
working/evidence/compare-xyzbc-trt-evidence.json
|
||||
```
|
||||
|
||||
执行命令:
|
||||
|
||||
```text
|
||||
node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_xyzbc_trt_web_app.mjs
|
||||
node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_linuxcnc_task_hal_runtime.mjs
|
||||
node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_run_feedback_loop.mjs
|
||||
node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_rtcp_store.mjs
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build
|
||||
bash web-rtcp-5axis-xyzbc-trt-sim-plan/tests/browser/verify_xyzbc_trt_browser.sh
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web
|
||||
node wasm-port/tests/wasm/node/verify_task_status_json_contract.mjs
|
||||
node wasm-port/tests/wasm/node/verify_task_hal_sdk.mjs
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
xyzbc_trt_web_app_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
|
||||
run_feedback_status_loop_smoke=ok
|
||||
run_ready_sequence_smoke=ok
|
||||
pause_uses_motion_paused_gate=ok
|
||||
pause_freezes_task_hal_status_loop=ok
|
||||
rtcp_store_smoke=ok
|
||||
gmoccapy_static_build=ok
|
||||
xyzbc_trt_browser_smoke=ok
|
||||
legacy_task_motion_status_rejected=ok
|
||||
task_status_json_contract=ok
|
||||
linuxcnc_task_hal_sdk=ok
|
||||
compare_xyzbc_trt_status=pass
|
||||
```
|
||||
|
||||
最新 evidence 摘要:
|
||||
|
||||
```text
|
||||
web.status=ready-for-wasm-runtime
|
||||
web.collectedAt=2026-07-08T14:00:44.425Z
|
||||
web.blockers=[]
|
||||
web.taskHalEquivalence.ready=true
|
||||
web.executionPath.status=ok
|
||||
web.executionPath.sampleCount=228
|
||||
|
||||
compare.status=pass
|
||||
compare.comparedAt=2026-07-08T14:00:58.972Z
|
||||
surfaceSummary.checkCount=60
|
||||
surfaceSummary.passCount=60
|
||||
surfaceSummary.failCount=0
|
||||
functionalSummary.status=pass
|
||||
functionalSummary.checkCount=8
|
||||
functionalSummary.passCount=8
|
||||
functionalSummary.failCount=0
|
||||
functionalSummary.requiredImprovements=[]
|
||||
compare.requiredImprovements=[]
|
||||
```
|
||||
|
||||
结论:旧字段输入兼容已移除并通过验证。后续 T-083 已进一步删除 Web 正常状态对象里的顶层 `task`/`motionStatus`,仅保留新版 `emcStatus` 与 UI 所需 `ui`。
|
||||
|
||||
## 2026-07-08 09:50 EDT - 新版 WASM 状态合同适配验收证据
|
||||
|
||||
本轮继续完成新版 `/home/mes123456/cnc_wams/wasm-port` task/HAL WASM 完善后的目标项目适配。关键目标是让 Web runtime 直接消费新版 `StandaloneEmcStatus`/`emcStatus` 状态结构,并拒绝旧 `task`/`motionStatus` 输入;后续 T-083 已删除 Web 顶层 `task`/`motionStatus` 派生视图,正常状态只保留 `emcStatus` 和 `ui`。
|
||||
|
||||
关键实现证据:
|
||||
|
||||
```text
|
||||
app/src/runtime/linuxcnc-task-hal-runtime.js
|
||||
tests/node/verify_xyzbc_trt_web_app.mjs
|
||||
app/dist/src/runtime/linuxcnc-task-hal-runtime.js
|
||||
app/dist/wasm-port/build/wasm/task-hal/linuxcnc_task_hal.js
|
||||
app/dist/wasm-port/build/wasm/task-hal/linuxcnc_task_hal.wasm
|
||||
working/evidence/web-xyzbc-trt-evidence.json
|
||||
working/evidence/compare-xyzbc-trt-evidence.json
|
||||
```
|
||||
|
||||
执行命令:
|
||||
|
||||
```text
|
||||
node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_xyzbc_trt_web_app.mjs
|
||||
node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_linuxcnc_task_hal_runtime.mjs
|
||||
node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_run_feedback_loop.mjs
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build
|
||||
bash web-rtcp-5axis-xyzbc-trt-sim-plan/tests/browser/verify_xyzbc_trt_browser.sh
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web
|
||||
node wasm-port/tests/wasm/node/verify_task_status_json_contract.mjs
|
||||
node wasm-port/tests/wasm/node/verify_task_hal_sdk.mjs
|
||||
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
xyzbc_trt_web_app_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
|
||||
run_feedback_status_loop_smoke=ok
|
||||
run_ready_sequence_smoke=ok
|
||||
pause_uses_motion_paused_gate=ok
|
||||
pause_freezes_task_hal_status_loop=ok
|
||||
gmoccapy_static_build=ok
|
||||
xyzbc_trt_browser_smoke=ok
|
||||
task_status_json_contract_runtime=ok
|
||||
task_status_json_contract_schema=ok
|
||||
task_status_json_contract=ok
|
||||
linuxcnc_task_hal_sdk=ok
|
||||
task_hal_sdk_status_snapshot=ok
|
||||
task_hal_sdk_standalone_emc_status=ok
|
||||
task_hal_sdk_status_json_contract=ok
|
||||
compare_xyzbc_trt_status=pass
|
||||
```
|
||||
|
||||
最新 evidence 摘要:
|
||||
|
||||
```text
|
||||
web.status=ready-for-wasm-runtime
|
||||
web.collectedAt=2026-07-08T13:50:12.039Z
|
||||
web.blockers=[]
|
||||
web.taskHalEquivalence.ready=true
|
||||
web.executionPath.status=ok
|
||||
web.executionPath.sampleCount=228
|
||||
|
||||
compare.status=pass
|
||||
compare.comparedAt=2026-07-08T13:50:23.202Z
|
||||
surfaceSummary.checkCount=60
|
||||
surfaceSummary.passCount=60
|
||||
surfaceSummary.failCount=0
|
||||
functionalSummary.status=pass
|
||||
functionalSummary.checkCount=8
|
||||
functionalSummary.passCount=8
|
||||
functionalSummary.failCount=0
|
||||
functionalSummary.requiredImprovements=[]
|
||||
compare.requiredImprovements=[]
|
||||
```
|
||||
|
||||
结论:新版 WASM 状态合同适配完成。目标项目可以直接从 `emcStatus.task`、`emcStatus.motion`、`emcStatus.motion.traj`、`axisByName`、`joint0` 生成 Web UI 状态,并且刷新后的 compare 仍为表面检查 60/60、功能级检查 8/8 通过。
|
||||
|
||||
## 2026-07-07 19:03 EDT - working 全部工作收口复验证据
|
||||
|
||||
本轮按用户要求完成 `working` 中全部工作,并重新执行收口复验。
|
||||
|
||||
Reference in New Issue
Block a user