mirror of
https://github.com/NickoScope/nickol-knx-mcp.git
synced 2026-09-29 19:31:12 +02:00
Add the Room Template Library core: the public YAML template contract (schema_version, locale-neutral semantic slot_id, ru/en labels, per-slot basic/comfort presets, area_m2 as a provenance-tagged hint) with 6 built-in rooms (bedroom, children, living, kitchen, bathroom, corridor) + SCHEMA.md. room_library.py implements a function-first pipeline: templates+params -> resolved IR dataclasses (NOT GARecord) -> deterministic, permutation-invariant allocation (main=domain, middle=role, sub sequential; hard error on sub exhaustion) -> a real .knxproj ZIP that is re-read via load_project (same path as third-party projects, so generation never touches the classifier). Includes validate_room_template, compose(), manifest + device BOM proposal builders. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>