# 03-推进台账 本文件按轮记录推进过程。每轮必须写清楚:做了什么、改了哪些文件、验证了什么、下一步是什么。 ## 记录模板 ```text ## YYYY-MM-DD HH:MM 时区 轮次标题 ### 本轮目标 ### 已做事项 ### 修改文件 ### 验证情况 ### 结论 ### 下一步 ``` ## 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 同步、运行自研语义禁止检查、盘点现有必跑命令现状。