docs(rules): examples are hand-authored one-offs, not generated
- node-red-flow-layout §7: drop the "generate flows from a Python builder — it's the source of truth" mandate. Per-node examples are hand-authored one-offs validated by flow-lint; no per-node generator. Scripting layout stays an option only for a large, owned production dashboard. - Bump pumpingStation (generator removed). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -203,8 +203,13 @@ If you only fill the top-level fields, `payload_type=json` is silently treated a
|
|||||||
|
|
||||||
✅ Do:
|
✅ Do:
|
||||||
|
|
||||||
- Generate flows from a Python builder (`build_flow.py`) — it's the source of truth.
|
- **Hand-author per-node `examples/` flows — they are one-offs, not generated.**
|
||||||
- Use deterministic IDs (`pump_a`, `meas_pump_a_u`, `lin_demand_to_mgc`) — reproducible diffs across regenerations.
|
The JSON is the source of truth; edit it directly and validate with `flow-lint`.
|
||||||
|
Do **not** add a per-node flow generator: it rots out of sync, silently emits
|
||||||
|
lint-failing flows, and costs more to maintain than the one-off it produces.
|
||||||
|
(Scripting layout *may* still pay off for a large, frequently-rebuilt production
|
||||||
|
dashboard — but that is an explicit, owned tool, never a per-node example.)
|
||||||
|
- Use stable, readable IDs (`pump_a`, `meas_pump_a_u`, `lin_demand_to_mgc`) so diffs stay legible.
|
||||||
- Tag every channel name with `cmd:` / `evt:` / `setup:`.
|
- Tag every channel name with `cmd:` / `evt:` / `setup:`.
|
||||||
- Comment every section, even short ones.
|
- Comment every section, even short ones.
|
||||||
- Verify trends with a `ui-chart` of synthetic data first, before plumbing real data through.
|
- Verify trends with a `ui-chart` of synthetic data first, before plumbing real data through.
|
||||||
|
|||||||
Submodule nodes/pumpingStation updated: 089a7fa2c4...177a37e15c
Reference in New Issue
Block a user