Files
cnc_wams/完善wasm/working/03-推进台账.md
2026-07-10 03:22:55 -04:00

183 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 均为 oksim inventory 为 `executed=29 passed=29 skipped=130 unexpected_fail=0`
- 浏览器和 host 复验通过INI panel browser、interp browser、host smokes 均为 okhost 聚合最终输出 `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 NodeINI、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/HostOPFS 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 同步、运行自研语义禁止检查、盘点现有必跑命令现状。