Bumps:
- nodes/generalFunctions 75d16c6 -> e50be2e (permissive unit check + measurement schema additions)
- nodes/measurement f7c3dc2 -> 495b4cf (digital mode + dispatcher fix + 59 new tests + rewritten README + UI)
Wiki:
- wiki/manuals/nodes/measurement.md — new user manual covering analog and
digital modes, topic reference, smoothing/outlier methods, unit policy,
and the pre-fix dispatcher bug advisory.
- wiki/sessions/2026-04-13-measurement-digital-mode.md — session note with
findings, fix scope, test additions, and dual-mode E2E results.
- wiki/index.md — links both pages and adds the missing 2026-04-13
rotatingMachine session entry that was omitted from the earlier commit.
Status: measurement is now trial-ready in both analog and digital modes.
71/71 unit tests green (was 12), dual-mode E2E on live Dockerized
Node-RED verifies analog regression and a three-channel MQTT-style
payload (temperature/humidity/pressure) dispatching independently with
per-channel smoothing.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bumps:
- nodes/generalFunctions 024db55 -> 75d16c6 (FSM abort recovery + schema sync)
- nodes/rotatingMachine 07af7ce -> 17b8887 (interruptible sequences, dual-curve tests, rewritten README)
Wiki:
- wiki/manuals/nodes/rotatingMachine.md — new user manual covering inputs,
outputs, state machine, supported curves, and troubleshooting.
- wiki/sessions/2026-04-13-rotatingMachine-trial-ready.md — session note
with findings, fixes, test additions, and dual-curve E2E results.
- wiki/index.md — link both and bump updated date.
Status: rotatingMachine is now trial-ready. 91/91 unit tests green, live
Docker E2E verifies shutdown/emergency-stop during ramps and prediction
behaviour across both shipped pump curves (hidrostal-H05K-S03R,
hidrostal-C5-D03R-SHN1).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Makefile: all useful targets duplicate package.json scripts, and
referenced deleted e2e files. Use npm run instead.
- .npmignore: contained only node_modules/ which npm ignores by default.
- .dockerignore: remove stale paths (manuals/, third_party/, AGENTS.md,
FUNCTIONAL_ISSUES_BACKLOG.md), add wiki/.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
12 pages covering architecture, findings, and metrics from the
rotatingMachine + machineGroupControl hardening work:
- Overview: node inventory, what works/doesn't, current scale
- Architecture: 3D pump curves, group optimization algorithm
- Findings: BEP-Gravitation proof (0.1% of optimum), NCog behavior,
curve non-convexity, pump switching stability
- Metrics: test counts, power comparison table, performance numbers
- Knowledge graph: structured YAML with all data points and provenance
- Session log: 2026-04-07 production hardening
- Tools: query.py, search.sh, lint.sh
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
rotatingMachine:
- Safety fixes: async input handler, emergencyStop case fix, null guards,
listener cleanup, tick loop race condition, editor timeout
- Prediction: remove efficiency rounding (was breaking NCog/BEP), fix
variant reads, curve anomaly detection
- 43 new tests (76 total)
machineGroupControl:
- Critical: fix flowmovement unit mismatch (m³/s sent where m³/h expected,
pumps never moved from minimum)
- Fix absolute scaling comparison bug, empty Qd block, empty-machines guards
- Add marginal-cost refinement loop: reduces gap to brute-force optimum
from 2.1% to <0.1%
- 2 new test files with NCog distribution and power comparison tests
generalFunctions:
- Fix 3 anomalous power values in hidrostal-H05K-S03R curve data
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- generalFunctions: fix infinite recursion in validateSchema when version string is in schema
- rotatingMachine: fix missing closing brace in emergencystop case block
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tracked issues for diffuser restoration, ML module relocation,
monster architecture modernization, test code cleanup, and dashboardAPI improvements.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix Dockerfile.e2e to install EVOLV properly in Node-RED /data/
- Add measurement node E2E test flow with scaling (4-20mA to 0-5m)
- Add Grafana health check to run-e2e.sh
- Guard pumpingStation demo IIFE with require.main check
- All 10 EVOLV nodes load successfully in containerized Node-RED
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Update all submodule URLs from gitea.centraal.wbd-rd.nl to gitea.wbd-rd.nl
- Add settler as proper submodule in .gitmodules
- Add agent skills, function anchors, decisions, and improvements
- Add Docker configuration and scripts
- Add manuals and third_party docs
- Update .gitignore with secrets and build artifacts
- Remove stale .tgz build artifact
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>