33 lines
923 B
Markdown
33 lines
923 B
Markdown
|
|
---
|
||
|
|
paths:
|
||
|
|
- "nodes/generalFunctions/**"
|
||
|
|
---
|
||
|
|
|
||
|
|
# General Functions Rules
|
||
|
|
|
||
|
|
## Critical: Platform-Wide Impact
|
||
|
|
generalFunctions is shared by ALL 13 nodes. Any change here can break any node.
|
||
|
|
|
||
|
|
## Before Modifying
|
||
|
|
1. Identify which module(s) you're changing
|
||
|
|
2. Search for imports across all `nodes/*/src/` directories
|
||
|
|
3. List all consuming nodes
|
||
|
|
4. Verify backward compatibility
|
||
|
|
|
||
|
|
## Export Stability
|
||
|
|
- Never remove or rename exports without checking all consumers
|
||
|
|
- Prefer additive changes (new exports) over breaking changes
|
||
|
|
- If a breaking change is necessary, it requires a decision-gate interview
|
||
|
|
|
||
|
|
## Canonical Units
|
||
|
|
MeasurementContainer and internal processing use canonical units:
|
||
|
|
- Pressure: Pa
|
||
|
|
- Flow: m³/s
|
||
|
|
- Power: W
|
||
|
|
- Temperature: K
|
||
|
|
|
||
|
|
Unit conversions happen at system boundaries (input/output), not in core logic.
|
||
|
|
|
||
|
|
## Testing After Changes
|
||
|
|
Run tests in ALL affected consumer nodes, not just generalFunctions itself.
|