From f56468b664d3cba20759ac5a708f08a522bc3033 Mon Sep 17 00:00:00 2001 From: cnc Date: Fri, 5 Jun 2026 06:19:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=82=E8=80=83=E6=89=80=E6=9C=89=E5=88=86?= =?UTF-8?q?=E7=BB=84=EF=BC=8C=E5=AE=8C=E6=88=90=E5=B0=BD=E9=87=8F=E5=A4=9A?= =?UTF-8?q?=E7=9A=84=E5=86=85=E5=AE=B9=EF=BC=9A=E9=97=AD=E7=8E=AF=20workst?= =?UTF-8?q?reams=20source-map=20=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 结论:未扩展 smoke 功能行为,仅让 architecture、source-policy 与 workstreams source-map 形成双向索引,并由 check-linuxcnc-workstreams-source-map.sh 守卫。 LinuxCNC 来源依据:configs/sim/axis/vismach/5axis/bridgemill/5axis.ini、remap_subs/428remap.ngc、src/emc/kinematics/Submakefile、kinematics.h、src/emc/rs274ngc/interp_internal.hh、rs274ngc_pre.cc、rs274ngc/Submakefile、tooldata/Submakefile、ini/Submakefile、pythonplugin/Submakefile 的六分组边界。 检查通过:./check-linuxcnc-workstreams-source-map.sh;./check-linuxcnc-build-source-map.sh;./test-native.sh;./test-linuxcnc-source-link.sh;CNC_SIM_ALL_NATIVE_GUARDRAILS_ONLY=1 ./test-all-native.sh。 --- check-linuxcnc-workstreams-source-map.sh | 6 ++++++ docs/architecture.md | 2 ++ docs/linuxcnc-source-policy.md | 3 +++ 3 files changed, 11 insertions(+) diff --git a/check-linuxcnc-workstreams-source-map.sh b/check-linuxcnc-workstreams-source-map.sh index d69faee..72c67ba 100755 --- a/check-linuxcnc-workstreams-source-map.sh +++ b/check-linuxcnc-workstreams-source-map.sh @@ -16,6 +16,8 @@ grep -F '3. WASM filesystem and OPFS persistence' docs/architecture.md >/dev/nul grep -F '4. browser app integration' docs/architecture.md >/dev/null grep -F '5. Node and browser smoke coverage' docs/architecture.md >/dev/null grep -F '6. source-link, build, and documentation constraints' docs/architecture.md >/dev/null +grep -F 'The synchronized source-map guard for these contexts is' docs/architecture.md >/dev/null +grep -F '`docs/linuxcnc-workstreams-source-map.md`.' docs/architecture.md >/dev/null grep -F 'REMAP = M428' "$linuxcnc_root/configs/sim/axis/vismach/5axis/bridgemill/5axis.ini" >/dev/null grep -F '#' "$linuxcnc_root/configs/sim/axis/vismach/5axis/bridgemill/remap_subs/428remap.ngc" >/dev/null @@ -49,6 +51,10 @@ grep -F 'Keep the change inside one active workstream context unless a dependenc docs/linuxcnc-source-policy.md >/dev/null grep -F 'Each pass should advance one reasonable, reviewable context.' \ docs/linuxcnc-source-policy.md >/dev/null +grep -F 'Keep the six active workstream contexts synchronized with' \ + docs/linuxcnc-source-policy.md >/dev/null +grep -F '`docs/linuxcnc-workstreams-source-map.md` so source-map guards' \ + docs/linuxcnc-source-policy.md >/dev/null grep -F 'Smoke tests are verification guardrails. They must not be expanded with new' \ docs/linuxcnc-source-policy.md >/dev/null grep -F 'Do not mix generator/table work, manifests, OPFS/browser work, and build' \ diff --git a/docs/architecture.md b/docs/architecture.md index 13f451a..3fa1c1a 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -42,6 +42,8 @@ advanced in this order: Each step should stay source-backed and close one small gap at a time. A single pass should advance one workstream context only; crossing into another context requires naming the dependency and keeping the edit set minimal. +The synchronized source-map guard for these contexts is +`docs/linuxcnc-workstreams-source-map.md`. ## Dialect expansion diff --git a/docs/linuxcnc-source-policy.md b/docs/linuxcnc-source-policy.md index 14d1a53..a9fe806 100644 --- a/docs/linuxcnc-source-policy.md +++ b/docs/linuxcnc-source-policy.md @@ -63,6 +63,9 @@ Efficiency rules: - Each pass should advance one reasonable, reviewable context. Do not use a nearby failing smoke assertion, broad fixture, or convenient touched file as permission to expand the pass into another workstream. +- Keep the six active workstream contexts synchronized with + `docs/linuxcnc-workstreams-source-map.md` so source-map guards, architecture, + and this policy stay aligned. - Do not add a smoke-only behavior path when the LinuxCNC-backed route already exists; add coverage to the source-backed route instead. - The legacy explicit smoke backend must not be enabled together with the