Description:
If the contract says is_active = false, the backend must send the 'OFF' command to the physical device via MQTT.
Acceptance Criteria:
[ ] Poll contract state every minute.
[ ] Logic: If !isActive AND deviceState == ON -> Publish CMD_OFF.
[ ] Log enforcement actions.
Priority: Critical
Labels: automation, safety
Description:
If the contract says is_active = false, the backend must send the 'OFF' command to the physical device via MQTT.
Acceptance Criteria:
[ ] Poll contract state every minute.
[ ] Logic: If !isActive AND deviceState == ON -> Publish CMD_OFF.
[ ] Log enforcement actions.
Priority: Critical
Labels: automation, safety