Files
cnc_wams/完善wasm/working/28-04-HAL-Meter-Scope-JSON-Evidence-Gate实施记录.md
2026-07-10 21:26:42 -04:00

2.5 KiB
Raw Blame History

28-04 HAL Meter/Scope JSON Evidence Gate 实施记录

定位

本文件落实 ACC-040/INT-027,执行 23 的实际 schema、采样、Web evidence 和 compare gate。结论只适用于 LinuxCNC-backed Web/WASM 虚拟 HAL不宣称已运行原生 GTK halmeter 或 RT/shared-memory halscope 进程。

实现

新增 wasm-port/runtime/sdk/src/hal-meter-scope-evidence.js,统一提供:

  • 从真实 lchal_get_snapshot_json 展平 pin/signal/parameter 的 hal_meter_evidence
  • lchal_step_threads servo cycle 采样的 hal_scope_waveform_evidence
  • schema、长度、时间单调、通道类型和非静态 waveform 校验;
  • 独立 HAL session 的 component/net/parameter probe不从 UI 字符串或截图生成数据。

Scope 使用 1 ms 周期、4 个通道和 8/16 点记录;每点先改变 scale.in,再执行真实预编译 scale -> signal -> mux2 thread/net 链。Meter 最终快照同时包含 pin、signal、parameter 三类。

Gate

cd wasm-port
node tests/ui/node/verify_hal_meter_evidence.mjs
node tests/ui/node/verify_hal_scope_waveform_evidence.mjs

cd ../web-rtcp-5axis-xyzbc-trt-sim-plan
node tests/node/verify_hal_meter_scope_evidence.mjs
npm --prefix app run evidence:web
npm --prefix app run evidence:compare

输出:

hal_meter_evidence_schema=ok
hal_meter_evidence_items=ok
hal_scope_waveform_schema=ok
hal_scope_waveform_samples=ok
web_hal_meter_evidence=ok
web_hal_scope_waveform_evidence=ok
compare_xyzbc_trt_status=pass

正式 Web evidence 顶层现包含 hal_meter_evidencehal_scope_waveform_evidence,并单独写出两个 JSON 文件。compare 报告包含 halMeterEvidenceComparisonhalScopeWaveformEvidenceComparison,明确 nativeEquivalentRequired=false 只表示 Web 等效合同,不伪造 native halscope process。

04 状态

04 项 状态
4.13 HAL Scope L3 条件通过WASM waveform schema/sample/trigger/source reference 和 Web compare 通过;原生 RT/GTK halscope 未运行
4.14 HAL Meter L3 条件通过pin/signal/parameter 当前值 JSON 和 Web compare 通过;原生 GTK halmeter 未运行
10.6 HAL 信号监视 Web/WASM 结构化监视 evidence 通过
10.7 HAL Scope Web evidence 已可提供 waveform 数据合同;独立用户可见 Scope 交互面仍可作为 L5 UI 增强,不影响 JSON gate 结论

结论

ACC-040/INT-027 已闭合 23 要求的两个 JSON evidence、三个 Node/Web gate 和 compare 字段。截图、Canvas 或 halGraph 仍不能替代这些证据。