# 03-推进台账 本文件按轮记录推进过程。每轮必须写清楚:做了什么、改了哪些文件、验证了什么、下一步是什么。 ## 记录模板 ```text ## YYYY-MM-DD HH:MM 时区 轮次标题 ### 本轮目标 ### 已做事项 ### 修改文件 ### 验证情况 ### 结论 ### 下一步 ``` ## 2026-07-10 11:17 EDT ACC-038 04 HAL Component P1 源码同步与哈希 Gate ### 本轮目标 执行 `24` 的阶段 A,把 `and2`、`or2`、`not`、`mux2`、`scale` 从仅有 P0 定位推进到可复现、固定哈希保护的 P1,同时保持组件运行和动态加载边界不误晋级。 ### 已做事项 - 将五个 `.comp` 同时加入 `tools/source-manifest.txt` 和 `tools/task-hal-source-manifest.txt`。 - 运行既有 `extract_sources.sh`,从只读上游抽取五个文件到 `vendor/linuxcnc/src/hal/components`。 - 新增 `tools/verify_hal_component_source_sync.sh`,校验锁定 commit、双清单、P0/P1 字节一致和五个固定 SHA-256。 - 专项 gate 通过,输出 `hal_component_source_count=5` 和 `hal_component_source_sync=ok`。 - task-HAL 参考清单 gate 通过;五个组件已匹配,但清单中的其他 15 个 task/motion/HAL 参考文件仍未 vendored,因此 `nativeHalSyncReady=false` 保持不变。 - 首次运行全量 `verify_vendor_sync.sh` 失败,原因是前序恢复的非上游 `xyzac-trt_cmds.hal` fallback 未登记;按既有 D-013 和不回退原则保留该文件,新增独立 overlay manifest 并扩展 gate 后重跑通过。 - 新增 ADR-011,固定严格 upstream source manifest 与 generated vendor overlay 必须分离,未知额外文件仍一票否决。 - 新增 `26` 实施记录并同步总控索引、矩阵、验证命令、风险、交付索引、04 模块和 125 项绑定表。 ### 修改文件 - `wasm-port/tools/source-manifest.txt` - `wasm-port/tools/task-hal-source-manifest.txt` - `wasm-port/tools/verify_hal_component_source_sync.sh` - `wasm-port/tools/vendor-overlay-manifest.tsv` - `wasm-port/tools/verify_vendor_sync.sh` - `wasm-port/vendor/linuxcnc/src/hal/components/{and2,or2,not,mux2,scale}.comp` - `wasm-port/docs/source-reuse-map.md` - `完善wasm/working/26-04-HAL-Component-P1源码同步与哈希Gate实施记录.md` - `完善wasm/working/README.md`、`01`、`03`、`04`、`05`、`08`、`09`、`10`、`11`、`12`、`13`、`14`、`24` ### 验证情况 - `./tools/verify_upstream_baseline.sh` 通过。 - `./tools/verify_hal_component_source_sync.sh` 通过,五项 `vendor_match=1`,commit 为 `60597ee...e4bad`。 - `./tools/verify_task_hal_source_manifest.sh` 返回成功,`task_hal_reference_source_ready=1`、`task_hal_vendor_hash_match_ready=1`;整个 task-HAL vendor 集合仍未完成。 - `./tools/verify_vendor_sync.sh` 首次失败并定位既有 fallback;建立独立 path/hash/provenance overlay 清单后重跑通过,输出 `vendor generated overlay validation complete: 1` 和 `vendor sync validation complete`。 - 并行验证时第一条 native probes 会话仍在运行,误触发第二次并发重跑,`rs274` 出现 Bus error,临时结果为 `unexpected_fail=1`;确认所有残留进程结束后串行重跑。 - 串行 `./tests/native/verify_native_probes.sh` 最终退出 0:sim-config `total=159`、`pass=151`、`expected_fail=8`、`unexpected_fail=0`;nc_files `total=107`、`pass=101`、`expected_fail=6`、`unexpected_fail=0`。 - HAL runtime、standalone semantics guard、SDK surface、project release readiness、目标 Web Node smoke 均通过。 ### 结论 `ACC-038/INT-025` 完成五个基础组件的专项 P1 源码同步/hash gate。04 的 `4.7-4.11` 只允许更新为“P1 已完成、执行待实现”,`4.16` 仍为预编译 allowlist 条件通过/任意动态加载 Blocked。 ### 下一步 按 `24` 继续实现 halcompile 派生、precompile manifest、真实 `loadrt/addf/servo-step` 和 truth-table/thread-net evidence。 ## 2026-07-10 10:58 EDT ACC-037 04 Host Runtime Opt-In Promotion Evidence Gate 落地蓝图 ### 本轮目标 继续完善 `完善wasm/working`,把上一轮推进指针中的宿主实时/硬件/外部进程 opt-in proof 收敛为可执行、不可误晋级的状态机和 evidence gate。 ### 已做事项 - 复核 `22` 的 Web/WASM simulation promotion 边界,并读取 `wasm-port/docs/host-runtime-boundary-handoff.md`、full-process design、release readiness、host tests 和 runtime-boundary TSV。 - 确认当前 host 对 User-M、Tool DB、Python remap 三个 opt-in probe 均为 host ready/dispatch allowed,但 `execution_enabled=0`、`promotion_allowed=0`。 - 确认 User-M/Tool DB 当前是 `ready_disabled_by_default`;Python stop-lookahead 为单 fixture `runtime_lifecycle_probe_passed` 和 native evidence accepted,但 manual promotion lock 仍生效。 - 确认 `project-release-readiness.json` 可为 `ready=true`,同时 blocked runtime families 非空且 promoted family 为空;release ready 不能解释为 host promotion。 - 复核 LinuxCNC User-M `EMC_SYSTEM_CMD`、Tool DB、RTAPI/HAL thread、motion 和 HAL driver 源码归属。 - 检查目标 Web 项目的 `full-execution-boundary.js`、`native-task-hal-audit.js` 和 tests,确认 Web simulation ready 与 host process/realtime/hardware false 同时存在。 - 新增 `25-04-Host-Runtime-Opt-In-Promotion-Evidence-Gate落地蓝图.md`,定义逐级状态机、`host_runtime_opt_in_evidence` schema、opt-in 安全合同、人工解锁和 realtime/hardware 非继承规则。 - 新增 ADR-010,固定 project release readiness 与 host runtime promotion 分离。 - 同步更新 README、功能范围、任务矩阵、源码映射、联合矩阵、验证命令、风险、交付索引、04 模块矩阵和相关 125 项绑定行。 ### 修改文件 - `完善wasm/working/25-04-Host-Runtime-Opt-In-Promotion-Evidence-Gate落地蓝图.md` - `完善wasm/working/README.md` - `完善wasm/working/01-项目功能内容.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/05-验收证据.md` - `完善wasm/working/06-决策记录.md` - `完善wasm/working/08-源码资产映射与证据索引.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/10-联合验证命令清单.md` - `完善wasm/working/11-缺口风险与边界锁定.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/13-04验收文档任务对标矩阵.md` - `完善wasm/working/14-04-125项逐项源码证据绑定表.md` ### 验证情况 - 04 编号项和逐项绑定保持 `w04_numbered_items=125`、`binding_rows=125`。 - `cd wasm-port && ./tests/docs/node/verify_host_runtime_boundary_docs.sh` 通过,输出 `host_runtime_boundary_docs_node_smoke=ok`。 - `cd wasm-port && node tests/host/verify_project_release_readiness_artifact.mjs` 通过,输出 `project_release_readiness_artifact_node_smoke=ok`。 - `verify_full_execution_boundary.mjs` 通过,输出 `full_execution_boundary_smoke=ok`。 - `verify_native_task_hal_audit.mjs` 通过,输出 Web simulation ready 与 host false 的成对字段:`external_user_m_process_ready=1`、`tool_db_process_ready=1`,同时 `host_external_user_m_process_ready=0`、`host_tool_db_process_ready=0`、`host_realtime_kernel=0`、`hardware_drive=0`、`promotion_scope=web_simulation_only`。 - Web Node smoke 通过,输出 `xyzbc_trt_web_app_smoke=ok`。 - 本轮未设置任何 `ENABLE_*_RUNTIME_PROBE=1`,未隐式运行宿主外部进程 probe。 ### 结论 `ACC-037/INT-024` 已完成落地蓝图。Host ready/dispatch allowed、默认禁用、native pass、evidence accepted、manual unlock 和 promotion 已被拆成独立状态;release `ready=true` 不再能够被解释为 realtime、hardware 或 external process 已晋级。 ### 下一步 按 `25` 实现 `host_runtime_opt_in_evidence`、状态机和 release/promotion separation gate;实际 opt-in native probe 继续只允许人工显式触发。Meter/Scope 和 HAL component 仍分别按 `23`、`24` 推进。 ## 2026-07-10 10:47 EDT ACC-036 04 HAL Component Precompile Manifest / Truth-Table Gate 落地蓝图 ### 本轮目标 继续在 `完善wasm/working` 中推进双项目对标,处理 `ACC-033/INT-020` 已发现但尚未细化到实施顺序的 HAL component precompile manifest/truth-table 缺口。 ### 已做事项 - 逐文件复核 LinuxCNC `and2.comp`、`or2.comp`、`not.comp`、`mux2.comp`、`scale.comp` 的 pin、`function _`、`option period no` 和公式,并记录锁定 commit 下的 SHA-256。 - 检查 `wasm-port/vendor/linuxcnc/src`,确认当前没有 `hal/components` 目录;检查两个 source manifest,确认五个 `.comp` 尚未纳入 P1 同步。 - 检查 `build_task_hal_wasm.sh`,确认当前 task-HAL WASM 构建没有编译五个组件,也没有导出组件 factory/step symbol。 - 检查 `linuxcnc_hal_runtime.cpp`,确认当前 `loadrt` 只追加 event,`addf` 只登记函数名,`lchal_step_threads()` 只追加 `call:` event,没有调用组件函数或更新输出 pin。 - 新增 `24-04-HAL-Component-Precompile-Manifest-Truth-Table-Gate落地蓝图.md`,固定 P1 源码同步、LinuxCNC 派生生成物、生成报告、manifest、真实运行时调用链、truth-table/formula evidence、Web evidence 和未知组件 blocked 规则。 - 新增 ADR-009,禁止手写五个公式冒充 LinuxCNC 源码复用。 - 同步更新 README、功能范围、任务矩阵、源码映射、联合任务、验证命令、风险、交付索引、04 模块矩阵和 125 项绑定表。 ### 修改文件 - `完善wasm/working/24-04-HAL-Component-Precompile-Manifest-Truth-Table-Gate落地蓝图.md` - `完善wasm/working/README.md` - `完善wasm/working/01-项目功能内容.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/05-验收证据.md` - `完善wasm/working/06-决策记录.md` - `完善wasm/working/08-源码资产映射与证据索引.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/10-联合验证命令清单.md` - `完善wasm/working/11-缺口风险与边界锁定.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/13-04验收文档任务对标矩阵.md` - `完善wasm/working/14-04-125项逐项源码证据绑定表.md` ### 验证情况 - 04 文档编号项计数保持 `w04_numbered_items=125`;逐项绑定表保持 `binding_rows=125`。 - LinuxCNC HEAD 为 `60597ee0718873d2449058c824262a275e5e4bad`,五个 `.comp` SHA-256 与 `24` 登记值一致。 - `cd wasm-port && ./tools/verify_upstream_baseline.sh` 通过,输出 `upstream baseline validation complete`。 - `cd wasm-port && ./tests/wasm/node/verify_hal_runtime.sh` 通过,输出 `linuxcnc_task_hal_wasm_build=ok`、`hal_runtime_registry=ok`、`hal_net_signal_propagation=ok`、`hal_thread_scheduler=ok`、`loadusr_blocked_evidence=ok`、`hal_runtime_wasm_node_smoke=ok`。 - `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过,输出 `xyzbc_trt_web_app_smoke=ok`。 - `rg` 一致性检查确认 `ACC-036`、`INT-023`、`ADR-009` 和 `24` 已进入总控引用。 ### 结论 `ACC-036/INT-023` 已完成落地蓝图。当前最先要修复的不是 truth table 本身,而是五个 `.comp` 尚未进入 vendor/source manifest;在 P1 同步、LinuxCNC 派生生成、真实 `loadrt/addf/servo-step` 和结构化执行 evidence 完成前,04 的 `4.7-4.11` 仍不得晋级。 ### 下一步 按 `24` 先把五个 `.comp` 纳入 `wasm-port` 的可复现同步和哈希 gate,再实现生成物、precompile manifest、WASM symbol、truth-table/formula 和 thread/net execution gate;Meter/Scope 则继续按 `23` 补实际 JSON evidence。 ## 2026-07-10 10:20 EDT ACC-035 04 HAL Meter/Scope JSON Evidence Gate 落地蓝图 ### 本轮目标 按用户要求继续完成 `完善wasm/working` 中的任务,完全对标本地 LinuxCNC 源程序、`wasm-port`、`web-rtcp-5axis-xyzbc-trt-sim-plan` 和 `04基于Web的LinuxCNC兼容数控仿真平台.txt`,处理推进指针中的 `hal_meter_evidence` / `hal_scope_waveform_evidence` 实际 gate 缺口。 ### 已做事项 - 复核 `20-04-HAL-Scope-Meter-JSON-Gate实现缺口复核.md`,确认已有结论是当前缺 `hal_meter_evidence` 与 `hal_scope_waveform_evidence`。 - 检查 `wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_hal_runtime.cpp` 和 `verify_hal_runtime.mjs`,确认现有 `snapshot_json()`、`lchal_get_snapshot_json`、pin/signal/param/thread 基础能力可作为 meter/scope evidence 的输入来源。 - 检查 `web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/runtime/gmoccapy-hal-model.js` 和 `verify_gmoccapy_hal_model.mjs`,确认已有 gmoccapy HAL model、pin group、core/spindle/postgui net 证据,但它们不是 meter/scope runtime proof。 - 检查 `web-xyzbc-trt-evidence.json` 和 `compare-xyzbc-trt-evidence.json` 的顶层字段,确认当前仍没有 `hal_meter_evidence` 和 `hal_scope_waveform_evidence`。 - 新增 `23-04-HAL-Meter-Scope-JSON-Evidence-Gate落地蓝图.md`,固定 LinuxCNC 源码对照、现有数据源、两个 JSON schema、建议生成路径、Node gate、Web evidence/compare 扩展和 04 晋级条件。 - 更新 `README`、`04`、`09`、`10`、`12`、`13`、`14`,把 `ACC-035/INT-022` 纳入总控索引、任务矩阵、联合验证命令、交付索引和逐项绑定表。 ### 修改文件 - `完善wasm/working/23-04-HAL-Meter-Scope-JSON-Evidence-Gate落地蓝图.md` - `完善wasm/working/README.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/10-联合验证命令清单.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/13-04验收文档任务对标矩阵.md` - `完善wasm/working/14-04-125项逐项源码证据绑定表.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` ### 验证情况 - 04 文档编号项计数保持 `w04_numbered_items=125`。 - `14-04-125项逐项源码证据绑定表.md` 逐项绑定行数保持 `binding_rows=125`。 - `cd wasm-port && ./tests/wasm/node/verify_hal_runtime.sh` 通过,输出 `linuxcnc_task_hal_wasm_build=ok`、`hal_runtime_registry=ok`、`hal_net_signal_propagation=ok`、`hal_thread_scheduler=ok`、`loadusr_blocked_evidence=ok`、`hal_runtime_wasm_node_smoke=ok`。 - `node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_gmoccapy_hal_model.mjs` 通过,输出 `gmoccapy_hal_model_smoke=ok`。 - `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过,输出 `xyzbc_trt_web_app_smoke=ok`。 ### 结论 `ACC-035/INT-022` 已完成 HAL Meter/Scope JSON Evidence Gate 的落地蓝图。当前项目仍不能把 04 的 HAL Scope/Meter 宣称为完整完成;后续必须按 `23` 生成 `hal_meter_evidence`、`hal_scope_waveform_evidence`,并补齐 Node gate、Web evidence 和 compare 字段后才能晋级。 ### 下一步 继续按 `23` 实际实现 `verify_hal_meter_evidence.mjs`、`verify_hal_scope_waveform_evidence.mjs`、Web evidence 字段和 compare gate;并继续补 HAL component precompile manifest/truth-table gate。 ## 2026-07-10 09:51 EDT ACC-034 04 Full-Process Realtime Runtime Proof 实现缺口复核 ### 本轮目标 按用户要求继续完成 `完善wasm/working` 中的任务,完全对标本地 LinuxCNC 源程序、`wasm-port`、`web-rtcp-5axis-xyzbc-trt-sim-plan` 和 `04基于Web的LinuxCNC兼容数控仿真平台.txt`,处理上一轮推进指针中的 “full-process/realtime runtime proof” 缺口。 ### 已做事项 - 读取 `04基于Web的LinuxCNC兼容数控仿真平台.txt`、`14-04-125项逐项源码证据绑定表.md`、`21-04-HAL-Component-Precompile-Manifest实现缺口复核.md` 和 `xyzbc-trt` 既有 working/测试文件,确认 full-process/realtime 尚缺总控专项复核。 - 复核 LinuxCNC 源码归属:Task 对应 `src/emc/task`,Motion 对应 `src/emc/motion`,TP/TC 对应 `src/emc/tp`,HAL thread 对应 `src/hal`,五轴代表配置对应 `configs/sim/axis/vismach/5axis`。 - 检查 `wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_task_hal_wasm.cpp`、`linuxcnc_motion_runtime.c`、`linuxcnc_hal_runtime.cpp`、`runtime/sdk/src/linuxcnc-task-hal.js` 和相关 WASM gate,确认已有 Web/WASM task-motion-HAL 仿真运行时 proof。 - 检查 `web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/runtime/full-execution-boundary.js`、`linuxcnc-task-hal-runtime.js`、`verify_full_execution_boundary.mjs`、`verify_linuxcnc_task_hal_runtime.mjs`、`verify_native_task_hal_audit.mjs` 和 browser shell smoke,确认其显式区分 Web simulation promotion 与 host realtime/hardware/process false。 - 新增 `22-04-Full-Process-Realtime-Runtime-Proof实现缺口复核.md`,定义 full-process/realtime 的源码对照、现有实现 proof、禁止降级规则、严格状态和后续 gate。 - 运行 `verify_native_task_hal_audit.mjs` 时先发现 phase0 native probe 因 `xyzac-trt_cmds.hal` 缺失回退到 `blocked_missing_source`。 - 按 `wasm-port` 既有 D-013 决策,不修改只读上游 `linuxcnc`,从目标 app dist 中恢复同名生成 HAL 文件到 `wasm-port/vendor/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt_cmds.hal`,恢复 native probe overlay fallback。 - 重新运行 phase0 和 native readiness audit 后通过,并输出 `promotion_scope=web_simulation_only`、`hardware_drive=0`、`host_realtime_kernel=0`。 - 更新 `README`、`04`、`09`、`10`、`11`、`12`、`13`、`14`、`01`,把 `ACC-034/INT-021` 纳入总控索引、任务矩阵、联合验证命令、边界锁定和逐项绑定表。 ### 修改文件 - `完善wasm/working/22-04-Full-Process-Realtime-Runtime-Proof实现缺口复核.md` - `完善wasm/working/README.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/10-联合验证命令清单.md` - `完善wasm/working/11-缺口风险与边界锁定.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/13-04验收文档任务对标矩阵.md` - `完善wasm/working/14-04-125项逐项源码证据绑定表.md` - `完善wasm/working/01-项目功能内容.md` - `完善wasm/working/06-决策记录.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` - `wasm-port/vendor/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt_cmds.hal` ### 验证情况 - 04 文档编号项计数保持 `w04_numbered_items=125`。 - `14-04-125项逐项源码证据绑定表.md` 逐项绑定行数保持 `binding_rows=125`。 - `node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_full_execution_boundary.mjs` 通过,输出 `full_execution_boundary_smoke=ok`。 - `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过,输出 `xyzbc_trt_web_app_smoke=ok`。 - `cd wasm-port && ./tests/wasm/node/verify_task_hal_wasm.sh` 通过,输出 `linuxcnc_task_hal_wasm_build=ok`、`linuxcnc_task_runtime_smoke=ok`、`pause_resume_step_motion_issue_from_execute=ok`、`task_hal_readiness_status_contract=ok` 等。 - `node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_linuxcnc_task_hal_runtime.mjs` 通过,输出 `linuxcnc_task_hal_runtime_smoke=ok`、`task_hal_machine_file_smoke=ok`、`switchkins_remap_hal_sync_smoke=ok`、`browser_task_hal_worker_smoke=ok`。 - `node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_native_task_hal_audit.mjs` 首次失败,原因是 `trt_task_hal_source_proof_ready expected 1, got 0`;恢复 `wasm-port/vendor/.../xyzac-trt_cmds.hal` 后重跑通过。 - `cd wasm-port && ./tests/native/verify_task_hal_phase0.sh` 重跑通过,输出 `task_hal_phase0_native_probe_gate=ok`。 - `node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_native_task_hal_audit.mjs` 重跑通过,输出 `native_task_hal_source_artifact_audit=ok`、`task_hal_web_simulation_boundary_consistent=1`、`hardware_drive=0`、`host_realtime_kernel=0`、`host_external_user_m_process_ready=0`、`host_tool_db_process_ready=0`、`promotion_scope=web_simulation_only`。 - `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser` 通过,输出 `xyzbc_trt_browser_smoke=ok`。 - `git diff --check -- 完善wasm/working wasm-port/vendor/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt_cmds.hal web-rtcp-5axis-xyzbc-trt-sim-plan/build/readiness/native-task-hal-readiness.json gptlog-process/gpdlog.md` 无输出。 ### 结论 `ACC-034/INT-021` 已完成实现缺口复核。当前两个目标项目已经具备 Web/WASM task-motion-HAL 仿真运行时 proof 的关键实现和 gate;但该结论只支撑 `linuxcnc_task_motion_hal_wasm_simulation_runtime` 边界,不能把宿主实时内核、硬件驱动、完整 native process topology、任意宿主 User-M/Tool DB 外部进程写成无条件完成。 ### 下一步 继续按 `14` 到 `22` 的缺口补实际 `hal_meter_evidence`/`hal_scope_waveform_evidence` gate、HAL component precompile manifest/truth-table gate 和宿主实时/硬件/外部进程 opt-in proof。 ## 2026-07-10 09:34 EDT ACC-033 04 HAL Component Precompile Manifest 实现缺口复核 ### 本轮目标 按用户要求继续完成 `完善wasm/working` 中的任务,完全对标本地 LinuxCNC 源程序和 `04基于Web的LinuxCNC兼容数控仿真平台.txt`,处理上一轮推进指针中的 “HAL component precompile manifest/truth-table gate” 缺口。 ### 已做事项 - 复核 `19-04动态加载与预编译Manifest复核.md`,确认其中已定位 `and2`、`or2`、`not`、`mux2`、`scale` 的 LinuxCNC `.comp` 源码和 manifest 字段要求,但仍需检查实现层是否已有可执行 gate。 - 检索 `wasm-port`,确认当前未发现 `hal_component_precompile_manifest`、`component_precompile_manifest`、`verify_hal_component_precompile_manifest.mjs` 或 `verify_hal_component_truth_tables.mjs`。 - 复核 LinuxCNC `and2.comp`、`or2.comp`、`not.comp`、`mux2.comp`、`scale.comp`,确认各组件的 pin、`function _`、`option period no` 和公式/真值表。 - 检索目标 Web 项目 native evidence,确认可见 `loadrt mux2 names=J0_mux...`、`loadrt scale names=rpm_rps`、`addf J*_mux servo-thread` 和 `addf rpm_rps servo-thread` 等原生 HAL 文件行。 - 明确 native HAL 文件行只能证明 LinuxCNC 原生配置使用组件,不能证明 WASM/Web 已预编译并执行组件函数。 - 新增 `21-04-HAL-Component-Precompile-Manifest实现缺口复核.md`,定义 HAL component manifest 最小字段、truth-table/formula gate、thread/net gate 和逐项状态。 - 更新 `14` 中 `4.7-4.11`、`4.16` 的严格状态,明确 `loadrt` 事件、`.comp` 源码和 native HAL 文本均不能替代组件执行 gate。 - 更新 `04`、`09`、`10`、`11`、`12`、`13`、README 和 `01`,把 `ACC-033/INT-020` 纳入总控矩阵、验证命令、边界锁定和交付索引。 ### 修改文件 - `完善wasm/working/21-04-HAL-Component-Precompile-Manifest实现缺口复核.md` - `完善wasm/working/14-04-125项逐项源码证据绑定表.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/README.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/13-04验收文档任务对标矩阵.md` - `完善wasm/working/10-联合验证命令清单.md` - `完善wasm/working/11-缺口风险与边界锁定.md` - `完善wasm/working/01-项目功能内容.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` ### 验证情况 - 04 文档编号项计数保持 `w04_numbered_items=125`。 - `14-04-125项逐项源码证据绑定表.md` 逐项绑定行数保持 `binding_rows=125`。 - `cd wasm-port && ./tools/verify_upstream_baseline.sh` 通过,输出 `upstream baseline validation complete`。 - `cd wasm-port && ./tests/wasm/node/verify_hal_runtime.sh` 通过,输出 `linuxcnc_task_hal_wasm_build=ok`、`hal_runtime_registry=ok`、`hal_net_signal_propagation=ok`、`hal_thread_scheduler=ok`、`loadusr_blocked_evidence=ok`、`hal_runtime_wasm_node_smoke=ok`。 - `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过,输出 `xyzbc_trt_web_app_smoke=ok`。 - `git diff --check -- 完善wasm/working gptlog-process/gpdlog.md` 无输出。 ### 结论 `ACC-033/INT-020` 已完成实现缺口复核。LinuxCNC `.comp` 源码和目标 Web native evidence 中的 `loadrt mux2`/`loadrt scale` 行可以作为来源证据;但当前两个目标项目尚未形成 HAL component precompile manifest、WASM symbol、truth-table/formula gate 和 thread/net execution proof。后续不得把 `loadrt` 事件记录、HAL 文件文本或 native evidence 中的 `loadrt mux2/scale` 行直接宣称为 04 `4.7-4.11` 已完成。 ### 下一步 继续按 `14` 到 `21` 的缺口补运行证据:优先补实际 `hal_meter_evidence`/`hal_scope_waveform_evidence` gate、HAL component precompile manifest/truth-table gate 和 full-process/realtime runtime proof。 ## 2026-07-10 09:21 EDT ACC-032 04 HAL Scope/Meter JSON Gate 实现缺口复核 ### 本轮目标 按用户要求继续完成 `完善wasm/working` 中的任务,完全对标本地 LinuxCNC 源程序和 `04基于Web的LinuxCNC兼容数控仿真平台.txt`,处理上一轮推进指针中的 “HAL Scope/Meter JSON gate” 缺口。 ### 已做事项 - 复核 `17-04-HAL-Scope-Meter结构化证据复核.md`,确认其中已定义 `hal_meter_evidence` 和 `hal_scope_waveform_evidence`,但仍需检查实现层是否已有可执行 gate。 - 检索 `wasm-port/tests`,确认当前存在 `verify_hal_runtime.sh`、`verify_task_hal_wasm.sh`、`verify_motion_hal_sync.sh` 等 HAL runtime gate,但未发现 `verify_hal_meter_evidence.mjs` 和 `verify_hal_scope_waveform_evidence.mjs`。 - 检查 `web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_gmoccapy_hal_model.mjs` 和 `app/src/runtime/gmoccapy-hal-model.js`,确认 gmoccapy HAL 文件、pin group、core/spindle/postgui net 和硬按钮映射已有 Node smoke。 - 检查 `web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/web-xyzbc-trt-evidence.json` 和 `compare-xyzbc-trt-evidence.json`,确认已有 `halGraph`、`halNets`、`taskHalEquivalence`、`taskHalFullState`、`pyvcpPostgui`、`visualEvidence` 等字段,但未见 `hal_meter_evidence` 或 `hal_scope_waveform_evidence`。 - 复核 LinuxCNC 本地 HAL 工具路径,确认 `meter.c`、`scope.c`、`scope_rt.c`、`scope_shm.h`、`scope_usr.h`、`halmeter.1.adoc`、`halscope.adoc` 仍是 HAL Meter/Scope 的对照证据。 - 新增 `20-04-HAL-Scope-Meter-JSON-Gate实现缺口复核.md`,明确当前已有 HAL model/graph 不能替代 meter/scope JSON gate。 - 更新 `14` 中 `4.13`、`4.14`、`10.6`、`10.7` 的严格状态,区分 HAL 监视模型条件通过与 HAL Scope/Meter JSON gate 待实现。 - 更新 `04`、`09`、`10`、`11`、`12`、`13`、README 和 `01`,把 `ACC-032/INT-019` 纳入总控矩阵、验证命令、边界锁定和交付索引。 ### 修改文件 - `完善wasm/working/20-04-HAL-Scope-Meter-JSON-Gate实现缺口复核.md` - `完善wasm/working/14-04-125项逐项源码证据绑定表.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/README.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/13-04验收文档任务对标矩阵.md` - `完善wasm/working/10-联合验证命令清单.md` - `完善wasm/working/11-缺口风险与边界锁定.md` - `完善wasm/working/01-项目功能内容.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` ### 验证情况 - 04 文档编号项计数保持 `w04_numbered_items=125`。 - `14-04-125项逐项源码证据绑定表.md` 逐项绑定行数保持 `binding_rows=125`。 - `cd wasm-port && ./tools/verify_upstream_baseline.sh` 通过,输出 `upstream baseline validation complete`。 - `node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_gmoccapy_hal_model.mjs` 通过,输出 `gmoccapy_hal_model_smoke=ok`。 - `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过,输出 `xyzbc_trt_web_app_smoke=ok`。 - `git diff --check -- 完善wasm/working gptlog-process/gpdlog.md` 无输出。 ### 结论 `ACC-032/INT-019` 已完成实现缺口复核。当前两个目标项目已有 HAL runtime、HAL graph、gmoccapy HAL model 和代表 Web evidence,但未形成 `hal_meter_evidence` / `hal_scope_waveform_evidence` 的可执行 JSON gate。后续不得把 `halGraph`、`halNets`、gmoccapy HAL model、按钮图标或截图直接宣称为 HAL Scope/Meter 完整对标。 ### 下一步 继续按 `14` 到 `20` 的缺口补运行证据:优先补 `hal_meter_evidence`/`hal_scope_waveform_evidence` 实际 gate、HAL component precompile manifest/truth-table gate 和 full-process/realtime runtime proof。 ## 2026-07-10 09:02 EDT ACC-031 04 动态加载与预编译 Manifest 复核 ### 本轮目标 按用户要求继续完成 `完善wasm/working` 中的任务,完全对标本地 LinuxCNC 源程序和 `04基于Web的LinuxCNC兼容数控仿真平台.txt`,处理上一轮推进指针中的“动态加载/预编译 manifest”缺口。 ### 已做事项 - 复核 04 中 `4.7-4.11`、`4.16`、`6.5`、`6.6`,确认这些项分别涉及 HAL `.comp` 组件、`loadrt` 运行时加载、自定义运动学和并联运动学。 - 检索本地 LinuxCNC `src/hal/components`,确认 `and2`、`or2`、`not`、`mux2`、`scale` 的真实源码是 `.comp`,不是 04 文档中写法暗示的 `.c` 源文件。 - 检查 `wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_hal_runtime.cpp`,确认当前 `loadrt` 只记录 `loadrt:` 事件,`loadusr` 明确阻塞,不执行运行时动态链接。 - 检查 `wasm-port/tests/wasm/node/verify_hal_runtime.mjs`,确认现有 HAL gate 覆盖 pin/signal/param/net/thread 和 loadusr blocked evidence,但不执行 and2/or2/not/mux2/scale 组件逻辑。 - 检查 `wasm-port/tools/source-manifest.txt` 和 `verify_kinematics_wasm.mjs`,确认 kinematics 已覆盖 `trivkins`、`5axiskins`、`xyzac-trt`、`xyzbc-trt`、`puma`、`genser`、`genhex`、`pentakins` 等预编译模块。 - 新增 `19-04动态加载与预编译Manifest复核.md`,定义 HAL component precompile manifest 的字段、gate 和逐项结论。 - 更新 `14` 中 4.7-4.11、4.16、6.5、6.6 的严格状态,明确 HAL 组件仍待补专项 gate,kinematics 只对已预编译模块条件通过。 - 更新 `04`、`09`、`10`、`11`、`12`、`13`、README 和 `01`,把 `ACC-031/INT-018` 纳入总控矩阵、验证命令、边界锁定和交付索引。 ### 修改文件 - `完善wasm/working/19-04动态加载与预编译Manifest复核.md` - `完善wasm/working/14-04-125项逐项源码证据绑定表.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/README.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/13-04验收文档任务对标矩阵.md` - `完善wasm/working/10-联合验证命令清单.md` - `完善wasm/working/11-缺口风险与边界锁定.md` - `完善wasm/working/01-项目功能内容.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` ### 验证情况 - 04 文档编号项计数保持 `w04_numbered_items=125`。 - `14-04-125项逐项源码证据绑定表.md` 逐项绑定行数保持 `binding_rows=125`。 - `cd wasm-port && ./tools/verify_upstream_baseline.sh` 通过,输出 `upstream baseline validation complete`。 - `cd wasm-port && ./tests/wasm/node/verify_hal_runtime.sh` 通过,输出 `linuxcnc_task_hal_wasm_build=ok`、`hal_runtime_registry=ok`、`hal_net_signal_propagation=ok`、`hal_thread_scheduler=ok`、`loadusr_blocked_evidence=ok`、`hal_runtime_wasm_node_smoke=ok`。 - `cd wasm-port && ./tests/wasm/node/verify_kinematics_wasm.sh` 通过,输出 `kinematics_wasm_node_smoke=ok`。 - `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过,输出 `xyzbc_trt_web_app_smoke=ok`。 - `git diff --check -- 完善wasm/working gptlog-process/gpdlog.md` 待本轮最终格式检查执行。 ### 结论 `ACC-031/INT-018` 已完成源码边界复核。`4.7-4.11` 只能声明 LinuxCNC `.comp` 源码已定位,当前仍缺 HAL component precompile manifest 和 truth-table gate;`4.16 loadrt` 在 WASM 中不是运行时动态加载,只能保持 Blocked/预编译 allowlist 条件通过;`6.5/6.6` 中已列入 manifest 的预编译 kinematics 可按 `verify_kinematics_wasm.sh` 条件通过。 ### 下一步 继续按 `14` 到 `19` 的缺口补运行证据:优先补 HAL Scope/Meter JSON gate、HAL component precompile manifest/truth-table gate 和 full-process/realtime runtime proof。 ## 2026-07-10 08:53 EDT ACC-030 04 五轴范围差异与代表应用复核 ### 本轮目标 按用户要求继续完成 `完善wasm/working` 中的任务,完全对标本地 LinuxCNC 源程序和 `04基于Web的LinuxCNC兼容数控仿真平台.txt`,处理上一轮推进指针中的“五轴范围差异说明”缺口。 ### 已做事项 - 读取 04 文档 `2.8 五轴联动专项`,确认 04 原文将 A/C 点动、A 轴 ±120° 限位、C 轴 WRAPPED_ROTARY、RTCP、五轴联动、斜面钻孔、球面加工、叶轮加工和旋转轴进给率全部写为通过。 - 检索 LinuxCNC 本地五轴配置,确认存在 `xyzbc-trt`、`xyzac-trt`、`xyzab-tdr`、TRSRN、max5、bridgemill 等多个五轴族,不能用单一 profile 证据继承全部五轴族。 - 复核 `xyzbc-trt.ini`:默认代表应用为 `COORDINATES = XYZBC`、`KINEMATICS = xyzbc-trt-kins`,B/C 轴证据不能自动覆盖 04 写的 A/C。 - 复核 `xyzac-trt.ini`:存在 `XYZAC` 和 A/C 轴,但 `[AXIS_A]` 为 `MIN_LIMIT=-100`、`MAX_LIMIT=50`,不是 04 写的 `±120°`。 - 复核 `xyzab-tdr.ini`:存在 `XYZAB` 和 A/B 轴,但与默认 `xyzbc-trt` 是不同机床族,且 A 轴限位为 `-3600..3600`。 - 检索 `WRAPPED_ROTARY`,确认 LinuxCNC 支持该 INI 语义,但当前 `xyzbc-trt.ini`/`xyzac-trt.ini` 采用 C 轴 `-36000..36000` 大范围限位,未设置 `WRAPPED_ROTARY=1`。 - 检索 `sphere.ngc`、`rtcp.ngc`、`impeller` 相关资产,确认本地未发现 04 写的 `nc_files/5axis/sphere.ngc`,但存在 `boat-xyzbc.ngc`、`boat-xyzac.ngc` 和 `impeller-7bl-xyzac.ngc`。 - 读取 `web-rtcp-5axis-xyzbc-trt-sim-plan` 的 `xyzbc-trt` profile 和 Node tests,确认默认 profile 是 XYZBC,同时项目已有 `xyzac-trt`、`gmoccapy-xyzac-trt`、`gmoccapy-xyzab` 的 source boundary 和 program-case gate。 - 新增 `18-04五轴范围差异与代表应用复核.md`,按 profile、配置、G-code 和 gate 四者绑定五轴范围。 - 更新 `14` 中 8.1、8.2、8.3、8.6-8.10 的严格状态,明确哪些是 XYZBC 代表证据、哪些需修订或补专项 gate。 - 更新 `04`、`09`、`10`、`11`、`12`、`13`、README 和 `01`,把 `ACC-030/INT-017` 纳入总控矩阵、验证命令、边界锁定和交付索引。 ### 修改文件 - `完善wasm/working/18-04五轴范围差异与代表应用复核.md` - `完善wasm/working/14-04-125项逐项源码证据绑定表.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/README.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/13-04验收文档任务对标矩阵.md` - `完善wasm/working/10-联合验证命令清单.md` - `完善wasm/working/11-缺口风险与边界锁定.md` - `完善wasm/working/01-项目功能内容.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` ### 验证情况 - 04 文档编号项计数保持 `w04_numbered_items=125`。 - `14-04-125项逐项源码证据绑定表.md` 逐项绑定行数保持 `binding_rows=125`。 - `cd wasm-port && ./tools/verify_upstream_baseline.sh` 通过,输出 `upstream baseline validation complete`。 - `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过,输出 `xyzbc_trt_web_app_smoke=ok`。 - `node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_profile_boundary.mjs` 通过,输出 `profile_boundary_smoke=ok`。 - `node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_real_linuxcnc_5axis_program_cases.mjs` 通过,输出 `linuxcnc_source_program_case_count=8` 和 `real_linuxcnc_5axis_program_cases_smoke=ok`。 - `node web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_impeller_feed_task_hal_run.mjs` 通过,输出 `impeller_motion_count=4492`、`impeller_feed_segments=4306`、`impeller_feed_task_hal_run=ok`。 - `git diff --check -- 完善wasm/working gptlog-process/gpdlog.md` 无输出。 ### 结论 `ACC-030/INT-017` 已完成。默认 `xyzbc-trt` 代表应用可继续作为 XYZBC TRT 的完整对标证据入口;`xyzac-trt`、`gmoccapy-xyzac-trt`、`gmoccapy-xyzab` 和 impeller program-case 证据可以登记为专项 source-boundary 或程序级证据;但 04 的 `10/10 五轴通过` 不能直接继承为所有 A/C、XYZAB、sphere、impeller、TRSRN、max5 等五轴族全部 UI 发布。 ### 下一步 继续按 `14` 到 `18` 的缺口补运行证据:优先补 HAL Scope/Meter JSON gate、动态加载/预编译 manifest 和 full-process/realtime runtime proof。 ## 2026-07-10 08:44 EDT ACC-029 04 HAL Scope/Meter 结构化证据复核 ### 本轮目标 按用户要求继续推进 `完善wasm/working` 中的任务,完全对标本地 LinuxCNC 源程序和 `04基于Web的LinuxCNC兼容数控仿真平台.txt`,优先处理 04 中 HAL Scope/Meter 的源码边界和 Web 结构化 evidence 要求。 ### 已做事项 - 复核 LinuxCNC `halscope` 归属:`src/hal/utils/scope.c`、`scope_rt.c`、`scope_shm.h`、`scope_usr.h`、`docs/src/hal/halscope.adoc` 和 man page;确认其是用户态 GUI 加实时 HAL 组件、共享内存、采样周期、记录长度、触发和多通道样本组合。 - 复核 LinuxCNC `halmeter` 归属:native `halmeter` 和 `docs/src/man/man1/halmeter.1.adoc`;确认其是观察单个 HAL pin/signal/parameter 当前值的工具。 - 检查 `wasm-port` 已有 virtual HAL pin registry、bridge snapshot、runtime read/write 和 OPFS virtual HAL snapshot 证据,确认可支撑 meter-like 当前值 evidence,但不能直接支撑 `halscope` waveform。 - 检查 `web-rtcp-5axis-xyzbc-trt-sim-plan` 的 gmoccapy HAL model gate,确认可支撑 HAL 模型和 UI 监视,但不能等价为原生 `halscope` 采样器。 - 新增 `17-04-HAL-Scope-Meter结构化证据复核.md`,定义 `hal_meter_evidence` 和 `hal_scope_waveform_evidence` 的最小 JSON 结构、字段和晋级规则。 - 更新 `14` 中 4.13、4.14、10.7 的严格状态,明确截图不能替代 HAL Scope waveform proof。 - 更新 `04`、`09`、`10`、`11`、`12`、`13` 和 README,把 `ACC-029/INT-016` 纳入总控矩阵、交付索引、验证命令和边界锁定。 ### 修改文件 - `完善wasm/working/17-04-HAL-Scope-Meter结构化证据复核.md` - `完善wasm/working/14-04-125项逐项源码证据绑定表.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/README.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/13-04验收文档任务对标矩阵.md` - `完善wasm/working/10-联合验证命令清单.md` - `完善wasm/working/11-缺口风险与边界锁定.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` ### 验证情况 - 04 文档编号项计数保持 `w04_numbered_items=125`。 - `14-04-125项逐项源码证据绑定表.md` 逐项绑定行数保持 `binding_rows=125`。 - `cd wasm-port && ./tools/verify_upstream_baseline.sh` 通过,输出 `upstream baseline validation complete`。 - `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过,输出 `xyzbc_trt_web_app_smoke=ok`。 - `git diff --check -- 完善wasm/working gptlog-process/gpdlog.md` 无输出。 ### 结论 `ACC-029/INT-016` 已完成。04 中 `4.14 HAL Meter` 当前只能按 virtual HAL 当前值结构化 JSON 条件对标;`4.13` 和 `10.7 HAL Scope` 已定位原生 LinuxCNC 工具和源码边界,但 Web 晋级必须补 `hal_scope_waveform_evidence`,不能用截图或 canvas 画面直接宣称通过。 ### 下一步 继续按 `14`、`15`、`16`、`17` 的缺口补运行证据:优先补五轴范围差异说明、HAL Scope/Meter JSON gate、动态加载/预编译 manifest 和 full-process/realtime runtime proof。 ## 2026-07-10 05:16 EDT ACC-024 双项目总控对标文件创建 ### 本轮目标 按用户要求,将 `/home/mes123456/cnc_wams/wasm-port` 和 `/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan` 统一对标 `/home/mes123456/cnc_wams/linuxcnc` 与 `完善wasm/04基于Web的LinuxCNC兼容数控仿真平台.txt`,并在 `/home/mes123456/cnc_wams/完善wasm/working` 中创建相关文件。 ### 已做事项 - 读取根目录 `AGENTS.md`,确认每轮结束必须追加中文日志到 `gptlog-process/gpdlog.md`。 - 检查 `完善wasm/04基于Web的LinuxCNC兼容数控仿真平台.txt`,当时该文件为空,未作为细化验收依据;后续已在 ACC-025 中复核补齐后的内容并纳入任务矩阵。 - 读取 `03完全对标LinuxCNC的可执行验收标准.txt`、`完善wasm/working` 既有文档、`wasm-port/README.md`、`wasm-port/AGENTS.md`、`wasm-port/docs/source-reuse-map.md` 和 `web-rtcp-5axis-xyzbc-trt-sim-plan` README/working 文档。 - 确认 `linuxcnc` 当前 HEAD 为 `60597ee0718873d2449058c824262a275e5e4bad`,与验收标准和 `wasm-port` baseline 一致。 - 新增跨项目总控文件,覆盖双项目职责、源码资产映射、联合任务、验证命令、风险边界和交付索引。 - 执行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node`,验证 `xyzbc-trt` 代表 Web 应用 Node smoke 仍通过。 ### 修改文件 - `完善wasm/working/07-双项目LinuxCNC源码对标总览.md` - `完善wasm/working/08-源码资产映射与证据索引.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/10-联合验证命令清单.md` - `完善wasm/working/11-缺口风险与边界锁定.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/README.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/05-验收证据.md` - `完善wasm/working/06-决策记录.md` ### 验证情况 - 静态确认 `linuxcnc` commit 为 `60597ee0718873d2449058c824262a275e5e4bad`。 - 静态盘点 `wasm-port` 和 `web-rtcp-5axis-xyzbc-trt-sim-plan` 的 README、working、source reference、runtime 入口和测试脚本。 - `xyzbc-trt` Node smoke 通过,关键输出:`xyzbc_trt_web_app_smoke=ok`。 - 本轮新增的是总控文档,后续需按 `10-联合验证命令清单.md` 继续执行 browser/evidence 或 `wasm-port` gate 刷新更高层运行证据。 ### 结论 已在 `完善wasm/working` 中建立双项目统一对标文档集。ACC-024 当时把空的 `04基于Web...txt` 记录为输入缺口;ACC-025 已复核补齐后的 04 文档,并将其 10 个模块、125 个功能项和 3 个受限项纳入 `13-04验收文档任务对标矩阵.md`。 ### 下一步 如涉及核心语义或 SDK 改动,执行 `wasm-port` 基线、vendor、no-standalone 和 WASM/browser gate;如涉及 `xyzbc-trt` UI、OPFS、按钮、路径、evidence 字段,执行对应 browser/evidence gate。 ## 2026-07-10 05:56 EDT ACC-025 04 验收文档任务纳入对标矩阵 ### 本轮目标 按用户要求,将 `完善wasm/working` 中的任务完全对标 LinuxCNC 源程序 `/home/mes123456/cnc_wams/linuxcnc` 和 `完善wasm/04基于Web的LinuxCNC兼容数控仿真平台.txt`。 ### 已做事项 - 重新检查 `完善wasm/04基于Web的LinuxCNC兼容数控仿真平台.txt`,确认该文件已补齐,大小为 15602 字节,不再是空文件。 - 读取 04 文档,确认其包含系统体系结构、10 个模块、125 个功能项、3 个受限项和“通过/100%/超越”等总结性表述。 - 修正此前 working 文档中“04 为空/输入缺失”的过期记录。 - 新增 `13-04验收文档任务对标矩阵.md`,把 04 文档的功能项按 W04 任务包映射到 LinuxCNC 源码、`wasm-port` gate、`xyzbc-trt` Web gate 和严格状态。 - 更新 `09-联合任务矩阵.md`,将 `INT-010` 改为“04 参考说明纳入任务体系”,新增 `INT-013` 负责 04 的 125 项逐行 evidence 绑定。 - 更新 `10-联合验证命令清单.md`,增加 04 文档逐项 gate。 - 更新 `11-缺口风险与边界锁定.md`,把 04 的结论性表述作为待核验证据线索,而不是自动通过依据。 - 更新 `06-决策记录.md`,新增 ADR-007,固定“04 的通过/100% 表述必须降解为待核验任务”的口径。 ### 修改文件 - `完善wasm/working/13-04验收文档任务对标矩阵.md` - `完善wasm/working/07-双项目LinuxCNC源码对标总览.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/10-联合验证命令清单.md` - `完善wasm/working/11-缺口风险与边界锁定.md` - `完善wasm/working/README.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/06-决策记录.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` ### 验证情况 - 静态确认 `linuxcnc` commit 仍为 `60597ee0718873d2449058c824262a275e5e4bad`。 - 确认 04 文档可检索到 10 个模块和 125 个功能项的验收摘要。 - 后续需执行 `INT-013`,将 125 个功能项逐行绑定到具体源码、测试、命令输出和 evidence。 ### 结论 04 文档已从“输入缺口”升级为“任务输入”,并已纳入 working 总控矩阵。04 中的“通过/100%”不作为自动验收结论;必须按 `13-04验收文档任务对标矩阵.md` 继续补齐逐项证据。 ### 下一步 执行 `INT-013`:逐行拆解 04 的 125 个功能项,生成源码路径、上游测试、Native/WASM/Browser 命令和 evidence JSON 字段的绑定表。 ## 2026-07-10 07:54 EDT ACC-026 04 文档 125 项逐项源码证据绑定 ### 本轮目标 继续完善 `完善wasm/working`,直接落实 `INT-013`:把 04 文档中的 125 个功能项逐行绑定到 LinuxCNC 源码/资产、`wasm-port` 最小 gate、`web-rtcp-5axis-xyzbc-trt-sim-plan` Web evidence 和严格状态。 ### 已做事项 - 使用 `awk` 从 `04基于Web的LinuxCNC兼容数控仿真平台.txt` 抽取全部编号功能项,确认共有 125 行。 - 新增 `14-04-125项逐项源码证据绑定表.md`,逐项列出 1.1 到 10.11 的功能、源码/资产归属、最小 gate/evidence 和严格状态。 - 在 `14` 中集中列出当前缺口:04 语法口径复核、full-process/realtime、HAL Scope/Meter、动态加载/预编译、多通道、五轴范围差异。 - 更新 `09-联合任务矩阵.md`,将 `INT-013` 从待复验改为已有证据,并指向 `14`。 - 更新 `13-04验收文档任务对标矩阵.md`,将 `W04-EVID-001` 的逐项绑定表指向 `14`。 - 更新 `README.md` 和 `12-交付文件索引.md`,加入 `14` 的索引和用途。 ### 修改文件 - `完善wasm/working/14-04-125项逐项源码证据绑定表.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/13-04验收文档任务对标矩阵.md` - `完善wasm/working/README.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` ### 验证情况 - `awk` 抽取 04 编号功能项,确认 125 项来源清楚。 - 后续执行 `verify_upstream_baseline.sh`、`xyzbc-trt` Node smoke 和 `git diff --check` 作为最小验证。 ### 结论 `INT-013` 的逐项绑定表已落地。04 文档 125 个功能项现在都有 working 层的源码/资产、gate/evidence 和严格状态归类;未完全闭合的项已集中列为后续运行证据缺口。 ### 下一步 按 `14` 的缺口汇总补证据:优先复核 04 中疑似不完全匹配 LinuxCNC 口径的 G/M 代码项,补多通道 gate,补 HAL Scope/Meter 结构化 evidence,并补五轴范围差异说明。 ## 2026-07-10 08:06 EDT ACC-027 04 语法口径源码复核 ### 本轮目标 继续完善 `完善wasm/working`,优先处理 `14` 缺口汇总中的 04 语法口径复核项,确认 04 文档中 G/M 代码写法是否与本地 LinuxCNC 源码一致。 ### 已做事项 - 检索 `linuxcnc/src/emc/rs274ngc`、`linuxcnc/docs/src/gcode` 和 5axis 代表配置,聚焦 `G68/G69`、`G51.1/G50.1`、`M19/M18`、`G43.1/G43.4/G49`。 - 确认本地解释器枚举包含 `G_43_1/G_43_2/G_49/G_50/G_51`,未发现 `G_68/G_69/G_43_4/G_51_1/G_50_1`。 - 确认坐标旋转实际由 G10/G5x R 参数、`rotation_xy` 和 `SET_XY_ROTATION` 路径承担。 - 确认 M19 orient spindle 有源码和文档证据;M18 作为速度模式切换未找到本地源码证据。 - 确认 G43.1 为动态刀长补偿,G49 为取消刀长补偿;G43.4 未找到本地源码证据,RTCP 不得按 G43.4 直接宣称通过。 - 新增 `15-04语法口径源码复核.md`,并更新 `14`、`09`、`04`、`README`、`12` 的状态和索引。 ### 修改文件 - `完善wasm/working/15-04语法口径源码复核.md` - `完善wasm/working/01-项目功能内容.md` - `完善wasm/working/14-04-125项逐项源码证据绑定表.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/README.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` ### 验证情况 - 已完成源码检索和行号级证据定位。 - 已执行 04 编号项和 `14` 绑定行数一致性检查,输出 `w04_numbered_items=125`、`binding_rows=125`。 - 已执行 `wasm-port/tools/verify_upstream_baseline.sh`,输出 `upstream baseline validation complete`。 - 已执行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node`,输出 `xyzbc_trt_web_app_smoke=ok`。 - 已执行 `git diff --check -- 完善wasm/working gptlog-process/gpdlog.md`,无输出,退出码为 0。 ### 结论 `ACC-027/INT-014` 已建立。04 中 1.40、1.41、7.3、8.4、8.5 已从“待复核”变为明确结论:1.40、1.41 需修订;7.3、8.4、8.5 为部分成立,不能按 04 原文直接宣称本地 LinuxCNC 全量支持。 ### 下一步 继续按 `14` 的缺口汇总补证据:多通道 gate、HAL Scope/Meter 结构化 evidence、五轴范围差异说明,并按 `15` 处理 04 中不符合本地 LinuxCNC 口径的 G/M 代码项。 ## 2026-07-10 08:13 EDT ACC-028 04 多通道源码边界复核 ### 本轮目标 继续完善 `完善wasm/working`,处理 `14` 缺口汇总中的多通道项,复核 04 文档 5.1-5.5 是否可按本地 LinuxCNC 源码直接宣称 5/5 通过。 ### 已做事项 - 读取 04 文档 `2.5 多通道支持`,确认 04 将 5.1-5.5 写为双通道、三通道、同步握手、独立倍率、独立坐标系,并标为 5/5 通过。 - 检索 `linuxcnc/src/emc/task`、`src/emc/rs274ngc`、`src/emc/nml_intf`、`configs/sim` 和 Web/WASM 项目中与 channel、session、NML、Interp、倍率、参数文件和 HAL/User-M 同步相关的证据。 - 确认 `emctask.cc` 中主路径使用单个全局 `pinterp`,`emctaskmain.cc` 使用单 command/status/error NML 组合、单全局 `EMC_STAT` 和单 `interp_list`。 - 确认 M62-M68/M66、M100-M199 可作为 HAL/User-M 同步原语,但不是多通道管理器。 - 确认 LinuxCNC 有多主轴示例 `configs/sim/axis/lathe_multispindle`,但多主轴不等价多 CNC 通道。 - 新增 `16-04多通道源码边界复核.md`,并更新 `14` 中 5.1-5.5 的严格状态。 - 更新 `09`、`04`、`README`、`12`、`13` 的索引和推进指针。 ### 修改文件 - `完善wasm/working/16-04多通道源码边界复核.md` - `完善wasm/working/14-04-125项逐项源码证据绑定表.md` - `完善wasm/working/09-联合任务矩阵.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/README.md` - `完善wasm/working/12-交付文件索引.md` - `完善wasm/working/13-04验收文档任务对标矩阵.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` ### 验证情况 - 已完成源码检索和行号级证据定位。 - 已执行 04 编号项和 `14` 绑定行数一致性检查,输出 `w04_numbered_items=125`、`binding_rows=125`。 - 已执行 `wasm-port/tools/verify_upstream_baseline.sh`,输出 `upstream baseline validation complete`。 - 已执行 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node`,输出 `xyzbc_trt_web_app_smoke=ok`。 - 后续执行 `git diff --check` 作为本轮最终格式检查。 ### 结论 `ACC-028/INT-015` 已建立。04 的 5.1-5.5 不能按单个 `emctaskmain.cc` 直接宣称 5/5 通过;当前应改为 multi-session 条件目标和待实现 gate。5.2 的“三通道”数量口径未被本地源码证实,5.4 需要新增每 session 独立倍率 evidence。 ### 下一步 继续按 `14` 的缺口汇总补证据:HAL Scope/Meter 结构化 evidence、五轴范围差异说明,并按 `15`、`16` 修订 04 中不符合本地 LinuxCNC 口径的结论。 ## 2026-07-10 03:13 EDT ACC-023 继续复验与 User-M 审计修复 ### 本轮目标 按用户要求继续完成 `/home/mes123456/cnc_wams/完善wasm` 文档要求,复跑 LinuxCNC/WASM/Web 发布验收链路,修复新发现的验收漂移。 ### 已做事项 - 读取 `03完全对标LinuxCNC的可执行验收标准.txt`、推进台账、任务矩阵、验收证据和 `wasm-port/AGENTS.md`。 - 复跑基线、vendor 同步、自研语义 guard、Native、WASM Node、OPFS、UI Node、真实浏览器、host 聚合和 Python remap/tool DB 专项验证。 - 定位 `verify_sim_configs_inventory_wasm.sh` 首次失败:`axis/vismach/millturn/example.ngc` 的 `L4-USER-M-PROCESS` 剩余跳过 main 程序审计断言把当前 host 未 opt-in 的 `ready_disabled_by_default:native=0:node=0:browser=0` 误判为必须已有 Node/browser proof。 - 修正 `verify_sim_configs_inventory_wasm.mjs` 的 User-M 审计断言,使其按生成的 `native/node/browser` readiness 字段校验,并在 proof chain 完整时保持 `manual_promotion_lock_active`,未完整时保持 `runtime_proof_incomplete`。 ### 修改文件 - `wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.mjs` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` - `gptlog-process/gpdlog.md` - `web-rtcp-5axis-sim-plan/gptlog-process/gpdlog.md` ### 验证情况 - 首次失败命令:`./tests/wasm/node/verify_sim_configs_inventory_wasm.sh`,失败点为 `user-M Node proof status drift`。 - 修复后单独复验通过:`sim_configs_wasm_node_inventory_executed=29`、`passed=29`、`skipped=130`、`unexpected_fail=0`。 - 完整核心链路通过:baseline、vendor sync、no-standalone guard、native probes、nc_files、sim configs、INI/interp/sim configs/nc_files/TP WASM、OPFS、UI Node 均通过。 - 浏览器和 host 链路通过:INI panel browser、interp browser、host smokes、axis screenshot、OPFS session、real simulation page 均通过。 - 专项补充通过:Python remap WASM row proof、SDK proof、tool DB node runtime adapter、Python remap browser row proof 均通过。 ### 结论 本轮发现并修复了 User-M 外部进程边界审计对 host opt-in 状态的断言漂移。当前验收命令全部通过,`unexpected_fail=0`;`axis/vismach/millturn/example.ngc` 仍按 `L4-USER-M-PROCESS` 保持条件边界,不自动晋级。 ### 下一步 无当前矩阵内新增待办。若后续要让 `millturn` User-M 行晋级,必须显式启用并通过 `ENABLE_MILLTURN_USER_M_RUNTIME_PROBE=1` 的 native runtime probe,再补 Node/browser promotion gate 和人工 promotion lock 更新。 ## 2026-07-09 21:01 EDT ACC-001 到 ACC-023 完成后复验 ### 本轮目标 按用户要求复核 `/home/mes123456/cnc_wams/完善wasm` 文档要求是否已全部落实,重新执行发布前必跑命令和专项补充命令,确认 `ACC-001` 到 `ACC-023` 的完成/条件通过结论仍成立。 ### 已做事项 - 读取 `完善wasm/working/README.md`、`01-项目功能内容.md`、`02-项目程序开发详细步骤.md`、`04-任务矩阵.md`、`05-验收证据.md` 和验收标准全文。 - 确认任务矩阵当前没有新增待办项,`ACC-001` 到 `ACC-023` 均已标为完成、条件通过或明确 Blocked 边界。 - 复跑基线、vendor 同步、禁止自研 CNC 语义、Native、WASM Node、OPFS、UI Node、真实浏览器、host 聚合和 Python remap/tool DB 专项验证。 - 确认所有复验命令均以 0 退出,`unexpected_fail=0`;Python remap、User M 外部进程、硬件驱动、实时内核仍保持条件通过或 Blocked,不改写为无条件 full-process 支持。 ### 修改文件 - `完善wasm/working/03-推进台账.md` - `完善wasm/working/05-验收证据.md` - `gptlog-process/gpdlog.md` - `web-rtcp-5axis-sim-plan/gptlog-process/gpdlog.md` ### 验证情况 - `./tools/verify_upstream_baseline.sh && ./tools/verify_vendor_sync.sh && ./tools/verify_no_standalone_cnc_semantics.sh` 通过。 - Native 复验通过:`nc_files` 为 `107 total / 101 pass / 6 expected_fail / 0 unexpected_fail`,`configs/sim` 为 `159 total / 151 pass / 8 expected_fail / 0 unexpected_fail`。 - WASM/OPFS/UI Node 复验通过:INI、interp、sim configs、sim inventory、nc_files、TP、OPFS file service、UI node smokes 均为 ok;sim inventory 为 `executed=29 passed=29 skipped=130 unexpected_fail=0`。 - 浏览器和 host 复验通过:INI panel browser、interp browser、host smokes 均为 ok;host 聚合最终输出 `host_wasm_opfs_browser_smokes=ok`。 - 专项补充复验通过:Python remap WASM row proof、browser row proof 和 tool DB node runtime adapter 均为 ok。 ### 结论 `完善wasm` 当前文档要求对应的全部工作已完成并通过复验。`ACC-001` 到 `ACC-023` 的闭合结论有效,发布前必跑命令和专项补充命令均通过,未知失败为 0。 ### 下一步 无当前矩阵内下一任务。后续若要解除 Python remap、User M 外部进程、硬件驱动、实时内核等条件边界,必须先新增任务编号、源码归属、验收标准和 gate。 ## 2026-07-09 20:24 EDT ACC-001 到 ACC-023 完整验收闭合 ### 本轮目标 按用户要求完成 `/home/mes123456/cnc_wams/完善wasm/working` 的全部工作,将总体验收矩阵从初始待办推进到当前可执行 LinuxCNC/WASM/Web 验收包闭合。 ### 已做事项 - 将 `/home/mes123456/cnc_wams/linuxcnc` 固定到验收基线 `60597ee0718873d2449058c824262a275e5e4bad`,并确认 upstream baseline gate 通过。 - 清理 `vendor/linuxcnc` 与固定基线不一致的新增配置文件,重新执行 source extraction,使 vendor sync 与 `tools/source-manifest.txt` 对齐。 - 将 WASM task 子集文件从 vendor 树移到 `runtime/core/linuxcnc_task_subset/`,避免本地 shim 污染 vendored LinuxCNC 源码同步。 - 修正 Emscripten 环境自动加载、INI WASM bool 读取、sim inventory Python remap/manual lock 规则、release readiness/SDK/UI/browser 快照和 docs tracker fallback。 - 修正 tool DB / Python remap 专项测试的源码路径、Python remap WASM/browser row proof 的 locked-runtime 断言、native `G10 L11` 快照。 - 更新总任务矩阵 `ACC-001` 到 `ACC-023` 的状态:可无条件通过的任务标为完成,Python remap、User M 外部进程、硬件/实时等保持条件通过或 Blocked 边界。 ### 修改文件 - `完善wasm/working/03-推进台账.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/05-验收证据.md` - `完善wasm/working/06-决策记录.md` - `wasm-port/tools/source-manifest.txt` - `wasm-port/tools/wasm_incremental_build_lib.sh` - `wasm-port/tools/build_ini_panel.sh` - `wasm-port/tools/build_task_hal_wasm.sh` - `wasm-port/runtime/core/linuxcnc_task_subset/*` - `wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_task_hal_wasm.cpp` - `wasm-port/runtime/sdk/src/linuxcnc-ini.js` - `wasm-port/runtime/sdk/src/linuxcnc-hal.js` - `wasm-port/runtime/sdk/src/project-release-readiness.js` - `wasm-port/runtime/ui/simulation/index.html` - `wasm-port/tests/**` - `wasm-port/docs/**` - `wasm-port/vendor/linuxcnc/**` ### 验证情况 - 上游、vendor、禁止自研语义 gate 均通过。 - Native:`verify_native_probes.sh`、`verify_nc_files.sh`、`verify_sim_configs.sh` 均通过;native sim 为 `159 total / 151 pass / 8 expected_fail / 0 unexpected_fail`,nc_files 为 `107 total / 101 pass / 6 expected_fail / 0 unexpected_fail`。 - WASM Node:INI、interp、sim configs、sim inventory、nc_files、TP、tool DB、Python remap row proof 均通过;sim inventory 为 `executed=29 passed=29 skipped=130 unexpected_fail=0`。 - OPFS/UI/Browser/Host:OPFS file service、UI node smokes、INI panel browser、real simulation browser、axis screenshot、OPFS session browser、interp browser、host 聚合全部通过。 - Python remap 专项:SDK、WASM row proof、browser row proof 通过,但仍保持 `manual_promotion_lock`,不宣称无条件 full-process 支持。 ### 结论 `ACC-001` 到 `ACC-023` 已按当前可执行验收包闭合。发布前完整命令包通过,`unexpected_fail=0`;Python remap、User M 外部进程、硬件驱动、实时内核等边界已明确记录为条件通过或 Blocked。 ### 下一步 无当前矩阵内下一任务。后续若要解除 Python remap/User M/硬件实时边界,必须新增 ACC 任务、源码归属、验收标准和 gate 后再实施。 ## 2026-07-09 初始文档体系创建 ### 本轮目标 按 `/home/mes123456/cnc_wams/完善wasm/03完全对标LinuxCNC的可执行验收标准.txt`,在 `/home/mes123456/cnc_wams/完善wasm/working` 创建后续推进文档,指导 `wasm-port` 继续按 LinuxCNC 源码和测试资产闭环完善。 ### 已做事项 - 阅读新的完全对标验收标准,提取基准锁定、证据优先级、分层验收、核心模块、上游测试纳入、功能晋级和最终判定规则。 - 查看 `wasm-port/working` 既有推进文档,确认已有 task/status JSON 工作已在原目录闭合,新目录应作为更高层总验收推进入口。 - 创建 README、功能内容、开发步骤、推进台账、任务矩阵、验收证据、决策记录 7 个文档。 - 将后续工作拆成 `ACC-001` 到 `ACC-023` 任务,覆盖基线、解释器、configs/sim、Task/NML、TP/Motion/Kinematics、HAL、Tool/IO、OPFS、UI、多实例、性能和发布验收。 ### 修改文件 - `完善wasm/working/README.md` - `完善wasm/working/01-项目功能内容.md` - `完善wasm/working/02-项目程序开发详细步骤.md` - `完善wasm/working/03-推进台账.md` - `完善wasm/working/04-任务矩阵.md` - `完善wasm/working/05-验收证据.md` - `完善wasm/working/06-决策记录.md` ### 验证情况 - 本轮为文档创建,未修改 `wasm-port` 源码。 - 已通过文件清单检查确认目标文档存在。 - 后续真实验收命令应从 `04-任务矩阵.md` 的 `ACC-001` 开始执行并补录到 `05-验收证据.md`。 ### 结论 初始推进文档体系已建立。后续不能直接跳到代码实现,必须先选任务编号、确认 LinuxCNC 归属、执行对应最小验收包并同步证据。 ### 下一步 执行 `ACC-001` 到 `ACC-004`:锁定上游基线、校验 vendor 同步、运行自研语义禁止检查、盘点现有必跑命令现状。 ## 2026-07-10 ACC-039 HAL Component Precompile Runtime Gate ### 本轮目标 承接 `ACC-038`,用锁定 LinuxCNC `halcompile` 把五个基础 `.comp` 推进到可复现生成、预编译 WASM、真实 thread/net 执行和目标 Web 代表配置消费。 ### 已做事项 - 新增生成器、generation report 和 precompile manifest。 - 扩展 HAL runtime:allowlist factory、`hal_export_funct` callback、`addf` 绑定、servo step 执行、HAL_OUT signal 传播、未知/非法 loadrt blocked、方向箭头解析和 session reset。 - 将五个生成 C 单元加入 task-HAL WASM 构建,并用组件前缀隔离 halcompile 全局符号。 - 新增 manifest、truth-table/formula、thread/net 三个 WASM Node gate和 truth-table JSON evidence。 - 目标 Web 项目新增 XYZAC `J0_mux/rpm_rps` 同 runtime 代表配置 gate并挂入 `smoke:node`。 - 修复本机系统 Emscripten/Binaryen 版本不匹配,构建入口优先加载已有 EMSDK。 - 补充 native probe 构建通过;全量 native sim 枚举在上游缺失 `xyzac.var` 的 XYZAC fixture 出现 1 个 Bus error/unexpected fail,未掩盖为 expected-fail,也不计入本轮通过命令。 ### 结论 `ACC-039/INT-026` 完成。4.7-4.11 可在 Web/WASM simulation 边界内标记 L3 条件通过;4.16 仅允许固定 allowlist,动态加载、宿主实时与硬件继续 Blocked。 ## 2026-07-10 ACC-040/ACC-041 Meter-Scope 与 Host Evidence - 新增唯一 Meter/Scope schema/采样模块、两个 wasm gate 和 Web gate;正式 `evidence:web`/`compare` 顶层字段通过。 - 新增 host evidence 生成器,逐 family 哈希当前 TSV/gate artifact;三个 host gate 与 Web separation gate 通过。 - 全程未设置 opt-in 环境变量,未启动宿主外部进程,未解除 promotion lock。 - 结论:`INT-027/INT-028` 完成;Meter/Scope 为 Web/WASM L3 条件通过,host promotion/realtime/hardware 仍 false。 ## 2026-07-10 ACC-042 Remaining Runtime Cases - 修复 WASM interpreter 未从 INI 读取 `TRAJ.SPINDLES` 的缺口并通过 `$1`/G95 gate。 - vendored `gantry_mm` 三文件并通过 source/vendor 与 Web representative gate。 - 补 session override 隔离、XYZAC G81 斜面钻孔和既有软限位证据绑定。 - 完整 interp、Task-HAL 和 Web smoke 通过。 ## 2026-07-10 ACC-043/ACC-044 Motion 最终缺口与收口审计 - 按 LinuxCNC control.c 公式实现并验证 FERROR 动态阈值。 - 按 joint jog-counts/enable/scale 语义实现并验证 virtual MPG 正反脉冲。 - Motion、Task-HAL 回归通过。 - 125 项表已无未分类“待实现/待补”,剩余全部登记为需修订、manual lock 或 hardware/realtime Blocked。 ## 2026-07-10 ACC-045 Native 全量回归最终收口 ### 本轮目标 复核 `ACC-039` 留下的 XYZAC `xyzac.var`/Bus error historical unexpected failure,统一最终 native 发布口径。 ### 已做事项 - 确认当前 source manifest/vendor overlay 已提供 XYZAC fixture 所需资产。 - 串行运行完整 `./tests/native/verify_native_probes.sh`,避免并发 native harness 相互影响。 - 新增 `33-Native全量回归最终收口.md`,并同步 README、任务矩阵、联合矩阵、证据和交付索引。 - 给 `27` 的历史失败记录追加后续解除说明,保留问题发生史而不再将其视为当前失败。 ### 验证情况 - sim-config:`159 total / 151 pass / 8 expected_fail / 0 unexpected_fail`。 - nc_files:`107 total / 101 pass / 6 expected_fail / 0 unexpected_fail`。 - 完整命令退出码为 `0`,输出 `native probe validation complete`。 ### 结论 `ACC-045/INT-032` 完成。历史 XYZAC native unexpected failure 已解除;硬件、realtime、动态加载和人工 promotion 边界不变。 ### 下一步 当前授权范围内无开放实现项。仅在提供新上游/fixture、真实硬件环境或明确 opt-in/人工 review 授权时新增任务。 ## 2026-07-10 ACC-046 04 验收口径修订与三 Session Gate ### 本轮目标 继续处理 `32` 中可通过修订验收口径闭合的条目,并为 04 的三实例要求提供可执行 gate。 ### 已做事项 - 将 G68/G69、G51.1/G50.1 改为 LinuxCNC `G10 L2 Pn R/R0` 坐标旋转设置/取消。 - 将固定“最多三通道”改为至少三个独立 Web session,并把现有 override gate 扩展到三个 store。 - 将 G43.4/M18/RTCP off 等不准确表述改为 M19、TRT kinematics、G43.1/G49 刀偏边界。 - 将 A 轴范围绑定到 `xyzac-trt.ini [AXIS_A] -100..50`。 - 将不存在的 `sphere.ngc` 替换为 `xyzbc_switchkins.ngc` 和 `boat-xyzbc/boat-xyzac.ngc`。 - 修订 04 最终结论,明确 97.6% 是文档项覆盖率,不代表硬件、实时或完整 native topology。 - 新增 `34` 并同步 README、矩阵、125 项绑定表、复核文档和收口审计。 ### 验证情况 - 三 session gate 输出 `three_session_override_isolation=ok`。 - 解释器全量 WASM gate 输出 `interp_wasm_node_smoke=ok`。 - 125 项编号和绑定行保持一致。 ### 结论 `ACC-046/INT-033` 完成。04 的已知版本/fixture/范围错误已改为锁定 LinuxCNC 源码口径;剩余边界均需要外部环境、动态预编译专项或人工授权。 ## 2026-07-10 ACC-047 三解释器同步、Wrapped Rotary 与角轴限速 Gate ### 本轮目标 闭合 5.1、5.3、5.5、8.3、8.10 中仍可在当前软件环境实施的专项证据。 ### 已做事项 - 新增三个独立 interpreter WASM module 的 G5x/rotation/M62 隔离和同步编排 gate,并挂入 Web 主 smoke。 - 将上游 `wrapped_rotary.ini` 加入 source manifest/vendor,扩展 INI parser 读取 `WRAPPED_ROTARY`。 - 给叶轮 gate 增加 4066 个旋转进给段的角距离/角速度/G93 时长断言。 - 首次数值 gate 发现请求峰值远超 INI 上限且 timing 未延长;修复 `execution-timing.js`,让 inverse-time、线轴限速和角轴限速共同决定最终时长。 - 新增 `35` 并同步矩阵、125 项表、复核文档和收口审计。 ### 验证情况 - 三解释器、G5x/rotation、canonical sync、wrapped rotary gate 全部输出 ok。 - 叶轮旋转段为 4066,6 段受约束;请求峰值约 319782.84,实际峰值和 INI 上限均为 1800 deg/min。 - Web 主 smoke、linear-unit、INI parser、vendor 和 sim-config WASM 回归通过。 ### 结论 `ACC-047/INT-034` 完成。当前软件证据缺口进一步收口,剩余项均需硬件/实时环境、动态预编译专项或人工授权。 ## 2026-07-10 ACC-048 Web Software Parity Release Gate 与 Host 分离 ### 本轮目标 把新增软件专项接入项目发布硬门禁,并消除 project release readiness 对 host opt-in proof 的错误依赖。 ### 已做事项 - 新增跨项目 `verify_web_software_parity_gate.sh` 并加入 release manifest,gate 总数从 13 升为 14。 - 更新 manifest、artifact writer/validator、SDK 测试和 INI panel UI 的 gate 数量与行契约。 - 修正 readiness:Tool DB/Python blocked summary 必须结构有效,但不再阻止 Web software release;违规 promotion 仍阻止发布。 - 新增 `36` 并同步总控文档。 ### 验证情况 - parity 聚合 gate 输出 `web_software_parity_gate=ok`。 - manifest、artifact、UI、SDK 和 release/host separation gate 全部通过。 - 最终 artifact 为 14/14、ready=true、missing=[];Tool DB proof false、Python 单 fixture proof true,blocked families 均未 promotion。 - 完整 gate 首次暴露既有隐式 opt-in 环境开关;已移除并新增静态防回归断言,随后按默认禁用模式重跑通过。 ### 结论 `ACC-048/INT-035` 完成。软件发布和宿主能力 promotion 已在同一主 artifact 中一致分离。 ## 2026-07-10 ACC-049 Wrapped Rotary 静态发布资产 Gate - 发现 static build 未复制 wrapped rotary,开发 gate 通过但发布包缺资产。 - 扩展 `build-static.mjs`,复制到普通 config 和 vendored config 两条 dist 路径。 - 扩展三解释器专项 gate,对主 vendor 与两个 dist 文件做字节一致检查。 - static build 与 parity gate 通过,输出 `wrapped_rotary_static_assets=ok`。 - 结论:`ACC-049/INT-036` 完成,8.3 静态发布资产闭合。 ## 2026-07-10 ACC-050 Web Software Parity 自包含构建 Gate - 发现 parity gate 依赖其他 gate 已构建 dist,单独执行不自包含。 - 在 parity shell 首步加入标准 static build,再执行所有 dist consumer。 - manifest 单测锁定 build 命令存在且位于三解释器资产检查之前。 - parity gate 和两种 cwd manifest 测试通过。 - 结论:`ACC-050/INT-037` 完成。 ## 2026-07-10 ACC-051 静态发布 Python 缓存清理 Gate - static build 前发现 dist 有 2 个 `__pycache__` 目录和 4 个 `.pyc`。 - 为所有递归静态资产 copy 增加统一过滤器。 - 新增完整 dist hygiene Node gate,并接入 parity 的 build 后第一项验证。 - 重建后 Python cache/bytecode 数量为 0,parity 通过。 - 结论:`ACC-051/INT-038` 完成。 ## 2026-07-10 ACC-052 静态发布双构建可复现性 Gate - 新增规范化 dist 树摘要,覆盖路径、类型、权限、符号链接目标和文件内容。 - parity 首次 build 后再次 build,要求两次摘要完全一致。 - 当前结果为 923 entries、824 files、SHA-256 `824753...e07cc`。 - parity 与 manifest 顺序 gate 通过。 - 结论:`ACC-052/INT-039` 完成。 ## 2026-07-10 ACC-053 User-M/Python Remap WASM/Web 完整移植 - 将 millturn M128/M129 及 27 个唯一 Python remap 源纳入 source/vendor/static 发布资产。 - LinuxCNC interpreter WASM 内置 M128/M129 handler,实际更新 mill/turn HAL 轴限位并输出 `USER_M_RESULT`。 - 引入本地 `pyodide@314.0.2`,实现 CPython/WASM Worker provider、LinuxCNC bridge modules、TOPLEVEL/module/callable/generator 生命周期。 - 真实 Node 与 Chromium 执行 stop-lookahead `queuebuster`,首次 yield 为 2;53 inventory rows/27 Python 源由 CPython/WASM 全量编译。 - 目标 Web 接入 Python remap readiness,M128/M129 同步 Web HAL/state;required parity gate 实际执行全部新 gate。 - release artifact 更新为 `blockedRuntimeFamilies=[]`、Python execution/promotion/bulk promotion ready;宿主外部进程、实时与硬件继续锁定。 - 结论:`ACC-053/INT-040` 完成。