Skip to content

docs: propose an external Automations dispatch backend - #5

Open
amittell wants to merge 1 commit into
openclaw:mainfrom
amittell:rfc/pluggable-scheduler
Open

docs: propose an external Automations dispatch backend#5
amittell wants to merge 1 commit into
openclaw:mainfrom
amittell:rfc/pluggable-scheduler

Conversation

@amittell

@amittell amittell commented Jun 1, 2026

Copy link
Copy Markdown

Related: #59

What Problem This Solves

OpenClaw already owns canonical Automations jobs and history, but an operator who needs compatible scheduled shell work to continue while the Gateway is unavailable has no bounded plugin contract for external dispatch without maintaining a separate public catalog and risking duplicate execution.

This RFC asks whether recurring demand justifies a narrow per-job dispatch-and-receipt seam while OpenClaw remains the sole public owner.

Why This Change Was Made

The proposal is rebased and rewritten against the audited OpenClaw Automations and Plugin SDK snapshot cited below. V1 is limited to shell/command cron and at jobs; agent turns and system events stay built-in because canonical model, provider, token-usage, session, and task facts cannot come from a backend-authored receipt. Shared SQLite remains authoritative for job specifications, ownership, identifiers, admission, list/get/runs/history, and lifecycle.

RFC #59's phase-one deadline projection remains a separate host-compute contract. Any future scheduleOnly external-action phase must converge on this RFC's owner, admission, fencing, receipt, and history contract instead of creating a parallel plugin API.

User Impact

No shipped behavior changes: this is still a draft RFC. If maintainers later accept and implement it, operators would opt in per compatible shell/command job through a surfaced onboarding and enablement path. Installing a plugin alone would change nothing.

Evidence

  • RFC delta: one 398-line RFC in one commit rebased onto openclaw/rfcs@af708f0ddb6f42cc4f4bc5499889cdc6889aef58.
  • Audited OpenClaw snapshot: openclaw/openclaw@e1a700840a76d0b852503d2b0dee6ae4f60a7ea8 (shared-SQLite Automations ownership, current run telemetry, execution-generation and timer fencing, and Plugin SDK/manifest surfaces).
  • Related-contract audit: RFC PR #59 phase one projects deadlines for host compute activation while OpenClaw executes; a future scheduleOnly external owner must converge on one dispatch-and-receipt contract.
  • Reference-project audit: amittell/openclaw-scheduler@e095d897424ac83ee4534ea298b98e2cf7c3d29f / package 0.5.2 (cron/at and shell execution capabilities; no conforming OpenClaw plugin adapter yet).
  • Validation: git diff --check passes; frontmatter and all seven required top-level sections match the current template; Summary is one paragraph; no trailing whitespace or stale v1 agent/system-event execution path remains; all three RFC links return HTTP 200.
  • Exact published head: dc1519a51b4e6221af6c40e48ca7013ec45ac5a0.

Unmet gates are intentionally explicit:

  • the required maintainer-discussion Discord thread is not evidenced here;
  • recurring independent demand has not yet been linked;
  • the named candidate reference provider has not yet shipped a conforming adapter;
  • the concrete onboarding and per-job enablement implementation is not yet available;
  • issue remains blank because no implementation issue exists; and
  • maintainer acceptance, narrowing, or decline is still required, so RFC frontmatter remains status: draft;
  • the latest exact-head ClawSweeper review found no actionable issue and confirms that the draft stays unmerged until discussion, independent demand, a conforming adapter, onboarding, an implementation issue, and maintainer acceptance are linked; and
  • this reviewed RFC head stays on its frozen publication base while those gates are open; refresh it once only after maintainers decide to advance it.

@clawsweeper

clawsweeper Bot commented Jun 1, 2026

Copy link
Copy Markdown

Codex review: needs real behavior proof before merge. Reviewed August 25, 2026, 12:19 AM ET / 04:19 UTC.

ClawSweeper review

What this changes

Adds a 398-line draft RFC proposing opt-in external dispatch for compatible shell and command Automations while OpenClaw retains canonical job and run history.

Merge readiness

⚠️ Ready for maintainer review - 5 items remain

Keep open as a draft RFC: it proposes a new permanent Automations/plugin contract, and both the repository lifecycle and the RFC itself require maintainer acceptance before merge.

Priority: P3
Reviewed head: dc1519a51b4e6221af6c40e48ca7013ec45ac5a0
Owner decision: Required. See Decision needed.

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) The RFC is internally consistent with the current lifecycle, but intentionally awaits a maintainer product decision.
Proof confidence 🌊 off-meta tidepool Not applicable: This RFC changes design documentation only; real behavior proof belongs to any later runtime implementation PR.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Not applicable Not applicable: This RFC changes design documentation only; real behavior proof belongs to any later runtime implementation PR.
Evidence reviewed 5 items Current RFC lifecycle: Current main says draft RFCs should not merge, requires a maintainer-discussion thread, and requires an accepted status plus implementation issue before merge.
Draft correctly records unresolved acceptance: The RFC is marked draft with no implementation issue, and explicitly says it must not merge until demand, provider work, onboarding, and maintainer confirmation are linked.
New plugin API and configuration surface: The proposal adds a dispatch-backend manifest declaration, registration API, and future per-job selection flag, so this is product/API direction rather than an existing-behavior repair.
Findings None None.
Security None None.

How this fits together

Automations owns the public job catalog and canonical run history. The proposed plugin seam would send a selected compatible job to an external dispatcher and ingest bounded receipts back into that canonical history.

flowchart LR
  A[Operator selects a compatible job] --> B[OpenClaw Automations catalog]
  B --> C{Dispatch choice}
  C -->|Built-in| D[Built-in scheduler]
  C -->|External| E[Plugin dispatch backend]
  E --> F[Receipt validation and canonical history]
  D --> F
Loading

Decision needed

Question Recommendation
Should OpenClaw sponsor a permanent per-job external-dispatch plugin seam, or retain public Gateway APIs as the supported boundary for external schedulers? Keep the RFC draft: Do not merge until a maintainer discussion, independent demand, conforming provider, onboarding plan, and implementation issue satisfy the documented gates.

Why: The proposed manifest, registration API, selection flag, and external execution authority are new product contracts; source review cannot establish recurring demand or select the permanent boundary.

Before merge

  • Add real behavior proof - Not applicable: This RFC changes design documentation only; real behavior proof belongs to any later runtime implementation PR.
  • Resolve merge risk (P1) - Merging would establish direction for a compatibility-sensitive plugin API before maintainers have confirmed recurring demand, a conforming provider, onboarding, and the required lifecycle discussion.
  • Resolve merge risk (P1) - The proposed external dispatcher can execute shell work and ingest receipts across an authority boundary; implementation must prove the documented admission, fencing, receipt-validation, and no-duplicate-execution invariants.
  • Complete next step (P2) - A maintainer must decide whether the new external-dispatch API should exist before any implementation work is appropriate.
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
RFC scope 1 RFC file added, 398 lines The entire change is a design contract, so acceptance quality depends on the documented lifecycle and product decision rather than runtime validation.

Merge-risk options

Maintainer options:

  1. Complete the RFC acceptance gates first (recommended)
    Keep this draft unmerged until the required discussion, demand evidence, provider work, onboarding path, and implementation issue are available.
  2. Decline the new seam
    Retain public Gateway APIs as the external-scheduler boundary if maintainers do not want a permanent dispatch API.

Technical review

Best possible solution:

Keep external schedulers on the supported Gateway API unless a maintainer sponsors this bounded seam; sponsorship should create the required discussion and implementation issue before acceptance.

Do we have a high-confidence way to reproduce the issue?

Not applicable: this is a design-only RFC, not a report of failing current behavior.

Is this the best way to solve the issue?

Unclear: the proposal narrowly describes safeguards, but deciding that a permanent core seam is better than existing Gateway APIs requires maintainer product judgment and demand evidence.

AGENTS.md: not found in the target repository.

Codex review notes: model internal, reasoning high; reviewed against af708f0ddb6f.

Labels

Label justifications:

  • P3: This is a speculative design proposal with no shipped user-facing change.
  • merge-risk: 🚨 compatibility: The RFC proposes a new plugin registration and per-job dispatch contract that would become an upgrade-sensitive public surface if accepted.
  • merge-risk: 🚨 security-boundary: The proposed future seam delegates shell execution and accepts backend receipts, requiring final implementation proof of authorization and fencing.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🌊 off-meta tidepool and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Not applicable: This RFC changes design documentation only; real behavior proof belongs to any later runtime implementation PR.

Evidence

What I checked:

Likely related people:

  • kevinlin-openai: Authored the current RFC-process update that defines the draft, discussion, acceptance, and implementation-issue lifecycle applicable here. (role: RFC lifecycle author; confidence: high; commits: e366ea9825a4; files: README.md, rfcs/0000-template.md)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Obtain maintainer direction and the required maintainer-discussion thread before attempting acceptance.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
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.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

History

Review history (14 earlier review cycles; latest 8 shown)
  • reviewed 2026-07-30T14:35:34.593Z sha d17aeea :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-31T17:58:04.466Z sha d17aeea :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-31T19:47:01.455Z sha d17aeea :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-01T15:20:31.008Z sha d17aeea :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-01T20:36:01.625Z sha d17aeea :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-24T01:07:33.835Z sha 8b2b699 :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-24T19:10:06.577Z sha dc1519a :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-24T20:49:07.187Z sha dc1519a :: needs real behavior proof before merge. :: none

@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Jun 1, 2026
@amittell
amittell force-pushed the rfc/pluggable-scheduler branch from a19ebba to 445b1f8 Compare June 2, 2026 00:18
@amittell

amittell commented Jun 2, 2026

Copy link
Copy Markdown
Author

@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.

@clawsweeper

clawsweeper Bot commented Jun 2, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. and removed rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. labels Jun 2, 2026
@amittell amittell changed the title RFC 0006: Pluggable scheduler seam in gateway RFC 0007: Pluggable scheduler seam in gateway Jun 3, 2026
@amittell

amittell commented Jun 3, 2026

Copy link
Copy Markdown
Author

@clawsweeper re-review

Addressed P1: renumbered to rfcs/0007-pluggable-scheduler.md in commit 6257777 to resolve the id collision with rfcs/0006-feeds.md on main. The in-document rfcs/0006/ asset reference is also updated to rfcs/0007/. PR title updated to match.

P2 (plugin contract / maintainer signoff) is by-design — that's the RFC purpose, not a code issue.

@clawsweeper

clawsweeper Bot commented Jun 3, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. labels Jun 3, 2026
@amittell

amittell commented Jun 3, 2026

Copy link
Copy Markdown
Author

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 Label from the OpenClaw gateway, with a multi-day uptime, talking to the gateway only through the public HTTP / WebSocket surface (no shared in-process code).

$ ssh user@gateway-host 'launchctl print "gui/$(id -u)/ai.openclaw.scheduler" | grep -E "state|pid =|program ="'
        state = running
        program = /usr/bin/caffeinate
        pid = <scheduler-pid>
                state = active
                state = active

$ ssh user@gateway-host 'ps -eo pid,etime,command | grep -E "openclaw-scheduler/(dispatcher|inbox-consumer)" | grep -v grep'
<pid> 01-00:17:34 /opt/homebrew/bin/node --no-warnings ~/.openclaw/packages/openclaw-scheduler/node_modules/openclaw-scheduler/dispatcher.js
<pid> 01-00:17:34 /usr/bin/caffeinate -i /opt/homebrew/bin/node --no-warnings ~/.openclaw/packages/openclaw-scheduler/node_modules/openclaw-scheduler/dispatcher.js

$ ssh user@second-gateway-host 'launchctl print "gui/$(id -u)/ai.openclaw.scheduler" | grep -E "state|pid =|program ="'
        state = running
        program = /usr/bin/caffeinate
        pid = <scheduler-pid>
                state = active
                state = active

Observed:

  • Two distinct gateways each run a separate ai.openclaw.scheduler launchd service alongside their ai.openclaw.gateway service.
  • The dispatcher process is the published openclaw-scheduler npm package (packages/openclaw-scheduler/...dispatcher.js), running as a peer service, not in-process code.
  • Uptime on the captured host is 1 day 17 minutes (multi-day continuous operation).
  • The scheduler integrates with the gateway only through HTTP/WebSocket — there is no shared in-process code path — which is the exact pattern the RFC proposes formalizing through the plugin-SDK seam.

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 gateway status, hooks, and transcript mirroring; today they have to bridge through the public HTTP cron surface.

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.

amittell commented Jun 8, 2026

Copy link
Copy Markdown
Author

@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.

@clawsweeper

clawsweeper Bot commented Jun 8, 2026

Copy link
Copy Markdown

🦞👀
ClawSweeper picked this up.

Command router queued. I will update this comment with the next step.

Re-review progress:

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jun 8, 2026
@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. labels Jun 30, 2026
@amittell amittell changed the title RFC 0010: Pluggable scheduler seam in gateway RFC 0014: Pluggable scheduler seam in gateway Jun 30, 2026
@amittell

Copy link
Copy Markdown
Author

@clawsweeper re-review

Updated in baff8c1: renumbered the pluggable scheduler RFC to the open 0014 slot, updated the sidecar reference and PR metadata, and added an explicit Acceptance Gates section covering implementation issue metadata, explicit config opt-in, built-in Cron fallback proof, and scheduler run-state validation/trust-boundary proof. Please re-review against the current head.

@clawsweeper

clawsweeper Bot commented Jun 30, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. labels Jun 30, 2026
Copilot AI review requested due to automatic review settings July 8, 2026 04:12
@amittell

amittell commented Jul 8, 2026

Copy link
Copy Markdown
Author

@clawsweeper re-review

Updated in d17aeea: the Unresolved questions section no longer restates the two contract questions that baff8c1 already folded into the Acceptance gates section (implementation issue before merge; explicit config opt-in). It now tracks only the genuinely deferred follow-up items: hot ownership handoff, direct-HTTP doctor migration, and job-grade-durability heartbeats. last_updated bumped to 2026-07-08. Please re-review against the current head.

@clawsweeper

clawsweeper Bot commented Jul 8, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces RFC 0014, proposing a plugin-SDK seam that allows an external scheduler plugin to own scheduled-job dispatch while the gateway retains responsibility for heartbeats and run-state surfacing.

Changes:

  • Adds an RFC defining scheduler plugin discovery (owns: "scheduled-jobs") and startup-time ownership behavior.
  • Specifies a scheduler runtime interface (registerScheduledJob, cancelScheduledJob, listScheduledJobs) for routing cron.* job operations.
  • Defines run-state lifecycle event ingestion (onStart, onComplete, onError) plus trust-boundary validation requirements and acceptance gates.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread rfcs/0014-pluggable-scheduler.md Outdated
@clawsweeper clawsweeper Bot added rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Jul 8, 2026
@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. and removed proof: sufficient Contributor real behavior proof is sufficient. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. labels Jul 29, 2026
@amittell
amittell force-pushed the rfc/pluggable-scheduler branch from d17aeea to 8b2b699 Compare August 24, 2026 01:04
@amittell amittell changed the title RFC 0014: Pluggable scheduler seam in gateway docs: propose an external Automations dispatch backend Aug 24, 2026
@amittell

Copy link
Copy Markdown
Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Aug 24, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event exact_review_queue).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@amittell
amittell force-pushed the rfc/pluggable-scheduler branch from 8b2b699 to dc1519a Compare August 24, 2026 19:05
@amittell

Copy link
Copy Markdown
Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Aug 24, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event exact_review_queue).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature: ✨ showcase ClawSweeper spotlight: unusually compelling feature idea for maintainer attention. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. merge-risk: 🚨 security-boundary 🚨 Merging this PR could weaken sandboxing, authorization, credentials, or sensitive data. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants