Compare commits

..

18 Commits

Author SHA1 Message Date
znetsixe
2aafc38968 chore: bump dashboardAPI — MGC drop dead Scaling panel, show group Mode/RelDistPeak
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 21:48:04 +02:00
znetsixe
aaf8dd1498 chore: bump dashboardAPI — clean stat panels (dedup, value-only text, meter units)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 21:42:57 +02:00
znetsixe
d830a6a991 chore: bump dashboardAPI — string fields render in stat panels (reduceOptions.fields)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 21:09:34 +02:00
znetsixe
cb42740ee1 chore: bump dashboardAPI — resolve Grafana folder by name (stale folderUid fix)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 21:02:50 +02:00
znetsixe
c529819696 chore: bump submodules — MGC per-pump OFF sentinel + PS m³/s canonical / m³/h output
- machineGroupControl f18f3cc: fn_chart_pump_a/b/c emit -1 OFF sentinel on the
  per-pump % control chart when state is off/idle/maintenance; ui_chart_pumps_ctrl
  ymin=-5; new per-pump-ctrl-fanout output-coverage test + manifest update.
- pumpingStation e041877: revert canonical flow to m³/s (platform convention),
  keep output m³/h for dashboard parity. No demand smoothing/hysteresis — that
  belongs in a dedicated intermediate node per design review.

Also cleaned stale InfluxDB series (out-of-tree): dropped "MGC Isolated" and
"MGC — Pump Group" measurements and the category="undefined" rows in
"Machine Group" (135,416 stale rows; live untagged data preserved).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 19:10:23 +02:00
znetsixe
62ad5605e8 chore: bump MGC (rendezvous lock + emergency bypass) + gF (emergencyPressurePa config)
machineGroupControl 2af6c90, generalFunctions 5c091cd. Rendezvous lock verified
live on the isolated rig: clean monotonic 1→2 pump staging, no wait/hunt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 17:48:06 +02:00
znetsixe
2562ed2e9f chore: bump machineGroupControl — just-in-time startup (no staging flow bump) + fn_status_split output-17 coverage
machineGroupControl f41e319 (movementScheduler just-in-time start, dashboard
fan-out output-17 coverage, manifest fan-out table).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 16:24:45 +02:00
znetsixe
52c091bd92 chore: bump submodules — MGC movement gate + demand telemetry, gF tag/alwaysEmit/movement fixes, RM ctrl emit, PS m³/h, dashboardAPI slice47 panels
Bumps: generalFunctions c0be50d, machineGroupControl b59d8e6,
rotatingMachine 889221f, pumpingStation 8216480, dashboardAPI 5533293.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 16:10:04 +02:00
00a6fc5306 chore: bump dashboardAPI for slice #43 output-coverage manifest
Refs #43
2026-05-26 18:08:56 +02:00
d1412bc53c chore: bump dashboardAPI for slice #42 example flow round-trip
Refs #42
2026-05-26 18:06:59 +02:00
d036646060 chore: bump dashboardAPI for slice #41 manual regen
Refs #41
2026-05-26 18:05:40 +02:00
8224d15d51 chore: bump dashboardAPI for slice #40 MGC template
Refs #40
2026-05-26 18:03:33 +02:00
b3e24175de chore: bump dashboardAPI for slice #39 no-duplication rule
Refs #39
2026-05-26 18:02:03 +02:00
9a9bfdafc1 chore: bump dashboardAPI for slice #38 dashed-bounds overrides
Refs #38
2026-05-26 18:00:48 +02:00
52bf827e9d chore: bump dashboardAPI for slice #37 emittedFields metadata
Refs #37
2026-05-26 17:59:43 +02:00
f867929634 chore: bump dashboardAPI submodule for slice #36 diff-skip regen
Refs #36
2026-05-26 17:57:39 +02:00
042a5cc4ba chore: bump dashboardAPI submodule for slice #35 perf + uid tests
Refs #35
2026-05-26 17:55:45 +02:00
a65cdc3562 chore: ship slice #34 — dashboardAPI walking skeleton + Grafana pin
- Bumps nodes/dashboardAPI submodule to slice/34-walking-skeleton@7fdab73
  (credentials block for bearer token, folderUid config field, basic tests).
- Pins grafana/grafana to 11.3.0 — legacy /api/dashboards/db is the
  generator target; G12 K8s-style API is out of scope (PRD constraint).

Refs #34
2026-05-26 17:53:58 +02:00
17 changed files with 42 additions and 1942 deletions

View File

@@ -1,8 +1,3 @@
---
name: biological-process-engineer
description: Use for biological wastewater modeling on reactor, settler, and monster nodes — ASM1 to ASM3 kinetics, nitrification/denitrification, sludge settling, plug-flow hydraulics, oxygen demand, temperature compensation, and HRT/SRT retention-time calculations.
---
# Biological Process Engineer — Reactor, Settler & Biological Treatment
## Identity

View File

@@ -1,8 +1,3 @@
---
name: commissioning-compliance
description: Use for commissioning and compliance — FAT/SAT planning, acceptance-criteria definition, audit trails and control-action traceability, regulatory and effluent reporting, simulation-to-field validation gaps, and Waterschap Brabantse Delta compliance context.
---
# Commissioning & Compliance Agent — Validation, Regulatory & Audit
## Identity

View File

@@ -1,8 +1,3 @@
---
name: evolv-orchestrator
description: Use this agent to decompose complex, multi-domain or cross-node EVOLV tasks, route work to specialist agents, and run decision-gate interviews. Invoke whenever the user says "team", when task ownership is unclear, or for cross-cutting changes affecting topic contracts, output schemas, or parent-child relationships.
---
# EVOLV Orchestrator — Multi-Domain Task Router
## Identity

View File

@@ -1,8 +1,3 @@
---
name: general-functions-library
description: Use when modifying anything in nodes/generalFunctions/ (logger, configManager, outputUtils, PIDController, MeasurementContainer, predict, interpolation, coolprop, convert, MenuManager, childRegistrationUtils, and similar) — assess platform-wide cross-node impact and export backward-compatibility before changing shared exports.
---
# General Functions Library Agent — Shared Library & Cross-Node Contracts
## Identity

View File

@@ -1,8 +1,3 @@
---
name: instrumentation-measurement
description: Use for the measurement node and sensor behavior — signal conditioning, scaling and smoothing, outlier filtering, data-quality flags, NRMSE drift detection, calibration management, MeasurementContainer usage, unit conversions, and warmup/cooldown modeling.
---
# Instrumentation & Measurement Agent — Sensors, Data Quality & Signal Conditioning
## Identity

View File

@@ -1,8 +1,3 @@
---
name: mechanical-process-engineer
description: Use for rotating equipment and hydraulics work on rotatingMachine, pumpingStation, machineGroupControl, valve, valveGroupControl, and diffuser nodes — pump curves, power and efficiency prediction, pressure-flow models, PID tuning, BEP tracking, and affinity-law and specific-energy validation.
---
# Mechanical & Process Engineer — Rotating Equipment & Hydraulics
## Identity

View File

@@ -1,8 +1,3 @@
---
name: node-red-runtime
description: Use for Node-RED runtime and editor work — nodeClass.js/specificClass.js structure, RED.nodes.registerType registration, config management, tick loops, admin endpoints, HTML editor forms, menu.js/configData.js endpoints, and dynamic editor behavior.
---
# Node-RED Runtime & Editor Agent
## Identity

View File

@@ -1,8 +1,3 @@
---
name: ot-security-integration
description: Use for OT/IT security and edge integration — OPC UA/Modbus/fieldbus integration, admin-endpoint security review, control-topic input validation, control-message safety, threat modeling, edge-to-cloud security, PLC reconnect behavior, and injection-risk review of dynamic config.
---
# OT/IT Security & Edge Integration Agent
## Identity

View File

@@ -1,8 +1,3 @@
---
name: quality-test-engineer
description: Use after code changes to review quality and tests — regression checks, test-coverage gap analysis across the basic/integration/edge tiers, DRY/complexity/naming review, function-anchor compliance, and technical-debt prioritization.
---
# Quality & Test Engineer — Code Quality, Testing & Technical Debt
## Identity

View File

@@ -1,8 +1,3 @@
---
name: telemetry-database
description: Use for telemetry and database work — the dashboardAPI node, Port 1 InfluxDB payload design, tag-vs-field schema decisions, Grafana and FlowFuse chart compatibility, KPI definitions, aggregation windows, and retention policy design.
---
# Telemetry & Database Agent — InfluxDB, Dashboards & Analytics
## Identity

2
.npmrc
View File

@@ -1,2 +0,0 @@
ignore-scripts=true
min-release-age=7

View File

@@ -67,7 +67,10 @@ services:
# Grafana — dashboard visualization
# ---------------------------------------------------------
grafana:
image: grafana/grafana:latest
# Pinned per dashboardAPI v2 PRD: legacy POST /api/dashboards/db is the
# generator target; Grafana 12 K8s-style API is out of scope. Bump
# deliberately, not via `pull --latest`.
image: grafana/grafana:11.3.0
container_name: evolv-grafana
restart: unless-stopped
ports:

1919
package-lock.json generated

File diff suppressed because it is too large Load Diff