diff --git a/check-linuxcnc-switchkins-remap-table.sh b/check-linuxcnc-switchkins-remap-table.sh index aa2c61b..2c3c0bc 100755 --- a/check-linuxcnc-switchkins-remap-table.sh +++ b/check-linuxcnc-switchkins-remap-table.sh @@ -35,7 +35,7 @@ if [[ ! -f "$manifest" ]]; then echo "missing kinematics manifest: $manifest" >&2 exit 1 fi -LINUXCNC_ROOT="$linuxcnc_root" ./check-linuxcnc-inputs-cached.sh "$manifest" +LINUXCNC_ROOT="$linuxcnc_root" ./check-linuxcnc-inputs-cached.sh "$manifest" --require-kinematics-complete validate_manifest_switchkins_complete() { local manifest_file=$1 diff --git a/docs/linuxcnc-source-policy.md b/docs/linuxcnc-source-policy.md index a066145..786bc1d 100644 --- a/docs/linuxcnc-source-policy.md +++ b/docs/linuxcnc-source-policy.md @@ -114,6 +114,9 @@ Efficiency rules: nanosecond mtime stats, tracked generated table/case outputs, and the thin API/web bridge files that pass switchkins config aliases. Native, source-link, and build-wasm entry points must run this cached check before consuming those aliases. + The uncached switchkins/remap checker must first run kinematics-manifest + completeness validation so standalone table checks also cover the + source-manifest contract used by M428/M429/M430 and RTCP coverage. - The switchkins/remap generator must treat LinuxCNC `[EMCIO] TOOL_TABLE` entries as source coverage only. Resolvable tool tables referenced by M428/M429/M430 INI files must be present as `tooldata` manifest entries and diff --git a/test-all-native.sh b/test-all-native.sh index 07da893..da8a022 100755 --- a/test-all-native.sh +++ b/test-all-native.sh @@ -143,7 +143,7 @@ grep -F 'LinuxCNC source basis: the wasm build preflights and compiles the' buil grep -F 'LinuxCNC source basis: manifest validation checks LinuxCNC-root relative' check-linuxcnc-inputs.sh >/dev/null grep -F 'LinuxCNC source basis: the cached input checker keys check-linuxcnc-inputs.sh' check-linuxcnc-inputs-cached.sh >/dev/null grep -F 'LinuxCNC source basis: switchkins/remap table validation derives M428/M429/M430' check-linuxcnc-switchkins-remap-table.sh >/dev/null -grep -F 'LINUXCNC_ROOT="$linuxcnc_root" ./check-linuxcnc-inputs-cached.sh "$manifest"' check-linuxcnc-switchkins-remap-table.sh >/dev/null +grep -F 'LINUXCNC_ROOT="$linuxcnc_root" ./check-linuxcnc-inputs-cached.sh "$manifest" --require-kinematics-complete' check-linuxcnc-switchkins-remap-table.sh >/dev/null grep -F 'missing LinuxCNC switchkins REMAP INI in manifest:' check-linuxcnc-switchkins-remap-table.sh >/dev/null grep -F 'missing LinuxCNC switchkins remap source in manifest:' check-linuxcnc-switchkins-remap-table.sh >/dev/null grep -F 'LinuxCNC source basis: cached switchkins/remap validation hashes the LinuxCNC' check-linuxcnc-switchkins-remap-table-cached.sh >/dev/null diff --git a/test-native.sh b/test-native.sh index ac9956c..1a43677 100755 --- a/test-native.sh +++ b/test-native.sh @@ -55,7 +55,7 @@ grep -F 'LinuxCNC source basis: the wasm build preflights and compiles the' buil grep -F 'LinuxCNC source basis: manifest validation checks LinuxCNC-root relative' check-linuxcnc-inputs.sh >/dev/null grep -F 'LinuxCNC source basis: the cached input checker keys check-linuxcnc-inputs.sh' check-linuxcnc-inputs-cached.sh >/dev/null grep -F 'LinuxCNC source basis: switchkins/remap table validation derives M428/M429/M430' check-linuxcnc-switchkins-remap-table.sh >/dev/null -grep -F 'LINUXCNC_ROOT="$linuxcnc_root" ./check-linuxcnc-inputs-cached.sh "$manifest"' check-linuxcnc-switchkins-remap-table.sh >/dev/null +grep -F 'LINUXCNC_ROOT="$linuxcnc_root" ./check-linuxcnc-inputs-cached.sh "$manifest" --require-kinematics-complete' check-linuxcnc-switchkins-remap-table.sh >/dev/null grep -F 'missing LinuxCNC switchkins REMAP INI in manifest:' check-linuxcnc-switchkins-remap-table.sh >/dev/null grep -F 'missing LinuxCNC switchkins remap source in manifest:' check-linuxcnc-switchkins-remap-table.sh >/dev/null grep -F 'LinuxCNC source basis: cached switchkins/remap validation hashes the LinuxCNC' check-linuxcnc-switchkins-remap-table-cached.sh >/dev/null