锁定虚拟HAL宏加载阻断证据

This commit is contained in:
2026-06-18 05:21:30 +08:00
parent 506a6357c1
commit 014081f1f9
10 changed files with 221 additions and 6 deletions

View File

@@ -700,3 +700,68 @@ browser diagnostics proof。
3. 如 UI-family 边界不清晰,先增加 negative fixture gate证明
`L4-PYTHON-REMAP` / Python UI process 相关 macro/load 不会被 macro/load fixture
report 误解锁。
### 五、2026-06-18 Macro Load Blocked Fixture Lock
本批按上一节建议先评估 `gscreen/silverdragon/macros/tool_sensor.ngc`。结论是不能直接
作为 positive macro/load fixture 推进:当前 generated boundary evidence 显示 owning
machine file `gscreen/silverdragon/silverdragon.ini` 在 vendored manifest 中不可用,且该
family 涉及 Python UI/process 边界风险。为避免 virtual HAL 误解锁 Python UI 或
Python remap family本批新增 negative fixture gate。
新增实质能力:
- 新增 `VIRTUAL_HAL_SIM_CONFIG_MACRO_LOAD_BLOCKED_FIXTURES`
- `createVirtualHalSimConfigMacroLoadFixtureReport()` 新增:
- `blockedRows`
- `blockedFixturePromotionViolations`
- summary row`blocked-fixture-lock`
- 首批 blocked fixture
- `silverdragon-tool-sensor-python-ui-boundary`
- `fixturePath` 为
`linuxcnc/configs/sim/gscreen/silverdragon/macros/tool_sensor.ngc`
- `owningIniPath` 为
`linuxcnc/configs/sim/gscreen/silverdragon/silverdragon.ini`
- `blockedKind` 为 `PYTHON-UI-PROCESS`
- 必须 `excludedFromPositiveFixtures === true`
- `gmoccapy-on-abort-python-remap-boundary`
- `fixturePath` 为
`linuxcnc/configs/sim/gmoccapy/macros/on_abort.ngc`
- `owningIniPath` 为 `linuxcnc/configs/sim/gmoccapy/6_axis.ini`
- `blockedKind` 为 `L4-PYTHON-REMAP`
- 必须 `excludedFromPositiveFixtures === true`
- release diagnostics validation 新增 required negative evidence
- `blockedFixturePromotionViolations.length === 0`
- SilverDragon `tool_sensor.ngc` 与 gmoccapy `on_abort.ngc` 必须存在于
`blockedRows`
- 两者不能出现在 positive macro/load fixture rows
- real simulation smoke 与 SDK smoke 同步验证 blocked fixture lock
- coverage matrix 对 `gscreen/silverdragon/macros/tool_sensor.ngc` 注释更新为 blocked
negative fixture
- promotion analysis 文档新增 Macro/Load Blocked Fixture Lock 小节。
语义边界:
- 本批没有降低 inventory skip count
- 当前 baseline 仍是 `executed=28`、`passed=28`、`skipped=131`、
`unexpected_fail=0`
- 本批没有新增 G-code/interpreter/planner/kinematics/remap 语义;
- 本批没有把 SilverDragon、gmoccapy 或任何 Python UI / Python remap family 作为
virtual HAL positive fixture 推进;
- virtual HAL 已满足 Web 方式数控系统仿真系统,并在仿真范围内替代 LinuxCNC
realtime HAL、`halcmd`、motion controller
- virtual HAL 仍不提供 Linux kernel hard-realtime ABI、外部硬件驱动 ABI、native
HAL module ABI、Python UI process emulation 或 Python remap runtime
- `L4-PYTHON-REMAP`、`L4-TOOL-DB`、`L4-USER-M-PROCESS`、`UPSTREAM-DEMO` 仍保持
locked
- G-code/interpreter/planner/canonical motion 语义仍来自 LinuxCNC-backed WASM。
下一步工作建议:
1. 为 macro/load fixture report 增加 UI-family candidate audit
`gscreen/industrial_lathe_wear/toolchange.ngc` 与
`qtvcp_screens/industrial_lathe_wear/toolchange.ngc` 先作为 audit rows 评估。
2. 只有 owning INI、machine files、tool table、UI/process declaration 都有
LinuxCNC source evidence且不需要 Python UI process emulation 时,才允许转为
positive non-main fixture。
3. 如证据仍不完整,继续扩展 blocked fixture lock不降低 inventory baseline。