mirror of
https://github.com/NickoScope/nickol-knx-mcp.git
synced 2026-09-30 03:41:58 +02:00
Validate a project against ITS OWN rules, not a universal standard. With a YAML profile the declared main-group taxonomy / naming / pairing is authoritative; with no profile the taxonomy is INFERRED from the project itself and GAs that deviate from their main group's own majority domain are flagged — never against an alien standard (a well-organised real 356-GA project drops from 329 false mismatches vs the default to 31 genuine self-deviations). Answers the recurring integrator critique that 'your best practices aren't universal'. Example profile + test_policy.py included. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 lines
675 B
YAML
27 lines
675 B
YAML
# nickol-knx Project Policy Profile — your project's rules, not a universal standard.
|
|
# Pass its path to check_policy(profile_path=...). Any key you omit falls back to the default.
|
|
name: "My project policy"
|
|
|
|
# Which functional domain each main group is meant to hold:
|
|
main_groups:
|
|
0: [central, scene]
|
|
1: [lighting]
|
|
2: [shutter]
|
|
3: [hvac]
|
|
4: [sensor]
|
|
5: [energy]
|
|
6: [diagnostics]
|
|
7: [reserve]
|
|
|
|
naming:
|
|
# names must match this regex (omit to skip); e.g. Zone_Function_Role:
|
|
regex: null
|
|
status_suffix: Status
|
|
|
|
pairing:
|
|
require_status_for: [lighting, shutter, hvac]
|
|
exempt: [scene, sensor, central, diagnostics, energy]
|
|
|
|
reserve:
|
|
expect_range: true
|