mirror of
https://github.com/NickoScope/nickol-knx-mcp.git
synced 2026-09-29 19:31:12 +02:00
feat(P2): role-aware feedback completeness — catch a value command with no value status
'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>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
c53f388dcb
commit
5036a19b4b
@@ -30,14 +30,15 @@ flagged in `generated/project_report.md`:
|
||||
|---|---|---|
|
||||
| 1 | A group address with **no DPT** (`Living room CO2`, 4/2/1) | ✅ `check_dpt` 🔴 |
|
||||
| 2 | Two GAs with the **same name, different DPT** (`Kitchen temperature`) | ✅ `check_dpt` |
|
||||
| 3 | A dimmer with an on/off status but **no brightness status** (`Kitchen worktop LED`) | ⚠️ not flagged* |
|
||||
| 3 | A dimmer with an on/off status but **no brightness status** (`Kitchen worktop LED`) | ✅ `check_missing_status` (`missing_value_status`)* |
|
||||
| 4 | A switch with **no status** at all (`Guest WC ceiling`) | ✅ `check_missing_status` |
|
||||
| 5 | A GA with an **empty name** (`2/5/2`) | ✅ `check_naming` 🔴 |
|
||||
|
||||
\* **Honest limitation surfaced by this very demo:** the missing-status check currently asks
|
||||
"does this control have *a* status?", not "does it have *each expected* status type?". The Kitchen
|
||||
dimmer has an on/off status, so it isn't flagged for its missing brightness status. Tracked for a
|
||||
future release.
|
||||
\* **Now fixed (role-aware feedback completeness).** This demo originally surfaced an honest
|
||||
limitation — the missing-status check asked "does this control have *a* status?", so the Kitchen
|
||||
dimmer's on/off status masked its missing brightness status. `detect_role_completeness` now flags a
|
||||
brightness/position **command** (5.001) that has no matching value **status** (`missing_value_status`),
|
||||
without borrowing a sibling device's status. Recall on this demo is now 5/5.
|
||||
|
||||
Inventory: 239 GAs · 47 Functions · 0 errors that block parsing. The HA generator produced
|
||||
**19 switches, 13 lights (incl. RGBW / RGB / CCT colour), 6 covers, 6 climate zones, 13 binary
|
||||
|
||||
Reference in New Issue
Block a user