$ the-wire · showcase
Smarter CI reuse, tighter Copilot OAuth checks
By RepoJournal · Filed · About OpenClaw
Clownfish's merge coordinator now reuses a successful CI gate on the exact PR head, cutting pointless rebases, while OpenClaw tightens Copilot OAuth to reject unsupported enterprise domains.
Clownfish stop rebasing PRs when main advances if their exact head already has a successful canonical `openclaw/ci-gate` within 24 hours and the merge diff is unchanged. The merge coordinator now authenticates any successful gate on the exact head and no longer lets a newer failed or pending rerun override an earlier valid success [1]. This cuts wasted CI runs for contributors.
OpenClaw's GitHub Copilot integration rejects unsupported OAuth enterprise domains before token refresh and model routing. Legacy credentials could carry a non-github.com `enterpriseUrl`, which the refresh path templated into the endpoint and sent the bearer token to with no allowlist [2]. This is a security tightening for self-hosted deployments.
The new-session composer in the Control UI can now pick a repo folder and a cloud worker together. Previously selecting one silently cleared the other, so a cloud worker could only run against the agent's own workspace [3]. Also, a large config I/O module was split into focused siblings, keeping `src/config/io.ts` as the public facade [4], and the unused `openclaw/plugin-sdk/testing` compat barrel was removed [5].
Clawsweeper's repair and validation commands gained several fixes: dropping unnecessary namespace capabilities [6], authorizing post-flight closeouts [7], inspecting nested submodule state [8], blocking interpreter and Bun hooks [9], and preserving scoped paths and selectors [10].
Action items
- → Review Clownfish merge behavior if your repo relies on CI rerun freshness; the coordinator now prefers an earlier valid success over a newer failed rerun on the same head. openclaw/clownfish [monitor]
- → Check your Copilot OAuth credentials for non-github.com enterpriseUrl domains; such domains are now rejected before refresh and routing. openclaw/openclaw [plan]
- → Test the new-session composer to confirm cloud workers can now target a specific repo folder. openclaw/openclaw [plan]
References
- [1] fix(merge): reuse fresh exact-head CI ↗ openclaw/clownfish
- [2] fix(github-copilot): reject unsupported OAuth enterprise domain before refresh and model routing (#105584) ↗ openclaw/openclaw
- [3] feat(ui): pick a repo folder and a cloud worker together in the new-session composer ↗ openclaw/openclaw
- [4] refactor(config): split config I/O responsibilities ↗ openclaw/openclaw
- [5] refactor(plugin-sdk): remove private testing barrel ahead of window ↗ openclaw/openclaw
- [6] fix(repair): drop validation namespace capabilities ↗ openclaw/clawsweeper
- [7] fix(repair): authorize post-flight closeouts ↗ openclaw/clawsweeper
- [8] fix(validation): inspect nested submodule state ↗ openclaw/clawsweeper
- [9] fix(validation): block interpreter and Bun hooks ↗ openclaw/clawsweeper
- [10] fix(validation): preserve scoped paths and selectors ↗ openclaw/clawsweeper