# 12-20260704 真实执行复验与缺失功能工作计划 ## 目标 按用户要求,对仿真项目 `/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan` 与 LinuxCNC 源程序 `/home/mes123456/cnc_wams/linuxcnc` 中 `xyzbc-trt` 功能重新做真实执行对比,分析仿真项目缺失功能,并形成后续工作计划。 ## 本轮真实执行范围 ### native LinuxCNC 执行入口: ```text /home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment ``` 执行命令: ```bash /home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment \ python3 /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py \ --run --timeout 90 ``` 输出: ```text native_xyzbc_trt_evidence=/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/native-xyzbc-trt-evidence.json ``` 关键结果: ```text status=ok executionMode=auto-run coverage=35/35 previewPath.sampleCount=1300 executionPath.sampleCount=4 semanticExecutionPath.sampleCount=1300 lineExecutionTrace=64 axisValuesByLine=29 blockers=[] ``` ### Web 仿真项目 执行命令: ```bash npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser ``` 输出: ```text web_xyzbc_trt_evidence=/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/web-xyzbc-trt-evidence.json xyzbc_trt_web_app_smoke=ok xyzbc_trt_browser_smoke=ok ``` 关键结果: ```text status=ready-for-wasm-runtime coverage=49/49 previewPath.sampleCount=1300 executionPath.sampleCount=228 semanticExecutionPath.sampleCount=1300 lineExecutionTrace=64 axisValuesByLine=29 blockers=[] ``` ### native/Web compare 执行命令: ```bash npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare ``` 输出: ```text compare_xyzbc_trt_evidence=/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/compare-xyzbc-trt-evidence.json compare_xyzbc_trt_status=pass ``` 关键结果: ```text status=pass checkCount=60 passCount=60 failCount=0 blockers=[] nativeStatus=ok webStatus=ready-for-wasm-runtime ``` ## 对比结论 本轮真实执行与 compare 没有发现新的缺失功能。当前仿真项目已覆盖并通过以下对标面: - LinuxCNC 源树 manifest、启动入口、运行环境和源码/构建产物绑定。 - `xyzbc-trt.ini` 全字段、HAL 图谱、POSTGUI HAL、PyVCP、tool table、parameter file。 - `xyzbc-trt-kins.c`、`trtfuncs.c` 的 switchkins 与 TRT 运动学公式级证据。 - M428/M429/M430 remap、Ngcgui 子程序和示例程序执行过程。 - AXIS/PyVCP UI 按钮、状态联锁、MDI、jog、override、运行/暂停/停止等行为证据。 - Vismach 变换树、刀具方向、截图/视觉证据、task/HAL 状态、错误路径和性能预算。 - 源码派生、运行观察、运行采样三类证据已在 JSON 中区分,避免静态推导冒充真实运行。 关键一致性数据: ```text semanticExecutionVsSemanticExecution.status=pass nativeSampleCount=1300 webSampleCount=1300 maxTcpErrorMm=3.552713678800501e-15 rmsTcpErrorMm=4.515420281608176e-16 maxJointError=3.552713678800501e-15 maxToolAxisAngleDeg=0 machineStateMismatchCount=0 sampleCountDelta=0 lineExecutionComparison.status=pass nativeTraceCount=64 webTraceCount=64 mismatchCount=0 axisValuesByLineComparison.status=pass nativeLineValueCount=29 webLineValueCount=29 maxTcpErrorMm=0 maxJointError=0 maxToolAxisAngleDeg=0 mismatchCount=0 gcodeExecutionProcessComparison.status=pass nativeExecutionStepCount=128 webExecutionStepCount=128 nativeSourceLineCoverageCount=65 webSourceLineCoverageCount=65 mismatchCount=0 ``` ## 缺失功能分析 当前按既有 60 项硬检查结果,缺失功能清单为空: | 类别 | 缺失功能 | 当前判定 | 证据 | | --- | --- | --- | --- | | 源码/manifest | 无新增缺失 | 通过 | `sourceManifestComparison.status=pass` | | 启动/运行态 | 无新增缺失 | 通过 | `runtimeLaunchComparison.status=pass` | | INI/HAL | 无新增缺失 | 通过 | `iniFullComparison.status=pass`、`halGraphComparison.status=pass` | | 运动学/remap | 无新增缺失 | 通过 | `kinematicsFormulaComparison.status=pass`、`remapSemanticsComparison.status=pass` | | UI/Vismach/视觉 | 无新增缺失 | 通过 | `uiBehaviorComparison.status=pass`、`visualComparison.status=pass` | | G 代码执行过程 | 无新增缺失 | 通过 | `lineExecutionComparison.status=pass`、`gcodeExecutionProcessComparison.status=pass` | | task/HAL/限制/错误路径 | 无新增缺失 | 通过 | `taskHalFullStateComparison.status=pass`、`limitInterlocksComparison.status=pass`、`errorPathComparison.status=pass` | | 性能/采样误差 | 无新增缺失 | 通过 | `performanceBudgetComparison.status=pass` | 说明:本结论只对 2026-07-04 18:12 EDT 本轮重新生成的 native/Web/compare evidence 有效。后续任何 LinuxCNC 源码、Web 源码、staging 文件、WASM artifact、UI 行为或采样逻辑变更,都必须重新执行同一组命令并更新本文件或后续任务文档。 ## 工作计划 ### P-001 固定本轮证据为当前基线 状态:完成。 验收: ```text working/evidence/native-xyzbc-trt-evidence.json working/evidence/web-xyzbc-trt-evidence.json working/evidence/compare-xyzbc-trt-evidence.json ``` 均已重新生成,compare 为 `60/60 pass`。 ### P-002 变更后强制复验 状态:长期执行。 触发条件: - `/home/mes123456/cnc_wams/linuxcnc` 中 `xyzbc-trt` 相关源码、配置、HAL、NGC、PyVCP、Vismach 或 rtlib 变化。 - `web-rtcp-5axis-xyzbc-trt-sim-plan/app`、`tools`、`tests`、`working/evidence` 中与执行、UI、采样或对比相关内容变化。 - WASM artifact 重新构建或替换。 复验命令: ```bash /home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment \ python3 /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py \ --run --timeout 90 npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser ``` 通过标准: ```text compare.status=pass summary.failCount=0 summary.blockers=[] smoke:node=ok smoke:browser=ok ``` ### P-003 出现 fail/blocker 时的处理顺序 状态:待触发。 处理顺序: 1. 先定位 `compare-xyzbc-trt-evidence.json.requiredImprovements`。 2. 按 category 分配到源码/运行态、INI/HAL、运动学/remap、UI/Vismach、G 代码执行、task/HAL、错误路径、性能预算。 3. 回查 `native-xyzbc-trt-evidence.json` 与 `web-xyzbc-trt-evidence.json` 的同名字段,确认是 native 采集失败、Web 实现缺失,还是 compare 阈值/字段映射问题。 4. 修改实现或采集脚本后重新执行 P-002 全量复验。 5. 只有 compare 恢复 `pass` 后,才能把对应缺失项标为完成。 ### P-004 working 文档维护规则 状态:长期执行。 要求: - 若 compare 仍为 `60/60 pass`,不得新增“缺失功能已发现”的误报任务。 - 若新增对标维度,应扩展 `04-任务矩阵.md` 的任务编号和 compare 硬检查,不只写文字结论。 - 每次复验必须更新 `03-推进台账.md`、`05-验收证据.md`,并在 `gptlog-process/gpdlog.md` 追加中文过程日志。 ## 最终结论 截至 2026-07-04 18:12 EDT,仿真项目通过真实执行对比后未发现相对 LinuxCNC `xyzbc-trt` 的新增缺失功能。当前工作计划不是补缺实现,而是固定本轮 `60/60 pass` 证据,并建立后续变更后的强制复验和 fail/blocker 处置流程。 ## 2026-07-05 18:08 EDT 复验补充 按用户再次要求“除了硬件相关的,在仿真的所有方面完全对标”,已重新执行 P-002 全量复验并更新 `working` 入口文档、任务矩阵、推进台账和验收证据。 本轮硬件排除边界:只排除实体伺服、电气 I/O、现场总线、真实主轴/冷却/刀库等物理设备接入;LinuxCNC `xyzbc-trt` 软件仿真的源码、配置、HAL/task、AXIS/PyVCP/Vismach 等效 UI、switchkins/remap、G 代码执行、路径采样、错误联锁和 evidence/compare 仍全部纳入对标范围。 复验结果: ```text native.status=ok web.status=ready-for-wasm-runtime compare.status=pass compare.summary.checkCount=60 compare.summary.passCount=60 compare.summary.failCount=0 compare.summary.blockers=[] compare.requiredImprovements=[] smoke:node=ok smoke:browser=ok build=ok ``` 结论:截至 2026-07-05 18:08 EDT,仍未发现相对 `/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini` 的新增非硬件仿真缺失功能。