Summary
entity_fidelity::whole_home_resolution_is_trustworthy treats the command verbs turn/switch/set/get as benign (they don't pin a request to a place), but NOT the state particles on/off/up/down that pair with them. So a valid whole-home command like "turn on the lights" fails the guard on the stray on token, the whole-home resolution is judged untrustworthy, and resolve_domain_target returns None — the lights never actuate.
Steps to reproduce
Resolve a bare-domain command through the runtime whole-home path (ha::provider::resolve_domain_target → whole_home_resolution_is_trustworthy):
turn on the lights
turn off all the lights
turn on the kitchen lights
Expected
Trustworthy → the command resolves to the light group and actuates. turn is already benign; on/off should be too (they name no place).
Actual
whole_home_resolution_is_trustworthy(home, "turn on the lights") returns false because on is neither a domain word, a benign word, nor a valid place — so the guard rejects a correct resolution and the lights stay unchanged.
Notes
The BENIGN_QUERY_TOKENS list already whitelists the verbs (turn, switch, set, get, status), which shows it's meant to tolerate command-like text — it just misses the on/off/up/down particles. crates/genie-core/src/ha/entity_fidelity.rs. This is real-HA tool-dispatch/actuation correctness.
Hardware
Non-Jetson (x86_64 dev / cross-build host)
GenieClaw version / commit
2ad90f4 (main)
Summary
entity_fidelity::whole_home_resolution_is_trustworthytreats the command verbsturn/switch/set/getas benign (they don't pin a request to a place), but NOT the state particleson/off/up/downthat pair with them. So a valid whole-home command like "turn on the lights" fails the guard on the strayontoken, the whole-home resolution is judged untrustworthy, andresolve_domain_targetreturnsNone— the lights never actuate.Steps to reproduce
Resolve a bare-domain command through the runtime whole-home path (
ha::provider::resolve_domain_target→whole_home_resolution_is_trustworthy):turn on the lightsturn off all the lightsturn on the kitchen lightsExpected
Trustworthy → the command resolves to the light group and actuates.
turnis already benign;on/offshould be too (they name no place).Actual
whole_home_resolution_is_trustworthy(home, "turn on the lights")returnsfalsebecauseonis neither a domain word, a benign word, nor a valid place — so the guard rejects a correct resolution and the lights stay unchanged.Notes
The
BENIGN_QUERY_TOKENSlist already whitelists the verbs (turn,switch,set,get,status), which shows it's meant to tolerate command-like text — it just misses the on/off/up/down particles.crates/genie-core/src/ha/entity_fidelity.rs. This is real-HA tool-dispatch/actuation correctness.Hardware
Non-Jetson (x86_64 dev / cross-build host)
GenieClaw version / commit
2ad90f4 (main)