feat(control): wave 3 — sprinklers, speed control, variable delete/move - #30
Merged
Conversation
tools/irrigation_speed.py: 7 sprinkler tools (run zone / run schedule with per-zone minutes / stop / pause / resume / next / previous zone), 4 speed-control tools (set index, set 0-100 level, increase/decrease), plus variable_delete (with check-dependencies warning in the description) and variable_move_to_folder. 53 -> 66 tools. Closes #27. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYAGXd4bE9D9Z5kZeSHeo7
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Unknown-argument rejection on all 31 new handlers: a misspelled optional key (delay_seconds, zone_index) now raises naming the valid args instead of being silently dropped and firing the command immediately with a misleading ok. - Integral JSON floats (5.0) coerce for integer args everywhere via shared _coerce_int; fractional floats still rejected. - Bad ids on mutating tools (trigger/schedule enable+execute, sprinkler_*, speedcontrol_*, variable_delete/move) pre-validate existence -> friendly isError result instead of -32603 back-off. - device_lock/unlock return status=dispatched with a verify-via- on_state note (async dispatch was overstating success — safety- relevant for locks). device_status_request no longer suppresses the hardware response log and notes the refresh is async. - device_ping guards unexpected/None results with a descriptive error instead of KeyError -> -32603. - Description accuracy: sprinkler zone max-duration caveat; speed index range clarified as 0..speedIndexCount-1. - 349 tests (13 new): wire-path dispatch through real MCPHandler for each new module, float coercion, unknown-arg, bad-id, pagination edge, missing-enabled cases. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYAGXd4bE9D9Z5kZeSHeo7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #27. Stacked on #29 (which stacks on #28) — merge in order, retarget before deleting base branches.
sprinkler_run_zone(1-basedsetActiveZone),sprinkler_run_schedule(per-zone minutes list),stop/pause/resume/next_zone/previous_zonespeedcontrol_set_index(0=off..N),speedcontrol_set_level(0-100),increase/decreasewith optionalbyvariable_delete(PERMANENT warning + check-dependencies guidance in description) andvariable_move_to_folderCompletes the control-function wave from the 2026-07-22 gap audit (issues #25/#26/#27).
🤖 Generated with Claude Code
https://claude.ai/code/session_01EYAGXd4bE9D9Z5kZeSHeo7