惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

AI
AI
Cloudbric
Cloudbric
Schneier on Security
Schneier on Security
V2EX - 技术
V2EX - 技术
N
News and Events Feed by Topic
Hacker News: Ask HN
Hacker News: Ask HN
L
LINUX DO - 最新话题
V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
W
WeLiveSecurity
博客园 - 司徒正美
Jina AI
Jina AI
S
Secure Thoughts
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园 - 三生石上(FineUI控件)
The Last Watchdog
The Last Watchdog
S
Security @ Cisco Blogs
S
SegmentFault 最新的问题
Attack and Defense Labs
Attack and Defense Labs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
SecWiki News
SecWiki News
Google DeepMind News
Google DeepMind News
T
Troy Hunt's Blog
H
Heimdal Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
News and Events Feed by Topic
雷峰网
雷峰网
Last Week in AI
Last Week in AI
IT之家
IT之家
Project Zero
Project Zero
O
OpenAI News
腾讯CDC
The Hacker News
The Hacker News
L
Lohrmann on Cybersecurity
T
Tenable Blog
博客园_首页
C
Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
S
Schneier on Security
Scott Helme
Scott Helme
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
人人都是产品经理
人人都是产品经理
P
Privacy International News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4 test: trim doctor command hotspots · openclaw/openclaw@c66f16a test: isolate agent auth and spawn hotspots · openclaw/openclaw@9285935 test: stabilize MCP startup disposal race · openclaw/openclaw@dd9d2eb test: merge browser contract server suites · openclaw/openclaw@5817a76 test: narrow ollama provider discovery setup · openclaw/openclaw@a0d9598 build: declare qa-lab aimock runtime dependency · openclaw/openclaw@24431e5 test: speed up safe-bins exec harness · openclaw/openclaw@ee856ab test: preserve tool helpers in embedded runner mocks · openclaw/openclaw@acd86a0 refactor: move memory embeddings into provider plugins · openclaw/openclaw@77e6e4c test: reuse system-run temp fixtures · openclaw/openclaw@7e9ff0f test: trim hotspot wait overhead · openclaw/openclaw@12a59b0 Check: avoid duplicate boundary prep · openclaw/openclaw@baf11b8 test: reduce hotspot fixture overhead · openclaw/openclaw@3a59edd feat(ui): overhaul settings and slash command UX (#67819) thanks @Bun… · openclaw/openclaw@2cfb660 QA Matrix: exit cleanly on failure · openclaw/openclaw@42805d2 QA Matrix: isolate scenario coverage · openclaw/openclaw@7e659e1 Matrix: refresh crypto bootstrap state · openclaw/openclaw@94081d8 QA Lab: add provider registry · openclaw/openclaw@bb7e982 Matrix: add plugin changelog · openclaw/openclaw@4acab55 test: trim more hotspot overhead · openclaw/openclaw@f485311 test: trim remaining hotspot tests · openclaw/openclaw@6ba8626 test: narrow hotspot mocks · openclaw/openclaw@dbc8179 test: isolate gemini embedding request helpers · openclaw/openclaw@cd330f5 test: trim memory and mcp hotspots · openclaw/openclaw@fd48dfa test: slim provider registry mocks · openclaw/openclaw@2e08c77 test: harden Parallels update smoke · openclaw/openclaw@1a98090 feat: default Anthropic to Opus 4.7 · openclaw/openclaw@628b454 fix: harden node-host shell payload mutability checks · openclaw/openclaw@75c551e fix: land node-host approval binding for native binaries (#66731) (th… · openclaw/openclaw@29919bb CI: add daily schedule to CodeQL workflow (#67645) · openclaw/openclaw@69d25f5 fix(gateway): capture config hash after plugin auto-enable to prevent… · openclaw/openclaw@8c11210 fix: repair sanitized replay tool results before send (#67620) (thank… · openclaw/openclaw@c3c7a99 fix: restrict HTML timeout short-circuit to transient statuses · openclaw/openclaw@de129a6 fix: keep TUI watchdog bound to active run (#67401) (thanks @xantorres) · openclaw/openclaw@3525273 Gateway/skills: dedupe skills prefix-match + drop dead fallback on log · openclaw/openclaw@d7f489f Extensions/lmstudio: back off inference preload after consecutive fai… · openclaw/openclaw@b555214 TUI/streaming: add watchdog that resets the activity indicator after … · openclaw/openclaw@f44ab20 Agents/tool-loop: enable unknown-tool stream guard by default · openclaw/openclaw@36ed367 Gateway/skills: invalidate session skills snapshot on config write · openclaw/openclaw@b23d59a fix: classify HTML provider error pages correctly (#67642) (thanks @s… · openclaw/openclaw@e588e90 fix(skills): remove unused model-usage import (#67641) · openclaw/openclaw@55f05df docs(changelog): credit codex fix superseded PRs · openclaw/openclaw@e485f24 fix(openai-codex): normalize stale transport metadata in resolution a… · openclaw/openclaw@90801ba CI: pin Docker-related GitHub Actions (#67632) · openclaw/openclaw@f697b01 Android: modernize WebView and discovery API usage (#67627) · openclaw/openclaw@44a6e50 fix(deps): bump hono to 4.12.14 and @hono/node-server to 1.19.14 (GHS… · openclaw/openclaw@fbccc18 fix(deps): bump dompurify to 3.4.0 (#67614) · openclaw/openclaw@2c2dc00 CI: add explicit permissions to all workflow jobs (fixes code-scannin… · openclaw/openclaw@01b7516 fix: register bundled TTS providers and route overrides correctly (#6… · openclaw/openclaw@6ea3cdd fix: align host tilde paths with OS home (#62804) (thanks @stainlu) · openclaw/openclaw@ecfaf64 fix: flush creds queue before reconnect socket open (#67464) (thanks … · openclaw/openclaw@405c63f fix: strip standalone <function> tool call tags from visible text (#6… · openclaw/openclaw@78df859 fix(agents): preserve cli session metadata before transcript persist … · openclaw/openclaw@898fd04 docs(changelog): move cli transcript entry · openclaw/openclaw@c1817c6 fix(agents): normalize cli transcript api field · openclaw/openclaw@3a3fae0 docs(changelog): note cli transcript persistence · openclaw/openclaw@6c343f1 fix(agents): persist cli transcript turns · openclaw/openclaw@b8ef507 fix(msteams): harden security-sensitive flows (#65841) · openclaw/openclaw@c56b56e [Dashboard] Fix exec approval modal overflow for long command content… · openclaw/openclaw@053c5b0 Docs: remove QA changelog entry · openclaw/openclaw@7fd5771 QA: fix private runtime source loading (#67428) · openclaw/openclaw@d5933af docs(gateway): correct protocol.md schema path, hello-ok example, aut… · openclaw/openclaw@489404d CI: pin Node 22 runners to 22.18.0 · openclaw/openclaw@4ffa621 models.authStatus: normalize provider ids + tighten env-backed escape… · openclaw/openclaw@f2fdb9d Update CHANGELOG.md · openclaw/openclaw@7694a92 test(parallels): clean up npm update guard jobs · openclaw/openclaw@045ea7b Plugins: prefer scanDir override paths · openclaw/openclaw@b2974da fix(dreaming): default storage.mode to "separate" so phase blocks sto… · openclaw/openclaw@8c392f0 fix(memory-core): skip dreaming transcript ingestion via session stor… · openclaw/openclaw@a1b01f0 fix: dedupe replayed exec.finished node events (#67281) · openclaw/openclaw@5dcf526
docs: unify clawsweeper skill · openclaw/openclaw@35cccbe
steipete · 2026-04-29 · via Recent Commits to openclaw:main

@@ -1,35 +1,58 @@

11

---

22

name: clawsweeper

3-

description: Inspect ClawSweeper commit-review and issue/PR-sweeper reports for OpenClaw, including recent per-commit reports, finding summaries, GitHub Checks, Actions monitoring, manual backfills, and report links.

3+

description: Use for all ClawSweeper work: OpenClaw issue/PR sweep reports, commit-review reports, repair jobs, cloud fix PRs, comment commands, trusted ClawSweeper-reviewed automerge, GitHub Actions monitoring, permissions, gates, and manual backfills.

44

---

5566

# ClawSweeper

778-

ClawSweeper lives at `~/Projects/clawsweeper`. Use this skill when Peter asks

9-

about ClawSweeper reports, commit-review checks, recent findings, historic

10-

backfills, or whether the sweeper/dispatch lane is healthy.

8+

ClawSweeper lives at `~/Projects/clawsweeper`. It is the one OpenClaw

9+

maintenance bot for sweeping, commit review, repair jobs, and guarded fix PRs.

10+

Use this skill whenever Peter asks about reports, findings, dispatch health,

11+

repair/cloud PR creation, comment commands, automerge, permissions, or gates.

11121213

## Start

13141415

```bash

1516

cd ~/Projects/clawsweeper

16-

git status --short

17+

git status --short --branch

1718

git pull --ff-only

18-

pnpm run build

19+

pnpm run build:all

1920

```

202121-

Do not overwrite unrelated local edits. If the tree is dirty, inspect status

22-

and keep report-reading commands read-only unless Peter asked to commit.

22+

Do not overwrite unrelated edits. If the tree is dirty, inspect first and keep

23+

read-only report work read-only unless Peter asked to commit.

232424-

## Recent Commit Reports

25+

## One Bot, One App

252626-

Canonical reports are flat:

27+

Use the ClawSweeper repo and the `openclaw-ci` GitHub App. Use only

28+

`CLAWSWEEPER_*` configuration for this automation.

29+30+

Required app setup:

31+32+

- `CLAWSWEEPER_APP_CLIENT_ID`: public app client ID for `openclaw-ci`.

33+

- `CLAWSWEEPER_APP_PRIVATE_KEY`: private key used only inside

34+

`actions/create-github-app-token` steps.

35+

- Target app permissions: read target scan context; write issues and pull

36+

requests; optional Checks write for commit check runs; optional Actions write

37+

on `openclaw/clawsweeper` for app-token dispatch/cancellation.

38+39+

Token boundary:

40+41+

- Codex workers do not get mutation credentials.

42+

- Review workers run with stripped secret/token env.

43+

- Deterministic scripts own comments, labels, branch pushes, PR creation,

44+

closes, and merges through short-lived GitHub App tokens.

45+

- Merge and write gates default closed.

46+47+

## Commit Reports

48+49+

Canonical commit reports:

27502851

```text

2952

records/<repo-slug>/commits/<40-char-sha>.md

3053

```

315432-

Use the lister instead of browsing date folders:

55+

Use the lister:

33563457

```bash

3558

pnpm commit-reports -- --since 6h

@@ -39,100 +62,222 @@ pnpm commit-reports -- --repo openclaw/openclaw --author steipete --since 7d

3962

pnpm commit-reports -- --since 24h --json

4063

```

416442-

One report per commit. Reruns overwrite the same SHA-named file. Results:

43-

`nothing_found`, `findings`, `inconclusive`, `failed`, `skipped_non_code`.

65+

Results: `nothing_found`, `findings`, `inconclusive`, `failed`,

66+

`skipped_non_code`. One report per SHA; reruns overwrite the SHA-named report.

67+68+

Manual rerun/backfill:

69+70+

```bash

71+

gh workflow run commit-review.yml --repo openclaw/clawsweeper \

72+

-f target_repo=openclaw/openclaw \

73+

-f commit_sha=<end-sha> \

74+

-f before_sha=<start-or-parent-sha> \

75+

-f create_checks=false \

76+

-f enabled=true

77+

```

78+79+

Use `create_checks=true` only when Peter explicitly wants target commit Check

80+

Runs. Add `-f additional_prompt="..."` for focused one-off review instructions.

81+82+

## Sweep Reports

83+84+

Issue/PR reports live at:

448545-

## Monitor Actions

86+

```text

87+

records/<repo-slug>/items/<number>.md

88+

records/<repo-slug>/closed/<number>.md

89+

```

469047-

Receiver lane in `openclaw/clawsweeper`:

91+

Lead with counts, concrete findings, and report links. Do not post unsolicited

92+

GitHub comments from report-reading work. Public surfaces are markdown reports,

93+

durable ClawSweeper review comments, and optional checks.

94+95+

Useful commands:

48964997

```bash

50-

gh run list --repo openclaw/clawsweeper --workflow "ClawSweeper Commit Review" \

51-

--limit 12 --json databaseId,displayTitle,event,status,conclusion,createdAt,updatedAt,url

52-

gh run list --repo openclaw/clawsweeper --workflow "ClawSweeper Commit Review" \

53-

--status in_progress --limit 20 --json databaseId,displayTitle,event,status,createdAt,url

98+

pnpm run status

99+

pnpm run audit

100+

pnpm run reconcile

101+

pnpm run apply-decisions -- --dry-run

54102

```

5510356-

Target dispatcher in `openclaw/openclaw`:

104+

## Create One Repair Job

105+106+

Create a job from issue/PR refs and a maintainer prompt:

5710758108

```bash

59-

gh run list --repo openclaw/openclaw --workflow "ClawSweeper Dispatch" \

60-

--event push --limit 8 --json databaseId,displayTitle,event,status,conclusion,headSha,url

61-

git ls-remote https://github.com/openclaw/openclaw.git refs/heads/main

109+

pnpm run repair:create-job -- \

110+

--repo openclaw/openclaw \

111+

--refs 123,456 \

112+

--prompt-file /tmp/clawsweeper-prompt.md

62113

```

6311464-

Check the target commit's published report check:

115+

Create from an existing ClawSweeper report:

6511666117

```bash

67-

gh api "repos/openclaw/openclaw/commits/<sha>/check-runs?per_page=100" \

68-

--jq '.check_runs[] | select(.name=="ClawSweeper Commit Review") | [.status,.conclusion,.details_url] | @tsv'

118+

pnpm run repair:create-job -- \

119+

--from-report ../clawsweeper/records/openclaw-openclaw/items/123.md

120+

```

121+122+

The job creator checks for an existing open PR, body match, or remote

123+

`clawsweeper/<cluster-id>` branch before writing another job. Use `--dry-run`

124+

to inspect. Use `--force` only after deciding the duplicate guard is stale.

125+126+

Validate, commit, then dispatch:

127+128+

```bash

129+

pnpm run repair:validate-job -- jobs/openclaw/inbox/clawsweeper-openclaw-openclaw-123.md

130+

pnpm run repair:dispatch -- jobs/openclaw/inbox/clawsweeper-openclaw-openclaw-123.md \

131+

--mode autonomous \

132+

--runner blacksmith-4vcpu-ubuntu-2404 \

133+

--execution-runner blacksmith-16vcpu-ubuntu-2404 \

134+

--model gpt-5.5

135+

```

136+137+

Do not dispatch a just-created job before the job file is committed and pushed;

138+

the workflow reads the job path from GitHub.

139+140+

## Replacement PRs

141+142+

For a useful but uneditable/stale/unsafe source PR, make the maintainer prompt

143+

explicit:

144+145+

```md

146+

Treat #123 as useful source work. If the source branch cannot be safely updated

147+

because it is uneditable, stale, draft-only, unmergeable, or unsafe, create a

148+

narrow ClawSweeper replacement PR instead of waiting. Preserve the source PR

149+

author as co-author, credit the source PR in the replacement PR body, and close

150+

only that source PR after the replacement PR is opened.

69151

```

7015271-

## Manual Commit Rerun / Backfill

153+

The worker should emit `repair_strategy=replace_uneditable_branch` and list the

154+

source PR URL in `source_prs`. The deterministic executor opens or updates

155+

`clawsweeper/<cluster-id>`, adds non-bot source authors as `Co-authored-by`

156+

trailers, and closes superseded source PRs only after replacement exists.

7215773-

Use the receiver workflow when Peter asks to rerun a specific commit report,

74-

review a specific commit, or backfill a historic range. Reruns overwrite the

75-

same canonical report file:

76-

`records/<repo-slug>/commits/<40-char-sha>.md`.

158+

## Gates

7715978-

Single-commit rerun:

160+

Open execution windows intentionally and close them after the run:

7916180162

```bash

81-

gh workflow run commit-review.yml --repo openclaw/clawsweeper \

82-

-f target_repo=openclaw/openclaw \

83-

-f commit_sha=<sha> \

84-

-f before_sha=<parent-sha> \

85-

-f create_checks=false \

86-

-f enabled=true

163+

gh variable set CLAWSWEEPER_REPAIR_ALLOW_EXECUTE --repo openclaw/clawsweeper --body 1

164+

gh variable set CLAWSWEEPER_REPAIR_ALLOW_FIX_PR --repo openclaw/clawsweeper --body 1

165+

gh variable set CLAWSWEEPER_REPAIR_ALLOW_MERGE --repo openclaw/clawsweeper --body 0

166+

gh variable set CLAWSWEEPER_REPAIR_ALLOW_AUTOMERGE --repo openclaw/clawsweeper --body 0

87167

```

8816889-

Historic range backfill:

169+

Reset execute/fix gates to `0` after the window. Keep merge gates closed unless

170+

Peter explicitly opens a merge/automerge window.

171+172+

Important gates:

173+174+

- `CLAWSWEEPER_REPAIR_ALLOW_EXECUTE`: allows deterministic write lanes.

175+

- `CLAWSWEEPER_REPAIR_ALLOW_FIX_PR`: allows branch repair/replacement PRs.

176+

- `CLAWSWEEPER_REPAIR_ALLOW_MERGE`: allows merge-capable applicators.

177+

- `CLAWSWEEPER_REPAIR_ALLOW_AUTOMERGE`: allows comment-router automerge.

178+

- `CLAWSWEEPER_REPAIR_COMMENT_ROUTER_EXECUTE`: lets scheduled comment routing

179+

post replies and dispatch repair.

180+181+

## Comment Commands

182+183+

Maintainers can use:

184+185+

```text

186+

/clawsweeper status

187+

/clawsweeper fix ci

188+

/clawsweeper address review

189+

/clawsweeper rebase

190+

/clawsweeper automerge

191+

/clawsweeper explain

192+

/clawsweeper stop

193+

@openclaw-clawsweeper fix ci

194+

```

195+196+

Default accepted maintainers: `OWNER`, `MEMBER`, `COLLABORATOR`; fallback

197+

repository permission accepts `admin`, `maintain`, or `write`. Contributor

198+

comments are ignored without a reply.

199+200+

Run router manually:

9020191202

```bash

92-

gh workflow run commit-review.yml --repo openclaw/clawsweeper \

93-

-f target_repo=openclaw/openclaw \

94-

-f commit_sha=<end-sha> \

95-

-f before_sha=<start-sha> \

96-

-f create_checks=false \

97-

-f enabled=true

203+

pnpm run repair:comment-router -- --repo openclaw/openclaw --lookback-minutes 180

204+

pnpm run repair:comment-router -- --repo openclaw/openclaw --execute --wait-for-capacity

98205

```

99206100-

Use `create_checks=true` only when Peter explicitly wants target commit check

101-

runs. Checks are opt-in; markdown reports are the primary surface.

207+

Scheduled routing stays dry unless

208+

`CLAWSWEEPER_REPAIR_COMMENT_ROUTER_EXECUTE=1`.

209+210+

## Trusted Automerge

102211103-

For a targeted rerun with extra instructions, add `additional_prompt`:

212+

`/clawsweeper automerge` opts an existing PR into the bounded loop. The router:

213+214+

- verifies maintainer authorization;

215+

- labels the PR `clawsweeper:automerge`;

216+

- dispatches ClawSweeper review for the current head SHA;

217+

- creates or reuses a durable adopted job;

218+

- repairs at most the configured caps;

219+

- merges only when ClawSweeper passed the exact current head, checks are green,

220+

GitHub says mergeable, no human-review label is present, and both merge gates

221+

are open.

222+223+

If ClawSweeper passes while merge gates are closed, it labels

224+

`clawsweeper:merge-ready` and comments instead of merging. `/clawsweeper stop`

225+

adds `clawsweeper:human-review`.

226+227+

Repair caps:

104228105229

```bash

106-

-f additional_prompt="Review this commit with focus on <topic>."

230+

CLAWSWEEPER_REPAIR_MAX_REPAIRS_PER_PR=5

231+

CLAWSWEEPER_REPAIR_MAX_REPAIRS_PER_HEAD=1

107232

```

108233109-

After dispatch, monitor and then pull the regenerated report:

234+

## Security Boundary

235+236+

Do not stage security-sensitive work for ClawSweeper Repair. Route vulnerability

237+

reports, CVE/GHSA/advisory work, leaked secrets/tokens/keys, plaintext secret

238+

storage, SSRF, XSS, CSRF, RCE, auth bypass, privilege escalation, and sensitive

239+

data exposure to central OpenClaw security handling.

240+241+

For adopted automerge jobs, trust deterministic ClawSweeper security markers,

242+

labels, and job frontmatter; do not infer security handling from vague prose.

243+244+

## Monitoring

245+246+

Receiver workflows:

110247111248

```bash

112249

gh run list --repo openclaw/clawsweeper --workflow "ClawSweeper Commit Review" \

113-

--limit 5 --json databaseId,displayTitle,status,conclusion,url

114-

gh run watch <run-id> --repo openclaw/clawsweeper --interval 30 --exit-status

115-

git pull --ff-only

116-

sed -n '1,180p' records/openclaw-openclaw/commits/<sha>.md

250+

--limit 12 --json databaseId,displayTitle,event,status,conclusion,createdAt,updatedAt,url

251+

gh run list --repo openclaw/clawsweeper --workflow "repair cluster worker" \

252+

--limit 12 --json databaseId,displayTitle,event,status,conclusion,createdAt,updatedAt,url

253+

gh run list --repo openclaw/clawsweeper --workflow "repair comment router" \

254+

--limit 12 --json databaseId,displayTitle,event,status,conclusion,createdAt,updatedAt,url

117255

```

118256119-

## Report Reading

257+

Target dispatcher:

120258121-

Lead with counts and useful findings:

259+

```bash

260+

gh run list --repo openclaw/openclaw --workflow "ClawSweeper Dispatch" \

261+

--event push --limit 8 --json databaseId,displayTitle,event,status,conclusion,headSha,url

262+

```

263+264+

Target commit check:

122265123266

```bash

124-

pnpm commit-reports -- --since 24h

125-

pnpm commit-reports -- --since 24h --findings

267+

gh api "repos/openclaw/openclaw/commits/<sha>/check-runs?per_page=100" \

268+

--jq '.check_runs[] | select(.name=="ClawSweeper Commit Review") | [.status,.conclusion,.details_url] | @tsv'

126269

```

127270128-

If findings exist, open the markdown report and summarize:

271+

## Reading Output

272+273+

For findings or failures, summarize:

129274130-

- SHA and author/co-authors

131-

- result, confidence, severity, check conclusion

132-

- concrete finding and affected file

133-

- whether the report includes tests/live checks

134-

- GitHub report URL:

135-

`https://github.com/openclaw/clawsweeper/blob/main/<report-path>`

275+

- target repo, item/PR/commit, run, report path

276+

- result, confidence, severity, and exact blocker

277+

- affected files or cluster refs

278+

- validation commands and whether they passed

279+

- whether mutation gates were open or closed

280+

- next deterministic action

136281137-

Do not post GitHub comments from this lane. Commit Sweeper's public surfaces are

138-

markdown reports and the `ClawSweeper Commit Review` check.

282+

Keep the broom small: one cluster, one branch, one PR, narrow proof, clear

283+

owner-visible evidence.