- 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>
97 lines
3.6 KiB
Markdown
97 lines
3.6 KiB
Markdown
---
|
||
title: Open Issues — EVOLV Codebase
|
||
created: 2026-03-01
|
||
updated: 2026-04-07
|
||
status: evolving
|
||
tags: [issues, backlog]
|
||
---
|
||
|
||
> **⚠️ ARCHIVED — pre-refactor (Tier 1–4, 2026-05)**
|
||
>
|
||
> This page describes the architecture before the platform refactor.
|
||
> The current page is the per-node wiki on **[gitea.wbd-rd.nl/RnD](https://gitea.wbd-rd.nl/RnD)** or **[Home](../Home)**.
|
||
>
|
||
> Kept for historical reference only. **Do not update.**
|
||
|
||
|
||
# Open Issues — EVOLV Codebase
|
||
|
||
Issues identified during codebase scan (2026-03-12). Create these on Gitea when ready.
|
||
|
||
---
|
||
|
||
## Issue 1: Restore diffuser node implementation
|
||
|
||
**Labels:** `enhancement`, `node`
|
||
**Priority:** Medium
|
||
|
||
The `nodes/diffuser/` directory contains only `.git`, `LICENSE`, and `README.md` — no implementation. There was a previous experimental version. Needs:
|
||
|
||
- Retrieve original diffuser logic from user/backup
|
||
- Rebuild to current three-layer architecture (wrapper `.js` + `src/nodeClass.js` + `src/specificClass.js`)
|
||
- Use `require('generalFunctions')` barrel imports
|
||
- Add config JSON in `generalFunctions/src/configs/diffuser.json`
|
||
- Register under category `'EVOLV'` with appropriate S88 color
|
||
- Add tests
|
||
|
||
**Blocked on:** User providing original diffuser logic/requirements.
|
||
|
||
---
|
||
|
||
## Issue 2: Relocate prediction/ML modules to external service
|
||
|
||
**Labels:** `enhancement`, `architecture`
|
||
**Priority:** Medium
|
||
|
||
TensorFlow-based influent prediction code was removed from monster node (was broken/incomplete). The prediction functionality needs a new home:
|
||
|
||
- LSTM model for 24-hour flow prediction based on precipitation data
|
||
- Standardization constants: hours `(mean=11.504, std=6.922)`, precipitation `(mean=0.090, std=0.439)`, response `(mean=1188.01, std=1024.19)`
|
||
- Model was served from `http://127.0.0.1:1880/generalFunctions/datasets/lstmData/tfjs_model/`
|
||
- Consider: separate microservice, Python-based inference, or ONNX runtime
|
||
- Monster node should accept predictions via `model_prediction` message topic from external service
|
||
|
||
**Related files removed:** `monster_class.js` methods `get_model_prediction()`, `model_loader()`
|
||
|
||
---
|
||
|
||
## Issue 3: Modernize monster node to three-layer architecture
|
||
|
||
**Labels:** `refactor`, `node`
|
||
**Priority:** Low
|
||
|
||
Monster node uses old-style structure (`dependencies/monster/` instead of `src/`). Should be refactored:
|
||
|
||
- Move `dependencies/monster/monster_class.js` → `src/specificClass.js`
|
||
- Create `src/nodeClass.js` adapter (extract from `monster.js`)
|
||
- Slim down `monster.js` to standard wrapper pattern
|
||
- Move `monsterConfig.json` → `generalFunctions/src/configs/monster.json`
|
||
- Remove `modelLoader.js` (TF dependency removed)
|
||
- Add unit tests
|
||
|
||
**Note:** monster_class.js is ~500 lines of domain logic. Keep sampling_program(), aggregation, AQUON integration intact.
|
||
|
||
---
|
||
|
||
## Issue 4: Clean up inline test/demo code in specificClass files
|
||
|
||
**Labels:** `cleanup`
|
||
**Priority:** Low
|
||
|
||
Several specificClass files have test/demo code after `module.exports`:
|
||
|
||
- `pumpingStation/src/specificClass.js` (lines 478-697): Demo code guarded with `require.main === module` — acceptable but could move to `test/` or `examples/`
|
||
- `machineGroupControl/src/specificClass.js` (lines 969-1158): Block-commented test code with `makeMachines()` — dead code, could be removed or moved to test file
|
||
|
||
---
|
||
|
||
## Issue 5: DashboardAPI node improvements
|
||
|
||
**Labels:** `enhancement`, `security`
|
||
**Priority:** Low
|
||
|
||
- Bearer token now relies on `GRAFANA_TOKEN` env var (hardcoded token was removed for security)
|
||
- Ensure deployment docs mention setting `GRAFANA_TOKEN`
|
||
- `dashboardapi_class.js` still has `console.log` calls (lines 154, 178) — should use logger
|
||
- Node doesn't follow three-layer architecture (older style)
|