-
Notifications
You must be signed in to change notification settings - Fork 3
plat 506
PLAT-506 — The schedule override force=true was rejected by update_step, so a plan repair during a running schedule could never be approved
| Coordination | Value |
|---|---|
| State | fixed on main; needs a restart |
| Date | 2026-10-05 |
| Owner | step-execution |
salesoutreach chat, 14:56 (and jobsearch, 14:51): update_step rejected a repair twice. With force=true: invalid update_step arguments: jsonschema validation failed ... additional properties 'force' not allowed,
although the tool's API spec lists force. Without it: schedule_running (a schedule is active on the workflow, so plan edits are blocked until the user approves a concurrent change).
GuardScheduleTools adds force to the exposed schema of guarded tools and lets the call through when the guard check accepts it, but passed the arguments, force included, to the real tool. update_step
(the consolidated plan tool) validates its arguments strictly against a schema that does not know force and rejected them. So the documented override could never run for it. The schedule_running block
itself is correct.
- The guard removes
forcebefore calling the real tool, unless the tool declares its ownforceparameter (which it keeps). - Test
TestScheduleOverrideReachesTheRealUpdateStepdrives the realupdate_step: blocked withoutforce, applied with it. It fails on the old code with the exact error above.
- The chats that hit this still hold the repair; after a restart and the user's approval,
update_stepwithforce=trueshould apply. Not retried live. - The guard still stops plan edits for the whole time a schedule runs (by design); long scheduled runs leave a long window where a Builder fix needs the override.
Auto-synced from docs/ on main. Edit there, not here.