Skip to content

fix(openclaw): slim agents, fix free fallback, unblock CI - #2244

Merged
shunkakinoki merged 1 commit into
mainfrom
fix/openclaw-slim-agents-ci
Aug 4, 2026
Merged

fix(openclaw): slim agents, fix free fallback, unblock CI#2244
shunkakinoki merged 1 commit into
mainfrom
fix/openclaw-slim-agents-ci

Conversation

@shunkakinoki

@shunkakinoki shunkakinoki commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix OpenClaw cliproxy/free fallback: model catalog id was wrongly cliproxy/free (API 502); use bare free
  • Slim agents to main + ACP only (amp, factory, codex); remap GitHub hook to main
  • Keep deepseek-flash in the fallback chain
  • Fix ShellSpec stderr warning in openclaw_hydrate_spec.sh
  • Fix treefmt drift in dotfiles_updater_spec.sh
  • Guard telescope fzf extension load with pcall until native lib is built
  • Bump dotagents for removed upstream ask-questions-if-underspecified (fixes Upgrade skills-install)
  • Bump moshi-hook overlay hashes to 0.2.70

Test plan

  • Shell workflow green (shell-test no longer warns on openclaw group-id grep)
  • Upgrade workflow green (skills-install completes)
  • Nix format/test green (treefmt clean)
  • Lua neovim check green
  • On kyber: OpenClaw fallback reaches free after deepseek-pro 429
  • Agents list is only main/amp/factory/codex

Made with Cursor


Summary by cubic

Fixes OpenClaw model fallback by using free instead of cliproxy/free, and trims agents to main + ACP (amp, factory, codex) to unblock CI. Remaps the GitHub hook to main and keeps deepseek-flash in the fallback chain.

  • Bug Fixes

    • Use free for the fallback model to avoid 502s.
    • Guard telescope fzf load with pcall until the native lib is available.
    • Tighten Neovim check to grep -E; switch ShellSpec group-id check to ripgrep to silence stderr.
    • Standardize quoting in dotfiles_updater_spec.sh to fix treefmt drift.
  • Dependencies

    • Bump dotagents to pick up removal of upstream ask-questions-if-underspecified (fixes Upgrade skills-install).
    • Update moshi-hook to 0.2.70 with new hashes.

Written for commit c767300. Summary will update on new commits.

Review in cubic

Keep only main + ACP agents, register cliproxy free by bare id, and
fix Shell/Nix/Lua/Upgrade failures blocking main.

Co-authored-by: Cursor <cursoragent@cursor.com>
@indent-zero

indent-zero Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor
PR Summary

Slims the OpenClaw agent roster to main plus the three ACP agents (amp, factory, codex) and fixes a broken cliproxy/free model id so the fallback chain resolves instead of 502-ing. Also clears several unrelated CI blockers across Shell/Nix/Lua/Upgrade so main can go green again.

  • Register CliProxy Free by its bare id (free) in both openclaw.template.json and openclaw.tpl.json; provider-prefixed references (cliproxy/free) now resolve correctly, and deepseek-v4-flash stays in the default fallback chain.
  • Remove 20+ specialized agents (code-reviewer-*, dev-*, twitter-*, strategy-*, security-scanner, docs-checker, cicd-fixer, code-formatter, test-coverage, sales, routine, mindset, communication, devops, product) and retarget the GitHub webhook mapping from the now-removed dev-gpt to main.
  • Guard telescope.load_extension("fzf") with pcall so a missing native fzf lib no longer aborts Neovim init.
  • Switch Makefile lua-check-neovim grep from BRE-with-GNU-\| to grep -qE for portability; switch the openclaw hydrate group-id assertion from grep -Eq to rg -q and normalize quoting in dotfiles_updater_spec.sh to satisfy treefmt.
  • Bump the dotagents submodule (upstream removed ask-questions-if-underspecified and added Matt Pocock skills) and bump moshi-hook overlay 0.2.69 → 0.2.70 with new per-arch sha256s (all four verified against the vendor CDN).

Issues

2 potential issues found:

  • spec/openclaw_hydrate_spec.sh now shells out to rg, but ripgrep is not declared in devenv.nix — this test only works because CI's ubuntu-latest ships /usr/bin/rg and impure nix develop inherits system PATH; a pure shell or minimal system will fail with rg: command not found. Add pkgs.ripgrep to devenv.nix alongside shellspec/shellcheck (or revert to grep -Eq with corrected quoting). → Autofix
  • pcall(telescope.load_extension, "fzf") silently swallows the error, so a broken/missing fzf native library leaves users with a degraded sorter and no signal. Capture the pcall result and vim.notify on failure so the fzf issue is visible even after CI is unblocked. → Autofix

CI Checks

Waiting for CI checks...


⚡ Autofix All Issues

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6f957b26-4ae7-46b5-b6bf-a034bc64a7c5

📥 Commits

Reviewing files that changed from the base of the PR and between 33caa5f and c767300.

📒 Files selected for processing (8)
  • Makefile
  • config/openclaw/openclaw.template.json
  • config/openclaw/openclaw.tpl.json
  • dotagents
  • home-manager/programs/neovim/lua/config/telescope.lua
  • overlays/default.nix
  • spec/dotfiles_updater_spec.sh
  • spec/openclaw_hydrate_spec.sh

Disabled knowledge base sources:

  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.


📝 Walkthrough

Summary by CodeRabbit

  • Configuration

    • Updated the default free model configuration.
    • Simplified the available agent setup while retaining core agents.
    • GitHub automation now routes through the main agent.
    • Improved compatibility for WhatsApp acknowledgment messages.
  • Bug Fixes

    • Neovim configuration no longer fails when the FZF extension is unavailable.
    • Improved configuration error detection and host validation.
  • Maintenance

    • Updated Moshi Hook to version 0.2.70.
    • Refreshed the bundled dotfiles tooling.

Walkthrough

Changes

OpenClaw configuration

Layer / File(s) Summary
OpenClaw configuration updates
config/openclaw/openclaw.template.json, config/openclaw/openclaw.tpl.json
Both templates use the free model identifier, encode the WhatsApp acknowledgment emoji, and route GitHub hooks to main.
OpenClaw hydration validation
spec/openclaw_hydrate_spec.sh
The specification uses rg to verify that group identifiers are absent.

Neovim reliability

Layer / File(s) Summary
Neovim checks and loading
Makefile, home-manager/programs/neovim/lua/config/telescope.lua
The Makefile uses an extended regular expression. Telescope loads FZF through pcall.

moshi-hook package update

Layer / File(s) Summary
moshi-hook release metadata
overlays/default.nix
The derivation targets version 0.2.70 and uses updated platform hashes.

dotagents revision

Layer / File(s) Summary
Submodule revision
dotagents
The submodule pointer references commit fafc946f460edd932fb820c4f67c40a72dfe0ca1.

Dotfiles updater specification

Layer / File(s) Summary
Host interpolation assertion
spec/dotfiles_updater_spec.sh
The expected output uses single-quoted HOST=${canonicalHost} text.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Poem

A rabbit checks the hooks at night,
main now guides the messages right.
FZF loads with guarded care,
New hashes hop through Nix’s lair.
“Free” models shine in Unicode light! 🐇

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/openclaw-slim-agents-ci

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@shunkakinoki
shunkakinoki merged commit 3b79521 into main Aug 4, 2026
27 of 32 checks passed
@shunkakinoki
shunkakinoki deleted the fix/openclaw-slim-agents-ci branch August 4, 2026 22:52

It 'contains no configured group identifiers'
When run bash -c "! grep -Eq '@g\\.us|\\\"kind\\\": \\\"group\\\"' '$PWD/config/openclaw/openclaw.template.json'"
When run bash -c "! rg -q '@g\\.us|\"kind\": \"group\"' '$PWD/config/openclaw/openclaw.template.json'"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Undeclared rg dependency: This assertion now depends on ripgrep, but devenv.nix only lists shellspec/shellcheck — not pkgs.ripgrep. It works in CI because ubuntu-latest ships /usr/bin/rg and impure nix develop inherits system PATH, but a pure Nix shell or a minimal dev system will fail with rg: command not found. Consider adding pkgs.ripgrep to devenv.nix, or keeping grep -Eq and just cleaning the escaping that was tripping ShellSpec's stderr.

})
telescope.load_extension("gh")
telescope.load_extension("fzf")
pcall(telescope.load_extension, "fzf")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Silent fzf failure: With bare pcall, if the fzf native library is missing or fails to build the user gets a degraded sorter with no notification. Consider capturing the result and warning:

local ok, err = pcall(telescope.load_extension, "fzf")
if not ok then
	vim.notify("telescope: fzf extension not loaded: " .. tostring(err), vim.log.levels.WARN)
end

This preserves the CI unblock while making real regressions visible.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant