diff --git a/check-linuxcnc-wasm-blockers-source-map.sh b/check-linuxcnc-wasm-blockers-source-map.sh index 74ff735..cd7028d 100755 --- a/check-linuxcnc-wasm-blockers-source-map.sh +++ b/check-linuxcnc-wasm-blockers-source-map.sh @@ -6,7 +6,7 @@ cd "$(dirname "$0")" # LinuxCNC source basis: this guard ties the documented WASM blocker map to # LinuxCNC RS274/Python/remap/tooldata sources, the rs274 WASM manifest, and # wasm-safe shim replacement sources. It validates source coverage only; it -# does not add CNC behavior or expand smoke parsing. +# does not add CNC behavior, expand smoke parsing, or interpret G-code. linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} manifest=${1:-linuxcnc-rs274-wasm-source-files.txt} @@ -147,7 +147,18 @@ for phrase in [ "must not become smoke parser behavior", "blocked `dlopen` and blocked tooldata-users remain empty", "Python/Boost.Python remap paths remain tracked blockers", + "./check-linuxcnc-wasm-blockers-source-map.sh", + "does not interpret G-code", ]: if phrase not in source_map: raise SystemExit(f"docs/linuxcnc-wasm-blockers-source-map.md missing boundary phrase: {phrase}") + +for entry in [ + "test-native.sh", + "test-linuxcnc-source-link.sh", + "build-wasm.sh", +]: + text = Path(entry).read_text(encoding="utf-8") + if "./check-linuxcnc-wasm-blockers-source-map.sh" not in text: + raise SystemExit(f"{entry} must run ./check-linuxcnc-wasm-blockers-source-map.sh") PY diff --git a/docs/linuxcnc-wasm-blockers-source-map.md b/docs/linuxcnc-wasm-blockers-source-map.md index dec93f5..7f11c81 100644 --- a/docs/linuxcnc-wasm-blockers-source-map.md +++ b/docs/linuxcnc-wasm-blockers-source-map.md @@ -67,6 +67,14 @@ Required tracked core examples: - `src/emc/rs274ngc/interp_o_word.cc` - `src/emc/rs274ngc/rs274ngc_pre.cc` +## Boundaries + +- `test-native.sh`, `test-linuxcnc-source-link.sh`, and `build-wasm.sh` must + run `./check-linuxcnc-wasm-blockers-source-map.sh` before consuming blocker + analyzer output, source-linked LinuxCNC objects, or browser artifacts. +- The WASM blockers source-map guard validates LinuxCNC source/blocker + ownership and manifest drift only; it does not interpret G-code. + ## Checks Run: @@ -76,6 +84,7 @@ Run: ./test-linuxcnc-wasm-blockers.sh linuxcnc-rs274-wasm-source-files.txt ./test-native.sh ./test-linuxcnc-source-link.sh +./build-wasm.sh ``` `check-linuxcnc-wasm-blockers-source-map.sh` keeps this document, the