Files
EVOLV/wiki/Home.md
znetsixe b8cb889d87 wiki: audit + archive stale pages; refresh Home for 2026-05-11 wave
- Archived 20 pre-refactor pages to wiki/Archive/ with standard banners:
  - All 6 architecture/ pages (old _loadConfig/_setupSpecificClass internals,
    pre-refactor S88 hierarchy, deployment blueprint)
  - All 3 sessions/ logs (Apr-07 + Apr-13 session summaries)
  - findings/open-issues-2026-03.md (issues 1-5 all resolved by refactor)
  - concepts/generalfunctions-api.md (missing BaseDomain/BaseNodeAdapter)
  - concepts/sources-readme.md (empty PDF placeholder, never populated)
  - manuals/nodes/rotatingMachine.md + measurement.md (superseded by per-repo wikis)
  - Top-level SCHEMA.md, index.md, log.md, metrics.md, overview.md,
    knowledge-graph.yaml (all Apr-07 snapshot, pre-refactor)
- Kept wiki/concepts/ domain pages (ASM, PID, pump-affinity, settling, etc.)
- Kept wiki/findings/ proven results (BEP, NCog, curve-non-convexity, stability)
- Kept wiki/manuals/node-red/* (FlowFuse + Node-RED runtime docs, still current)
- Kept wiki/tools/* (utility scripts)
- Updated wiki/Archive.md index with 20 rows
- Fixed wiki/Home.md: Tier 6 was wrongly marked done; corrected to pending;
  Tier 9 updated to reflect 2026-05-11 in-progress wave

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 21:07:48 +02:00

5.7 KiB

EVOLV — Wastewater treatment plant automation

Reflects code as of afc304b · regenerated 2026-05-11 via npm run wiki:home

EVOLV is a Node-RED node library for wastewater plant automation, developed by the R&D team at Waterschap Brabantse Delta. Nodes follow the ISA-88 (S88) batch control standard. The library exposes 11 active nodes spanning four S88 levels — from Process Cell down to Control Module — plus one utility node for dashboard integration.

Platform overview

flowchart TB
    subgraph PC["Process Cell"]
        ps[pumpingStation]:::pc
    end
    subgraph UN["Unit"]
        mgc[machineGroupControl]:::unit
        vgc[valveGroupControl]:::unit
        reactor[reactor]:::unit
        settler[settler]:::unit
        monster[monster]:::unit
    end
    subgraph EM["Equipment"]
        rm[rotatingMachine]:::equip
        v[valve]:::equip
        diff[diffuser]:::equip
    end
    subgraph CM["Control Module"]
        meas[measurement]:::ctrl
    end
    subgraph UT["Utility"]
        dash[dashboardAPI]:::neutral
    end
    ps --> mgc
    ps --> vgc
    mgc --> rm
    vgc --> v
    reactor --> diff
    meas -.data.-> rm
    meas -.data.-> v
    meas -.data.-> reactor
    meas -.data.-> settler
    classDef pc fill:#0c99d9,color:#fff
    classDef unit fill:#50a8d9,color:#000
    classDef equip fill:#86bbdd,color:#000
    classDef ctrl fill:#a9daee,color:#000
    classDef neutral fill:#dddddd,color:#000

S88 colours: Process Cell #0c99d9, Unit #50a8d9, Equipment #86bbdd, Control Module #a9daee. Solid arrow = parent/child relationship. Dashed arrow = data flow (measurement feeds many node types). Source of truth: .claude/rules/node-red-flow-layout.md §14.

Live nodes

S88 Node One-liner Wiki
Process Cell pumpingStation Manages a wet-well basin, hands demand to one or more group controllers.
Unit machineGroupControl Load-sharing across a group of rotatingMachines.
Unit valveGroupControl Coordinated valve control across a group of valves.
Unit reactor Bioreactor — couples diffuser + measurements + ASM kinetics.
Unit settler Settler / clarifier modelling.
Unit monster Composite-sample sensor surrogate / multi-parameter monitor.
Equipment rotatingMachine Single pump / compressor — curves, state machine, prediction.
Equipment valve Single valve actuator with FSM.
Equipment diffuser Aeration diffuser, gas-side modelling.
Control Module measurement Sensor signal-conditioning, scaling, calibration.
Utility dashboardAPI Bridge between EVOLV nodes and Grafana dashboard upserts.

Plus the shared library generalFunctions — not a Node-RED node itself; provides BaseDomain, BaseNodeAdapter, ChildRouter, UnitPolicy, MeasurementContainer, command registry, logger, and config manager.

Standards & conventions

Document What it covers Where
Node architecture (3-tier) entry → nodeClass → specificClass .claude/rules/node-architecture.md
Flow layout (Node-RED tabs) Tab boundaries, lanes, S88 colours, link channels .claude/rules/node-red-flow-layout.md
Telemetry (Port 0/1/2) InfluxDB line protocol, cardinality, FlowFuse compatibility .claude/rules/telemetry.md
generalFunctions stability What's safe to change in the shared lib .claude/rules/general-functions.md
repo-mem MCP usage When to use repo_search / repo_record_fix instead of grep .claude/rules/repo-mem.md
Refactor goals + tiers Why the refactor exists, sequencing .claude/refactor/README.md
Code conventions Style, file size, comments, naming, imports, tests .claude/refactor/CONVENTIONS.md
Contracts BaseNodeAdapter, BaseDomain, commands registry, child router, unit policy, status badge, output ports .claude/refactor/CONTRACTS.md
Module split Per-node src/ layout for the 4 core nodes + generic template .claude/refactor/MODULE_SPLIT.md
Wiki per-node template The 14-section page shape .claude/refactor/WIKI_TEMPLATE.md
Wiki home + archive This page's template .claude/refactor/WIKI_HOME_TEMPLATE.md

Refactor status

Tier What Status
1 Add infra in generalFunctions (additive only) done
2 Pilot: pumpingStation end-to-end on new infra done
3 Convert measurement, MGC, rotatingMachine done
4 Convert valve, VGC, reactor, settler, monster, diffuser, dashboardAPI done
5 Canonical topic names + alias deprecation map done
6 Promote developmentmain pending Docker E2E sign-off + human review
8.5 Remove deprecated paths in generalFunctions done
9 Wiki cleanup — visual-first template + per-node Home pages 🟡 in progress (per-node rewrites landing 2026-05-11; parent-repo wiki audit this wave)
10 Test-suite refactor across all nodes in progress
pumpingStation Docker E2E (P2.14) pending

Archive

Pre-refactor pages live under Archive/. See Archive index.