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:
znetsixe
2026-05-29 19:04:59 +02:00
parent 2c50cac908
commit c932382022
2 changed files with 8 additions and 3 deletions

View File

@@ -203,8 +203,13 @@ If you only fill the top-level fields, `payload_type=json` is silently treated a
✅ Do:
- Generate flows from a Python builder (`build_flow.py`) — it's the source of truth.
- Use deterministic IDs (`pump_a`, `meas_pump_a_u`, `lin_demand_to_mgc`) — reproducible diffs across regenerations.
- **Hand-author per-node `examples/` flows — they are one-offs, not generated.**
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:`.
- Comment every section, even short ones.
- Verify trends with a `ui-chart` of synthetic data first, before plumbing real data through.