按推荐建议,继续执行

结论:新增 standalone CNC 语义守卫,禁止在 wrapper/tools/tests 中重新定义 Interp::convert_g(),确保 G-code 转换继续走 vendored LinuxCNC interp_convert.cc。
This commit is contained in:
2026-06-07 18:32:36 +08:00
parent e776020b08
commit c3157ee3f8
3 changed files with 34 additions and 2 deletions

View File

@@ -488,6 +488,11 @@ Current verified progress:
script compares that map against every `.c` and `.cc` entry in
`tools/source-manifest.txt`, so future LinuxCNC source additions fail
validation unless they also get an explicit standalone source compile probe.
- `tools/verify_no_standalone_cnc_semantics.sh` now guards against
reintroducing a standalone `Interp::convert_g()` definition outside
`vendor/linuxcnc/`. This keeps G-code group conversion on the vendored
LinuxCNC `interp_convert.cc` path instead of allowing the wrapper layer to
grow another project-authored conversion implementation.
## Phase 4: Port INI Parsing Without Editing Upstream
@@ -786,8 +791,8 @@ Keep these documents under `wasm-port/docs/`:
Continue expanding the standalone interpreter core from the verified minimal
traverse path:
1. replace the temporary minimal `convert_g()` implementation with calls into
vendored LinuxCNC interpreter conversion code.
1. keep `convert_g()` execution on vendored LinuxCNC interpreter conversion
code and reject any new standalone `Interp::convert_g()` implementation.
2. identify and shim the native runtime symbols blocking direct compilation of
`interp_convert.cc`, `interp_execute.cc`, and related interpreter files.
3. keep fixture coverage as regression protection while deleting temporary