Skip to content

Manage local Goose schedules from Berd - #245

Open
NickTitle wants to merge 1 commit into
mainfrom
nesposito/live-schedule-control-block
Open

Manage local Goose schedules from Berd#245
NickTitle wants to merge 1 commit into
mainfrom
nesposito/live-schedule-control-block

Conversation

@NickTitle

Copy link
Copy Markdown
Contributor

Summary

  • show local Goose schedules in Berd's Automations view
  • pause, resume, stop active runs, and remove schedules through the live embedded scheduler
  • expose the same controls as berdctl schedule commands
  • require explicit confirmation for CLI schedule removal

Why

Berd starts a long-lived goosed --enable-scheduler process, but local Goose schedules were invisible in Berd and could only be managed with a separate goose schedule CLI process. That creates split scheduler state: an out-of-process removal can update schedule.json while the embedded scheduler still holds the job in memory, allowing a later status write to restore the deleted job.

This change routes user and agent controls through Berd's live ACP client, so they operate on the scheduler instance that actually owns and runs the jobs.

User-visible behavior

The Automations overview now has a Local schedules section. Each job shows its cron and running/paused state, with actions to:

  • pause or resume future runs
  • stop the active run without removing the schedule
  • remove the schedule registration after confirmation (the saved recipe file is kept)

Agents get matching commands:

berdctl schedule list
berdctl schedule pause --schedule-id <id>
berdctl schedule unpause --schedule-id <id>
berdctl schedule kill --schedule-id <id>
berdctl schedule remove --schedule-id <id> --confirm

Validation

  • just check
  • just test — 6,000+ frontend tests pass
  • cargo test -p berdctl — 52 passed, 1 ignored
  • pre-push fmt-check, check, tauri-check, and clippy all pass

Architectural laws

Read LAWS/README.md, LAWS/AGENTS.md, and LAWS/CHAT.md. This change does not alter agent invocation or composer queue behavior. The UI and CLI operate on the same live schedule state.

@NickTitle
NickTitle requested a review from a team August 28, 2026 14:51
@NickTitle
NickTitle force-pushed the nesposito/live-schedule-control-block branch 3 times, most recently from 4851df0 to 4731727 Compare August 28, 2026 15:53
Co-authored-by: Goose <opensource@block.xyz>
@NickTitle
NickTitle force-pushed the nesposito/live-schedule-control-block branch from 4731727 to 8051b23 Compare August 28, 2026 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant