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
@@ -8,6 +8,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
### Added
|
||||
|
||||
- **Role-aware feedback completeness** (`detect_role_completeness` in `analyze.py`, surfaced through
|
||||
`check_missing_status`). "Does the function have *a* status?" was not enough — a dimmer with an on/off
|
||||
status but no brightness status silently passed and inflated coverage/Matter scores. The new check
|
||||
flags a brightness/position **command** (DPT 5.001) whose device has no matching value **status**
|
||||
(`missing_value_status`), using a device-identity match so it does not borrow a sibling's status.
|
||||
Closes the demo's own documented limitation — recall on the demo house is now 5/5. Raised by an
|
||||
external expert review. `tests/test_role_completeness.py`.
|
||||
|
||||
- **Project Policy Profile** (`policy.py`, new MCP tool `check_policy`). Validate a project
|
||||
against *its own* agreed rules (main-group taxonomy, naming regex, command/status exemptions)
|
||||
instead of one universal "professional standard" — a direct answer to integrator feedback that
|
||||
|
||||
Reference in New Issue
Block a user