参考所有分组:锁定kinematics源约束守护

结论:按 align-linuxcnc 约束把 generated component manpage metadata 和已知不可解析 TOOL_TABLE 基线纳入 native/all-native guardrail,防止 kinematics manifest/source 校验被削弱。

验证:check-linuxcnc-inputs --require-kinematics-complete、check-linuxcnc-switchkins-remap-table、CNC_SIM_ALL_NATIVE_GUARDRAILS_ONLY=1 test-all-native、test-native、test-linuxcnc-source-link 均通过。
This commit is contained in:
cnc
2026-06-03 11:36:09 +08:00
parent 8ff22065dd
commit 5481ab3bff
2 changed files with 37 additions and 0 deletions

View File

@@ -1051,6 +1051,25 @@ kinematics_manifest_config=$(./list-linuxcnc-kinematics-manifest-sources.sh linu
grep -Fx "configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini" <<<"$kinematics_manifest_config" >/dev/null
grep -Fx "configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini" <<<"$kinematics_manifest_config" >/dev/null
grep -Fx "configs/sim/axis/vismach/puma/puma560_dh.hal" <<<"$kinematics_manifest_config" >/dev/null
kinematics_manifest_metadata=$(./list-linuxcnc-kinematics-manifest-sources.sh linuxcnc-kinematics-source-files.txt metadata)
grep -Fx "src/objects/man/man9/corexy_by_hal.9.adoc" <<<"$kinematics_manifest_metadata" >/dev/null
grep -Fx "src/objects/man/man9/gantry.9.adoc" <<<"$kinematics_manifest_metadata" >/dev/null
grep -Fx "src/objects/man/man9/matrixkins.9.adoc" <<<"$kinematics_manifest_metadata" >/dev/null
grep -Fx "src/objects/man/man9/millturn.9.adoc" <<<"$kinematics_manifest_metadata" >/dev/null
grep -Fx "src/objects/man/man9/userkins.9.adoc" <<<"$kinematics_manifest_metadata" >/dev/null
grep -Fx "src/objects/man/man9/xyzab_tdr_kins.9.adoc" <<<"$kinematics_manifest_metadata" >/dev/null
grep -Fx "src/objects/man/man9/xyzacb_trsrn.9.adoc" <<<"$kinematics_manifest_metadata" >/dev/null
grep -Fx "src/objects/man/man9/xyzbca_trsrn.9.adoc" <<<"$kinematics_manifest_metadata" >/dev/null
if [[ "$(grep -Ec '^src/objects/man/man9/(corexy_by_hal|gantry|matrixkins|millturn|userkins|xyzab_tdr_kins|xyzacb_trsrn|xyzbca_trsrn)\.9\.adoc$' <<<"$kinematics_manifest_metadata")" -ne 8 ]]; then
echo "all-native guardrail expected all LinuxCNC generated component manpage metadata sources" >&2
exit 1
fi
grep -F 'manifest does not cover all LinuxCNC generated component manpage sources adjacent to generated kinematics sources' check-linuxcnc-inputs.sh >/dev/null
grep -F 'configs/sim/axis/vismach/hexapod-sim/hexapod.ini TOOL_TABLE=hexapod.tbl' check-linuxcnc-inputs.sh >/dev/null
grep -F 'configs/sim/axis/vismach/scara/scara.ini TOOL_TABLE=scara.tbl' check-linuxcnc-inputs.sh >/dev/null
grep -F 'configs/sim/qtvcp_screens/non-trivial/scara/scara.ini TOOL_TABLE=scara.tbl' check-linuxcnc-inputs.sh >/dev/null
grep -F 'LinuxCNC M428/M429/M430 INI TOOL_TABLE files have new unresolved sources' check-linuxcnc-inputs.sh >/dev/null
grep -F 'LinuxCNC M428/M429/M430 INI TOOL_TABLE unresolved source set changed' check-linuxcnc-inputs.sh >/dev/null
grep -Fx "HALCMD = sets :x-offset -20" "$linuxcnc_root/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini" >/dev/null
grep -Fx "HALCMD = sets :z-offset -15" "$linuxcnc_root/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini" >/dev/null
grep -Fx "HALCMD = setp xyzbc-trt-kins.x-rot-point 0" "$linuxcnc_root/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini" >/dev/null

View File

@@ -649,12 +649,30 @@ fi
grep -Fx "src/emc/kinematics/switchkins.h" "$kinematics_manifest_sources" >/dev/null
grep -Fx "src/emc/kinematics/Submakefile" "$kinematics_manifest_sources" >/dev/null
grep -Fx "src/emc/kinematics/blend.fig" "$kinematics_manifest_sources" >/dev/null
grep -Fx "src/objects/man/man9/corexy_by_hal.9.adoc" "$kinematics_manifest_sources" >/dev/null
grep -Fx "src/objects/man/man9/gantry.9.adoc" "$kinematics_manifest_sources" >/dev/null
grep -Fx "src/objects/man/man9/matrixkins.9.adoc" "$kinematics_manifest_sources" >/dev/null
grep -Fx "src/objects/man/man9/millturn.9.adoc" "$kinematics_manifest_sources" >/dev/null
grep -Fx "src/objects/man/man9/userkins.9.adoc" "$kinematics_manifest_sources" >/dev/null
grep -Fx "src/objects/man/man9/xyzab_tdr_kins.9.adoc" "$kinematics_manifest_sources" >/dev/null
grep -Fx "src/objects/man/man9/xyzacb_trsrn.9.adoc" "$kinematics_manifest_sources" >/dev/null
grep -Fx "src/objects/man/man9/xyzbca_trsrn.9.adoc" "$kinematics_manifest_sources" >/dev/null
if [[ "$(grep -Ec '^src/objects/man/man9/(corexy_by_hal|gantry|matrixkins|millturn|userkins|xyzab_tdr_kins|xyzacb_trsrn|xyzbca_trsrn)\.9\.adoc$' "$kinematics_manifest_sources")" -ne 8 ]]; then
echo "expected kinematics manifest to cover all LinuxCNC generated component manpage sources" >&2
exit 1
fi
grep -F 'manifest does not group all LinuxCNC kinematics headers as header sources' check-linuxcnc-inputs.sh >/dev/null
grep -F 'manifest does not group all LinuxCNC kinematics build metadata as metadata sources' check-linuxcnc-inputs.sh >/dev/null
grep -F 'manifest does not group all LinuxCNC kinematics reference assets as asset sources' check-linuxcnc-inputs.sh >/dev/null
grep -F 'manifest does not cover all LinuxCNC component sources referenced by M428/M429/M430 INI KINEMATICS entries' check-linuxcnc-inputs.sh >/dev/null
grep -F 'manifest does not cover all LinuxCNC generated component sources referenced by M428/M429/M430 INI KINEMATICS entries' check-linuxcnc-inputs.sh >/dev/null
grep -F 'manifest does not cover all LinuxCNC generated component make metadata adjacent to generated kinematics sources' check-linuxcnc-inputs.sh >/dev/null
grep -F 'manifest does not cover all LinuxCNC generated component manpage sources adjacent to generated kinematics sources' check-linuxcnc-inputs.sh >/dev/null
grep -F 'configs/sim/axis/vismach/hexapod-sim/hexapod.ini TOOL_TABLE=hexapod.tbl' check-linuxcnc-inputs.sh >/dev/null
grep -F 'configs/sim/axis/vismach/scara/scara.ini TOOL_TABLE=scara.tbl' check-linuxcnc-inputs.sh >/dev/null
grep -F 'configs/sim/qtvcp_screens/non-trivial/scara/scara.ini TOOL_TABLE=scara.tbl' check-linuxcnc-inputs.sh >/dev/null
grep -F 'LinuxCNC M428/M429/M430 INI TOOL_TABLE files have new unresolved sources' check-linuxcnc-inputs.sh >/dev/null
grep -F 'LinuxCNC M428/M429/M430 INI TOOL_TABLE unresolved source set changed' check-linuxcnc-inputs.sh >/dev/null
grep -F 'manifest does not cover all resolvable LinuxCNC TOOL_TABLE files referenced by M428/M429/M430 INI files as tooldata sources' check-linuxcnc-inputs.sh >/dev/null
grep -F 'manifest does not cover LinuxCNC README sources adjacent to M428/M429/M430 INI files as asset sources' check-linuxcnc-inputs.sh >/dev/null
grep -F 'manifest does not cover all LinuxCNC vismach user component sources referenced by M428/M429/M430 INI/HAL loadusr commands as asset sources' check-linuxcnc-inputs.sh >/dev/null