RFC 0007: Pluggable scheduler seam in gateway#5
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 9, 2026, 4:56 PM ET / 20:56 UTC. Summary Reproducibility: not applicable. this is a design RFC, not a bug report. The relevant proof is the contributor's live deployment output for the external scheduler, not a current-main failure path. Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Keep the RFC open as a draft until maintainers choose the scheduler plugin contract, then merge only after the RFC is accepted, linked to an implementation issue, and leaves built-in cron compatibility as the default path. Do we have a high-confidence way to reproduce the issue? Not applicable; this is a design RFC, not a bug report. The relevant proof is the contributor's live deployment output for the external scheduler, not a current-main failure path. Is this the best way to solve the issue? Unclear until maintainer review completes. The proposal is narrow and preserves built-in cron by default, but the ownership token, fallback semantics, and runtime methods are product/API decisions. AGENTS.md: not found in the target repository. Codex review notes: model gpt-5.5, reasoning high; reviewed against e938e93198f4. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
a19ebba to
445b1f8
Compare
|
@clawsweeper re-review The previous review at 2026-06-01T02:55Z failed before completion ('Review failed before ClawSweeper could summarize the requested change'). Asking for a fresh attempt. |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
ClawSweeper P1 review finding: rfcs/0006-feeds.md already exists on main, so this proposal's id collides. Rename to rfcs/0007-pluggable-scheduler.md and update the in-document rfcs/0007/ asset reference. PR title separately updated via gh pr edit.
|
@clawsweeper re-review Addressed P1: renumbered to P2 (plugin contract / maintainer signoff) is by-design — that's the RFC purpose, not a code issue. |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
On the "claimed external scheduler deployment" P1 proof gap: Captured live deployment evidence from both gateways the RFC references. Both hosts are launchd-supervised; openclaw-scheduler runs as a separate service under a separate Observed:
This is the consumer-side artifact the RFC's "existence proof" claim refers to. The RFC's purpose is to give that already-shipping out-of-process scheduler a first-class plugin-SDK seam so its scheduled runs surface in On P1 #1 ("blesses new plugin kind / future migration concern"): that's the explicit RFC purpose. The proposal is intentionally additive — built-in cron stays the default; the plugin kind only engages when an external scheduler plugin registers itself. On P1 #3 ("API-design questions intentionally open"): all four open questions in the RFC are flagged in an "Unresolved questions" section so a maintainer decision can land before any implementation follows. That's the correct shape for an RFC discussion vehicle, not a blocker on the proposal itself. |
|
@clawsweeper re-review The requested redacted live deployment proof was added in #5 (comment). Please re-review against the current PR head and the added proof. |
|
🦞👀 Command router queued. I will update this comment with the next step. Re-review progress:
|
ClawSweeper P2 rank-up move on openclaw#5. Aligns frontmatter with the lifecycle metadata expectation called out in the review; also bumps last_updated to match the change date.
|
Status update (2026-06-09): pushed
status: draft
issue:per the 2026-06-07 review. The maintainer questions on the plugin contract (ownership token, fallback semantics, runtime API shape) are still open by design for an RFC; will respond inline as soon as a maintainer indicates a direction. @clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
This RFC proposes a narrow plugin-SDK seam that lets an external scheduler plugin own scheduled-job dispatch while the gateway keeps owning heartbeats and run-state ingestion. The built-in cron stays the default; when a
schedulerplugin declaresowns: "scheduled-jobs", the gateway disables its in-process cron at startup and routes job registration through the plugin runtime.Why this RFC
Operators with workflows that need durability, retries, approvals, multi-step chains, or full run history reach for external schedulers (notably
openclaw-scheduler, a SQLite-backed sibling service). Today those tools can only talk to the gateway through the public HTTP surface and cannot register scheduled work that the gateway considers first-class. The seam proposed here would let the same external runtime become the canonical scheduler so its runs surface ingateway status, hooks, and transcript mirroring.Scope
registerScheduledJob,cancelScheduledJob,listScheduledJobs.owns: "scheduled-jobs"onkind: schedulermanifests.onStart,onComplete,onError.Existence proof
The consumer side is already running.
openclaw-schedulerhas been deployed on two gateways (mac-mini.lanandrh-bot.lan) for several weeks, talking to OpenClaw only through the public HTTP surface. The skill is listed on ClawHub asdurable-scheduler@1.0.0. What's missing is the seam.If the shape proposed here is accepted, I'll carry the reference implementation as a follow-up PR against
openclaw/openclaw. Drafting it now without an accepted seam shape would mean rewriting it against whatever the final contract looks like, which is why I'm leading with the RFC.Notes
rfcs/0006/in a follow-up revision once the seam shape is settled.