Files
EVOLV/.claude/rules/telemetry.md
znetsixe d4e72f280e docs: retire repo-mem MCP, migrate skills to .claude/skills, audit fixes
- Delete .mcp.json + .claude/rules/repo-mem.md; drop .repo-mem from .gitignore
- Remove repo-mem / substrate_score / repo_search references from all .md
- Move 15 EVOLV skills from .agents/skills/ to .claude/skills/ so they are
  auto-discovered by the Claude Code harness and invokable via the Skill tool
- Retire .agents/skills/evolv-orchestrator (duplicate of the subagent at
  .claude/agents/evolv-orchestrator.md); orchestrator lives as a subagent only
- Drop OpenAI-format agent yaml metadata from each skill (not needed for CC)
- Update CLAUDE.md, CONTRACTS.md, AGENTS.md to point at the new locations and
  disambiguate skills (.claude/skills/) vs subagents (.claude/agents/)
- Fix CLAUDE.md tick-loop wording (opt-in per-node, not a fixed 1000ms)
- Widen .claude/rules/ paths frontmatter so node-architecture and telemetry
  rules trigger on more relevant files; add frontmatter to flow-layout rule
- Bump CONTRACTS.md review date to 2026-05-19; add step 7 to the contract-
  change workflow (review example flows when topic usage changes)
- Bump nodes/generalFunctions pin (Home.md substrate_score reference removed)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 09:30:49 +02:00

32 lines
1.2 KiB
Markdown

---
paths:
- "nodes/*/src/nodeClass.js"
- "nodes/*/src/specificClass.js"
- "nodes/*/src/output/**"
- "nodes/generalFunctions/src/outputUtils/**"
---
# 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