docs + submodules: final backlog clearance — valve/reactor/dashboardAPI
Superproject: - CLAUDE.md: legacy-drift table loses the dashboardAPI row (migrated); drift section notes the type-id-preservation strategy for the remaining mgc / vgc renames. - CONTRACTS.md: canonical-unit rule explicitly carves out reactor as an approved ASM-textbook exception with the conversion boundary. Submodules: - nodes/valve @ 167b102: CONTRACT documents valve's lack of an FSM maintenance state (schema mode enum accepts `maintenance` but no enter/exit sequences exist). Limits made explicit instead of being hidden as a wiki TODO. - nodes/reactor @ 75d0413: CONTRACT now declares the approved ASM-unit divergence (mg/L, m³/d, °C, 1/h) with the conversion boundary spelled out. Closes the canonical-unit drift surfaced by the wiki audit. - nodes/dashboardAPI @ ......: file rename (preserves type id). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -29,13 +29,14 @@ abbreviations. Quick reference:
|
|||||||
Full rule + serving recipe for `src/editor/`: `.claude/rules/node-architecture.md`.
|
Full rule + serving recipe for `src/editor/`: `.claude/rules/node-architecture.md`.
|
||||||
|
|
||||||
**Legacy drift to rename when the file is next touched** (do not introduce new
|
**Legacy drift to rename when the file is next touched** (do not introduce new
|
||||||
mismatches in the meantime):
|
mismatches in the meantime). When renaming, **keep the Node-RED type id
|
||||||
|
lowercase** (`registerType('mgc', …)` etc.) so deployed flows continue to load —
|
||||||
|
only the file paths change. `dashboardAPI` was migrated this way on 2026-05-19.
|
||||||
|
|
||||||
| Node | Currently | Should be |
|
| Node | Currently | Should be |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `machineGroupControl` | `mgc.{js,html}` | `machineGroupControl.{js,html}` |
|
| `machineGroupControl` | `mgc.{js,html}` | `machineGroupControl.{js,html}` |
|
||||||
| `valveGroupControl` | `vgc.{js,html}` | `valveGroupControl.{js,html}` |
|
| `valveGroupControl` | `vgc.{js,html}` | `valveGroupControl.{js,html}` |
|
||||||
| `dashboardAPI` | `dashboardapi.{js,html}` | `dashboardAPI.{js,html}` |
|
|
||||||
|
|
||||||
## Key Shared Library: `nodes/generalFunctions/`
|
## Key Shared Library: `nodes/generalFunctions/`
|
||||||
- `logger` - structured logging (use this, NOT console.log)
|
- `logger` - structured logging (use this, NOT console.log)
|
||||||
|
|||||||
@@ -126,6 +126,11 @@ idempotent setters, `cmd.<verb>` for triggers, `evt.<noun>` for events.
|
|||||||
Tests live in `test/{basic,integration,edge}/`. Submodule commits go in the
|
Tests live in `test/{basic,integration,edge}/`. Submodule commits go in the
|
||||||
submodule first, then the superproject bumps the pin.
|
submodule first, then the superproject bumps the pin.
|
||||||
|
|
||||||
|
**Canonical units** (Pa / m³/s / W / K) apply to every node **except
|
||||||
|
`reactor`**, which deliberately uses ASM-kinetics literature units
|
||||||
|
(mg/L, m³/d, °C, 1/h) — documented in `nodes/reactor/CONTRACT.md`.
|
||||||
|
Conversions happen at the parent/child boundary via `UnitPolicy`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 7. Verification checklist before merge
|
## 7. Verification checklist before merge
|
||||||
|
|||||||
Submodule nodes/dashboardAPI updated: 0b857ef444...e04c4a1132
Submodule nodes/reactor updated: 346a3ce2ab...75d0413994
Submodule nodes/valve updated: 7acd6c2ce0...167b1026f1
Reference in New Issue
Block a user