Migrate to new Gitea instance (gitea.wbd-rd.nl)
- Update all submodule URLs from gitea.centraal.wbd-rd.nl to gitea.wbd-rd.nl - Add settler as proper submodule in .gitmodules - Add agent skills, function anchors, decisions, and improvements - Add Docker configuration and scripts - Add manuals and third_party docs - Update .gitignore with secrets and build artifacts - Remove stale .tgz build artifact Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
31
.claude/rules/telemetry.md
Normal file
31
.claude/rules/telemetry.md
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
paths:
|
||||
- "nodes/*/src/nodeClass.js"
|
||||
---
|
||||
|
||||
# Telemetry Rules
|
||||
|
||||
## Output Port Convention
|
||||
- Port 0: Process data (downstream node consumption)
|
||||
- Port 1: InfluxDB telemetry payload
|
||||
- Port 2: Registration/control plumbing
|
||||
|
||||
## InfluxDB Payload Structure
|
||||
Port 1 payloads must follow InfluxDB line protocol conventions:
|
||||
- **Tags**: Low-cardinality indexed fields (node name, machine type, station ID)
|
||||
- **Fields**: High-cardinality values (measurements, setpoints, quality scores)
|
||||
|
||||
## Cardinality Rules
|
||||
- **Never add high-cardinality tags** — no timestamps, UUIDs, or free-text values as tags
|
||||
- Tags are for grouping/filtering; fields are for values
|
||||
- New tags require review for index impact
|
||||
|
||||
## FlowFuse Dashboard Compatibility
|
||||
- Charts use `msg.topic` for series identification (`category: "topic"`)
|
||||
- Dashboard API endpoints serve pre-aggregated data
|
||||
- Changes to Port 0 `msg.topic` format can break downstream dashboards
|
||||
|
||||
## Consistency
|
||||
- Field names for the same measurement type must be consistent across all nodes
|
||||
- Measurement names follow a documented naming convention
|
||||
- Aggregation windows (1min, 5min, 1hr, 24hr) are standardized
|
||||
Reference in New Issue
Block a user