Files
EVOLV/docs/ISSUES.md
Rene De Ren e580c93c84 docs: add open issues from codebase scan
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>
2026-03-12 09:34:51 +01:00

3.2 KiB

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.jssrc/specificClass.js
  • Create src/nodeClass.js adapter (extract from monster.js)
  • Slim down monster.js to standard wrapper pattern
  • Move monsterConfig.jsongeneralFunctions/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)