feat: schedule observable cluster repair intake#201
Conversation
|
Codex review: found issues before merge. Reviewed May 25, 2026, 10:40 PM ET / 02:40 UTC. Summary Reproducibility: not applicable. this is a new scheduled automation and dashboard feature, not a bug report with a failing current-main path. Review metrics: 2 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge Security Review findings
Review detailsBest possible solution: Land the default-off intake only after maintainer acceptance of the live automation path and after the dashboard cadence text matches the hourly schedule. Do we have a high-confidence way to reproduce the issue? Not applicable; this is a new scheduled automation and dashboard feature, not a bug report with a failing current-main path. Is this the best way to solve the issue? Mostly yes: it reuses the existing state repo, Full review comments:
Overall correctness: patch is correct AGENTS.md: found and applied where relevant. Codex review notes: model gpt-5.5, reasoning high; reviewed against 3f970f0fb25e. 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
|
68cad17 to
5923cea
Compare
|
ClawSweeper PR egg ✨ Hatched: 🥚 common Sunspot Proofling Hatch commandComment Hatchability rules:
Rarity: 🥚 common. What is this egg doing here?
|
5923cea to
31eab30
Compare
31eab30 to
a5340f5
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
a5340f5 to
375ed3a
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
375ed3a to
b1770ca
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
b1770ca to
07be3ab
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
b712cd9 to
17f2e82
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
17f2e82 to
6db57c7
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
6db57c7 to
fa325e7
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
fa325e7 to
8bb4492
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
8bb4492 to
50ca51d
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Summary
repair-cluster-intake.yml, a scheduled intake that runs hourly, readsopenclaw/gitcrawl-store, imports at most one eligible cluster by default, publishes generated jobs and the intake ledger throughopenclaw/clawsweeper-state, and dispatches through the one-workercluster_repairlane.CLAWSWEEPER_FEATURE_CLUSTER_REPAIR_ENABLED=1; direct/manual gitcrawl import and repair dispatch are not blocked by that variable, preserving compatibility for existing repair tooling./api/status.--skip-closed-percentis explicitly overridden.workers.maxcapacity derivation; only imported gitcrawl cluster jobs use the new one-workercluster_repairdefault lane.gitcrawl-storeSQLite state before the legacy local gitcrawl DB.Duplicate Protection
openclaw/gitcrawl-storerefreshesopenclaw/openclawevery 15 minutes; this intake runs hourly.openclaw/clawsweeper-stateatresults/cluster-repair-intake/<repo>.jsonwith the last portable DB SHA, generated count, run URL, and update time.force_store=truefor debugging.Maintainer Visibility
Cluster Intakesection below Active Pipeline on wide screens and at the bottom after recent activity on narrow screens.Enablement
To enable automatic cluster intake in a target repo, add the Actions repository variable
CLAWSWEEPER_FEATURE_CLUSTER_REPAIR_ENABLED=1.Live mutation still also requires the existing gates, mainly
CLAWSWEEPER_ALLOW_EXECUTE=1andCLAWSWEEPER_ALLOW_FIX_PR=1. Merge behavior remains separately gated byCLAWSWEEPER_ALLOW_MERGE=1where applicable.The optional
CLAWSWEEPER_CLUSTER_REPAIR_IMPORT_LIMITvariable controls scheduled intake volume; default is1cluster per hourly run. Manual dispatch remains available for debugging and can be disabled per run withenabled=0.Audit Notes
execute-fix-artifact.tsis required byoxfmt.scripts/check-limits.tsverifies both ordinary repair and imported-cluster examples, so the cluster docs check complements rather than replaces the normal repair docs check.README.mdanddocs/limits.mddescribe existing repair capacity as 40% ofworkers.max, not a fixed checked-in 22.lanes.repair.cluster_max_live_runsnow keep loading; cluster repair capacity defaults to 1 when that optional key is absent.Verification
pnpm run build:repair && node --test test/clawsweeper.test.tspnpm run checkpnpm run build:dashboard && node --test test/dashboard-worker.test.tspnpm run check:limits