'Does the function have *a* status' missed a dimmer with on/off status but no
brightness status (demo planted error #3), silently inflating coverage/Matter.
detect_role_completeness flags a brightness/position command (5.001) whose device
has no matching value status (missing_value_status), with a device-identity match
so it doesn't borrow a sibling's status. Demo recall 4/5 -> 5/5. Raised by the
external expert review. Test + demo ground-truth updated. Full suite green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>
Regenerate examples/demo-home/generated/ with the current generator:
13 lights now carry RGBW/RGB/CCT colour, 6 climate zones assembled with
HA-doc-verified keys, sensors fold into climate where applicable.
README updated (entity counts, capability note) and records that the real
ETS6-signed round-trip was validated. Report source path sanitized (relative).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A professional KNX engineer confirmed ETS rejects the programmatically-authored
demo project on import ('Project file has no valid signature') — ETS signs its own
projects and that can't be forged. Document the real-file path: import the GA
export XML into ETS and export from there.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A 5-view sections dashboard (Overview · Climate · Lighting · Energy & Stats ·
Presence) using only built-in cards (tile/gauge/heading/history-graph/markdown/
button + badges), wired to the demo-home brain entities.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A synthetic 239-GA / 47-Function demo .knxproj (ETS6 schema, parseable by
xknxproject) with 5 deliberate mistakes, the tool's generated artifacts
(project report, Home Assistant entities, ETS XML/CSV), and a ha-brain/ smart
layer: circadian lighting, an 8-factor climate setpoint, presence/season/time
state machine and statistics. Whitelist the demo .knxproj past the *.knxproj
gitignore (synthetic, no real topology/secrets).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Design-time MCP server that reads .knxproj (read-only), validates naming/DPT/status,
and generates Home Assistant KNX YAML + ETS-importable group addresses (XML/CSV).
No live bus access — confined-workspace writes only.
Includes: 12 MCP tools, end-to-end smoke test, MIT license, English-first README
(+ Russian), CONTRIBUTING with a real-project test call, SECURITY policy, CHANGELOG,
GitHub Actions CI (Python 3.10–3.12), and issue/PR templates.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>