Add text7 progress handoff
This commit is contained in:
237
text7.txt
Normal file
237
text7.txt
Normal file
@@ -0,0 +1,237 @@
|
||||
项目整体完成情况与后续执行计划
|
||||
|
||||
生成时间:2026-06-13 CST
|
||||
|
||||
本文件接替 `text6.txt`。后续工作按 `text7.txt` 执行;除非明确要求审计旧记录,
|
||||
不要再回到 `text1/text2/text3/text4/text5/text6` 扩展进度。`text6.txt` 作为历史
|
||||
归档保留。
|
||||
|
||||
一、续接状态与防重规则
|
||||
|
||||
1. 当前续接点。
|
||||
|
||||
`text6.txt` 已推进到:
|
||||
|
||||
```text
|
||||
四十九、2026-06-13 继续执行记录:remap generated-file staging helper inventory
|
||||
```
|
||||
|
||||
该批已提交:
|
||||
|
||||
```text
|
||||
bea8320 Guard remap generated file staging
|
||||
```
|
||||
|
||||
本文件从 `text7.txt` 重新开始记录后续进度。
|
||||
|
||||
2. 每轮开始前必须先执行。
|
||||
|
||||
```bash
|
||||
git status --short
|
||||
git log -5 --oneline
|
||||
tail -n 120 text7.txt
|
||||
awk '/^[一二三四五六七八九十百]+、/ {print}' text7.txt | sort | uniq -d
|
||||
```
|
||||
|
||||
执行规则:
|
||||
|
||||
- 如果 `git status --short` 是 clean,且最新提交已经包含当前建议工作,不要重复追加记录;
|
||||
- 每轮只追加一个新的中文编号记录;提交前再次检查标题唯一性;
|
||||
- `text7.txt` 只记录新的后续进度,不复制 `text6.txt` 的长历史;
|
||||
- 每批完成后,如果要写记录,先写 `text7.txt`,再提交该批代码和记录;
|
||||
- 如果发现重复记录,先做 dedupe 清理并提交,再继续新功能或新 guard。
|
||||
|
||||
二、当前项目纪律
|
||||
|
||||
1. LinuxCNC 仍是唯一 CNC 语义来源。
|
||||
|
||||
G-code、remap、tool、parameter、planner、kinematics、user-M、tool DB、Python
|
||||
remap 等语义必须来自 LinuxCNC upstream 或 vendored LinuxCNC C/C++/配置/脚本源码。
|
||||
|
||||
2. 本项目允许实现的范围仍限于:
|
||||
|
||||
- build;
|
||||
- source sync;
|
||||
- runtime shim;
|
||||
- filesystem staging;
|
||||
- OPFS;
|
||||
- WASM/browser boundary;
|
||||
- 测试胶水;
|
||||
- 文档;
|
||||
- 机器可读 gate/artifact。
|
||||
|
||||
3. 禁止事项继续有效:
|
||||
|
||||
- 不在 JS 中重写 G-code 或 CNC 语义;
|
||||
- 不修改 vendored LinuxCNC 源文件来让测试通过;
|
||||
- 不把 full-process/HAL/UI/Python/tool DB 依赖伪装成 standalone pass;
|
||||
- 不把 expected failure 硬改成 pass,除非已有 LinuxCNC-owned runtime proof,并且
|
||||
native、Node、browser gate 都按顺序通过;
|
||||
- browser 不能依赖目录枚举。
|
||||
|
||||
三、当前完成情况摘要
|
||||
|
||||
1. WASM port 基础架构稳定。
|
||||
|
||||
`wasm-port` 已按独立移植工作区组织,包含 vendor、runtime/core、runtime/sdk、
|
||||
runtime/opfs、runtime/ui、native/wasm/browser tests、docs 和 tools。
|
||||
|
||||
2. 关键基线保持稳定。
|
||||
|
||||
- `linuxcnc/nc_files` native Layer 1:
|
||||
- `total 107`
|
||||
- `pass 101`
|
||||
- `expected_fail 6`
|
||||
- `unexpected_fail 0`
|
||||
- `linuxcnc/configs/sim` native Layer 2:
|
||||
- `total 159`
|
||||
- `pass 151`
|
||||
- `expected_fail 8`
|
||||
- `unexpected_fail 0`
|
||||
- Node sim-config inventory:
|
||||
- `executed=28`
|
||||
- `passed=28`
|
||||
- `skipped=131`
|
||||
- `unexpected_fail=0`
|
||||
|
||||
3. blocked runtime family 仍未 promotion。
|
||||
|
||||
仍 blocked,不允许 promotion:
|
||||
|
||||
- `L4-USER-M-PROCESS`
|
||||
- `L4-TOOL-DB`
|
||||
- `L4-PYTHON-REMAP`
|
||||
|
||||
当前 host 仍按缺少 LinuxCNC host runtime 处理,不执行任何:
|
||||
|
||||
```bash
|
||||
ENABLE_MILLTURN_USER_M_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_millturn_user_m_runtime.sh
|
||||
ENABLE_TOOL_DB_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_tool_db_runtime.sh
|
||||
ENABLE_PYTHON_REMAP_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_python_remap_runtime.sh
|
||||
```
|
||||
|
||||
4. staged path guard 当前收敛状态。
|
||||
|
||||
`text6.txt` 已完成并提交的主要收敛包括:
|
||||
|
||||
- ordinary interp direct-file / multi-file staged path guard;
|
||||
- `oword-bug315`、`oword-bug315-p2`、`namedparam-bug424` 等 early direct-file guard;
|
||||
- `cam-nisley`、`cam-nisley-bare`、`flowsnake`、`inside-corners`、
|
||||
`inverse-time-with-comp` 等 interp guard;
|
||||
- `bad`、`good`、`g33.1`、`g6164`、`g71`、`g72`、`g76`、rotation、INI-context
|
||||
fixture guard;
|
||||
- `m98m99` fixed `.ngc` manifest guard;
|
||||
- `g10` fixed `.ngc/.tbl` manifest guard;
|
||||
- `g52/g92` direct-file guard;
|
||||
- ccomp per-file staging helper guard;
|
||||
- remap aggregate staging helper 已收敛为 coverage helper + per-file staging helper;
|
||||
- `nested-remaps-oword` 保留 expected-unstaged overlap guard;
|
||||
- `remap-io/simpockets.tbl` 已切换为 generated-file staging helper;
|
||||
- Node/browser 侧已删除无调用的 remap aggregate helper。
|
||||
|
||||
5. 当前最近提交。
|
||||
|
||||
当前最近提交包括:
|
||||
|
||||
```text
|
||||
bea8320 Guard remap generated file staging
|
||||
e039cac Guard final special remap staging paths
|
||||
76aa9fb Guard final simple remap staging paths
|
||||
fe07e2f Guard more remap per-file staging paths
|
||||
d7cd116 Guard initial remap per-file staging paths
|
||||
```
|
||||
|
||||
四、当前必须保持通过的验证入口
|
||||
|
||||
每批后续改动至少运行:
|
||||
|
||||
```bash
|
||||
git diff --check
|
||||
wasm-port/tools/verify_vendor_sync.sh
|
||||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||||
wasm-port/tests/host/verify_host_smokes.sh
|
||||
```
|
||||
|
||||
涉及 native baseline 或大范围 source/staging 改动时,再运行:
|
||||
|
||||
```bash
|
||||
wasm-port/tests/native/verify_nc_files.sh
|
||||
wasm-port/tests/native/verify_sim_configs.sh
|
||||
wasm-port/tests/native/verify_native_probes.sh
|
||||
```
|
||||
|
||||
五、下一步执行计划
|
||||
|
||||
1. 当前第一候选批次。
|
||||
|
||||
继续 staged path guard inventory 第二轮,优先处理 INI-context helper 内的 inline prefix
|
||||
strip:
|
||||
|
||||
```text
|
||||
assertInterpIniContextNgcStaging(...)
|
||||
```
|
||||
|
||||
当前已知位置:
|
||||
|
||||
```text
|
||||
wasm-port/tests/wasm/node/verify_interp_wasm.mjs
|
||||
wasm-port/tests/browser/interp_smoke.html
|
||||
```
|
||||
|
||||
执行目标:
|
||||
|
||||
- Node 侧将 `file.wasmPath.replace(`/work/interp/${name}/`, "")` 收敛为专用 helper;
|
||||
- browser 侧将 `file.wasmPath.replace(`/work/browser-interp/${name}/`, "")` 同步收敛;
|
||||
- helper 必须检查 staged path 确实带有期望前缀,避免普通 `replace(...)` 静默放过
|
||||
错误路径;
|
||||
- 保持 browser 不枚举目录;
|
||||
- 只整理 host/filesystem staging guard,不改变 INI、O-word、parameter、remap 或
|
||||
interpreter 语义。
|
||||
|
||||
2. 第一候选批次验证。
|
||||
|
||||
执行:
|
||||
|
||||
```bash
|
||||
git diff --check
|
||||
wasm-port/tools/verify_vendor_sync.sh
|
||||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||||
wasm-port/tests/host/verify_host_smokes.sh
|
||||
```
|
||||
|
||||
如果通过,提交建议:
|
||||
|
||||
```text
|
||||
Guard staged prefix stripping
|
||||
```
|
||||
|
||||
3. 后续候选原则。
|
||||
|
||||
继续只选:
|
||||
|
||||
- 已有 Node/browser coverage;
|
||||
- 不依赖 HAL/task/tool DB/Python remap/user-M process;
|
||||
- direct-file、generated-file 或 staging helper 已成型;
|
||||
- 每批小范围收敛;
|
||||
- 只做 host/filesystem staging guard,不新增 CNC 语义。
|
||||
|
||||
暂不推进:
|
||||
|
||||
- blocked runtime promotion;
|
||||
- browser full 159 sim-config inventory;
|
||||
- full-process/HAL/UI/Python/tool DB 执行;
|
||||
- upstream intake 大批量扩面。
|
||||
|
||||
六、下一次开始执行时的第一条命令
|
||||
|
||||
从这里继续:
|
||||
|
||||
```bash
|
||||
git status --short && git log -5 --oneline && tail -n 120 text7.txt && awk '/^[一二三四五六七八九十百]+、/ {print}' text7.txt | sort | uniq -d
|
||||
```
|
||||
Reference in New Issue
Block a user