Some checks failed
CI / lint-and-test (push) Has been cancelled
- package.json: remove @tensorflow/tfjs and @tensorflow/tfjs-node. Monster's TF code was already stripped; the deps were stale and kept pulling a heavy native binary back into every install. - .gitignore: ignore .repo-mem/ regenerable indexes and per-session .claude/*.lock runtime files. - CLAUDE.md: prepend READ-FIRST pointer to .claude/rules/repo-mem.md; collapse the 'three outputs' bullet to a pointer at node-architecture. - .claude/rules/telemetry.md: drop Port 0/1/2 duplication; reference node-architecture.md. - .claude/rules/testing.md: stop requiring a separate test/edge tier and the basic/integration/edge example flow trio. Reflects what nodes actually do. - .claude/rules/repo-mem.md (new): when-to-call-which guide for the per-repo memory MCP, anti-patterns, refresh model. - .mcp.json (new): wire repo-mem stdio server. - docs/DEVELOPER_GUIDE.md (new): step-by-step guide for adding a new EVOLV node under the three-layer pattern. - Bump nodes/pumpingStation to 6ab585b (docs + simulations refresh, spill-flow path renames consistent with d8490aa). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
---
|
|
paths:
|
|
- "nodes/*/src/nodeClass.js"
|
|
---
|
|
|
|
# Telemetry Rules
|
|
|
|
Output port convention (Port 0/1/2) is documented in `.claude/rules/node-architecture.md`. This file covers only the Port 1 payload shape and downstream contracts.
|
|
|
|
## 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
|