Skip to content

feat(schedule): Desk/mobile gateway and Hub routes for schedules - #218

Merged
drknowhow merged 3 commits into
mainfrom
feat/scheduled-tasks-surfaces
Oct 13, 2026
Merged

drknowhow merged 3 commits into
mainfrom
feat/scheduled-tasks-surfaces

Conversation

@drknowhow

Copy link
Copy Markdown
Owner

Stacked on #217. Fourth of the Scheduled Tasks series: the surfaces the Desk app, the phone and the Hub UI will call.

  • oracle/services/mobile_api.py: /api/mobile/schedules, /schedules/<id> (GET/PATCH/DELETE), /schedules/<id>/run|enable|disable, /schedules/runs, /schedules/approvals, /schedules/approvals/<id>/decide. Capabilities schedules and schedules_write behind mobile_schedules_enabled / mobile_schedules_write; API_VERSION 6. Every row is filtered to the projects the gateway serves; decided_by is the client kind (mobile / desk).
  • cli/hub_server.py: /api/hub/schedules* over the same files with ?path= filters and project_name on rows, plus /preview and /status (proxies the Oracle, reachable: false when down). The Hub never dispatches; the Oracle's next tick picks a Hub write up.
  • ScheduleStore.request_run(approved=) so a surface without a local scheduler can queue a bypass run.

41 tests.

https://claude.ai/code/session_01JUcvmQq81aLo9ewD9Xc4qY

@groyep

groyep Bot commented Oct 13, 2026

Copy link
Copy Markdown

Gro could not finish this review.

/api/mobile/schedules* (capabilities schedules + schedules_write, API_VERSION
6) and /api/hub/schedules* serve the same operations as the Oracle's blueprint
through their own auth: Bearer per client with rows filtered to registered
projects and decided_by = client kind on mobile; loopback with ?path= filters
and decided_by desktop on the Hub, which also proxies the Oracle's scheduler
status. request_run(approved=) lets a surface without a local scheduler
queue a bypass run. Verified: 41 tests incl. switch 404s and foreign-row 404s.

Claude-Session: https://claude.ai/code/session_01JUcvmQq81aLo9ewD9Xc4qY
@drknowhow
drknowhow changed the base branch from feat/scheduled-tasks-oracle to main October 13, 2026 14:32
@drknowhow
drknowhow force-pushed the feat/scheduled-tasks-surfaces branch from 8ed3ff6 to 0cd0ec4 Compare October 13, 2026 14:32
@drknowhow drknowhow closed this Oct 13, 2026
@drknowhow drknowhow reopened this Oct 13, 2026
@groyep

groyep Bot commented Oct 13, 2026

Copy link
Copy Markdown

Gro could not finish this review.

@drknowhow
drknowhow merged commit 1f2e216 into main Oct 13, 2026
32 of 47 checks passed
@drknowhow
drknowhow deleted the feat/scheduled-tasks-surfaces branch October 13, 2026 15: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