From 30928ce378d325736548c8af1e18e31561ffcb1b Mon Sep 17 00:00:00 2001 From: znetsixe Date: Mon, 11 May 2026 17:14:00 +0200 Subject: [PATCH] Wave A: bump submodule pointers + mark 4 OPEN_QUESTIONS resolved MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit generalFunctions ff9aec8 → f117546 B3.1+B3.2+B3.3 infra measurement 2aa8021 → e6e212a B2.4 drop 'mAbs' event machineGroupControl 045a941 → 0e8cab5 B3.3 drop _unitView rotatingMachine 9e8463b → 84126e9 B3.3 drop _unitView pumpingStation e991ea6 → ef81013 B1.2 drop 'overfillLevel' OPEN_QUESTIONS.md: 4 entries marked RESOLVED (ChildRouter monkey-patch, commandRegistry 'none' type, measurement 'mAbs' event, MGC unitPolicy shape). Co-Authored-By: Claude Opus 4.7 (1M context) --- .claude/refactor/OPEN_QUESTIONS.md | 46 +++++++++++++++++++++++++++--- nodes/generalFunctions | 2 +- nodes/machineGroupControl | 2 +- nodes/measurement | 2 +- nodes/pumpingStation | 2 +- nodes/rotatingMachine | 2 +- 6 files changed, 47 insertions(+), 9 deletions(-) diff --git a/.claude/refactor/OPEN_QUESTIONS.md b/.claude/refactor/OPEN_QUESTIONS.md index cb23688..a47ff46 100644 --- a/.claude/refactor/OPEN_QUESTIONS.md +++ b/.claude/refactor/OPEN_QUESTIONS.md @@ -119,7 +119,18 @@ See `CONTRACTS.md §2` for the BaseNodeAdapter shape. --- -## 2026-05-10 — ChildRouter wildcard subscriptions monkey-patch `emit` +## 2026-05-10 — ChildRouter wildcard subscriptions monkey-patch `emit` — RESOLVED + +**Resolution (2026-05-11):** Switched to per-listener fan-out using the +canonical `POSITIONS` list and a 19-type set (`MeasurementContainer.measureMap` +keys + synthetic EVOLV types). Each partial-filter subscription enumerates +every concrete `..` event name and registers a +plain `emitter.on()` per combo. Multi-parent works without emit patching. +ChildRouter.js 184 → 164 lines; 12/12 tests pass including a new +multi-parent regression test. + +### Original entry below +## 2026-05-10 — ChildRouter wildcard subscriptions monkey-patch `emit` (history) **Context:** P1.2 implementation. EventEmitter has no native wildcard. Subscriptions with a partial filter (`{type}`-only or `{position}`-only) @@ -254,7 +265,16 @@ adjacent to the calibration test cleanup. --- -## 2026-05-10 — `commandRegistry` payload schema needs `'none'`/`'void'` type +## 2026-05-10 — `commandRegistry` payload schema needs `'none'`/`'void'` type — RESOLVED + +**Resolution (2026-05-11):** Added `'none'` to the payloadSchema.type +enum. Handler still fires; logs `warn` if `msg.payload` is non-empty +(catches accidental object payloads on trigger topics). Also added an +optional `description` field per descriptor for wikiGen consumption. +23/23 commandRegistry tests pass; CONTRACTS.md §4 updated. + +### Original entry below +## 2026-05-10 — commandRegistry payload schema needs 'none'/'void' type (history) **Context:** P3.7+P3.8. Trigger-only commands (`set.simulator`, `set.outlier-detection`, `cmd.calibrate`) ignore their payload. The @@ -270,7 +290,15 @@ registry schema enum during Phase 7 (topic-name standardisation). --- -## 2026-05-10 — measurement legacy `'mAbs'` emitter event +## 2026-05-10 — measurement legacy `'mAbs'` emitter event — RESOLVED + +**Resolution (2026-05-11):** Removed the on-emit subscription that +bridged the analog channel's `.measured.` event to +`source.emitter` as `'mAbs'`. No production consumer was reading it. +96/96 measurement tests pass. + +### Original entry below +## 2026-05-10 — measurement legacy 'mAbs' emitter event (history) **Context:** P3.7+P3.8 CONTRACT.md noted that the existing `Measurement` class emits `'mAbs'` on `source.emitter` whenever the analog output @@ -365,7 +393,17 @@ is the natural place to enforce or document the pairing. --- -## 2026-05-10 — MGC concern modules use legacy unitPolicy object shape +## 2026-05-10 — MGC concern modules use legacy unitPolicy object shape — RESOLVED + +**Resolution (2026-05-11):** UnitPolicy.declare() now exposes +canonical/output/curve as BOTH callable methods AND frozen property +bags. Both shapes work: `policy.canonical('flow')` and `policy.canonical.flow`. +Dropped the `_unitView`/`unitPolicyView` workaround in both MGC +(specificClass 336→318) and rotatingMachine (400→377). CONTRACTS.md §6 +updated. All platform tests stay green. + +### Original entry below +## 2026-05-10 — MGC concern modules use legacy unitPolicy object shape (history) **Context:** The MGC concern modules (groupOps/groupOperatingPoint, totals/totalsCalculator, combinatorics/pumpCombinations, control/strategies) diff --git a/nodes/generalFunctions b/nodes/generalFunctions index ff9aec8..f117546 160000 --- a/nodes/generalFunctions +++ b/nodes/generalFunctions @@ -1 +1 @@ -Subproject commit ff9aec8702a0a7c8352dbb6b96acbc54a33d4634 +Subproject commit f11754635beae5e405d424fe4977976981e4e56d diff --git a/nodes/machineGroupControl b/nodes/machineGroupControl index 045a941..0e8cab5 160000 --- a/nodes/machineGroupControl +++ b/nodes/machineGroupControl @@ -1 +1 @@ -Subproject commit 045a941ab440684cce913d4cb3856ca29e69b51d +Subproject commit 0e8cab5d3fdf6241a0497d13a285c655a0cbdc27 diff --git a/nodes/measurement b/nodes/measurement index 2aa8021..e6e212a 160000 --- a/nodes/measurement +++ b/nodes/measurement @@ -1 +1 @@ -Subproject commit 2aa80212e44ec44b0a0c013374b03385c8d3f040 +Subproject commit e6e212a504ca36fdb361e99784943de9254fdf92 diff --git a/nodes/pumpingStation b/nodes/pumpingStation index e991ea6..ef81013 160000 --- a/nodes/pumpingStation +++ b/nodes/pumpingStation @@ -1 +1 @@ -Subproject commit e991ea64ef92d8191d9b1c54a7b939ca2ff1a3f0 +Subproject commit ef81013e96f81a8562a897d5665b2145f2a097ed diff --git a/nodes/rotatingMachine b/nodes/rotatingMachine index 9e8463b..84126e9 160000 --- a/nodes/rotatingMachine +++ b/nodes/rotatingMachine @@ -1 +1 @@ -Subproject commit 9e8463b41db5aeb3bb85a2e1529590b085472bb6 +Subproject commit 84126e91302c21468628cf3fe5351a52d2773e66