Skip to content

fix: openclaw thinking - #1485

Merged
shunkakinoki merged 5 commits into
mainfrom
fix/openclaw-per-agent-thinking
Apr 16, 2026
Merged

fix: openclaw thinking#1485
shunkakinoki merged 5 commits into
mainfrom
fix/openclaw-per-agent-thinking

Conversation

@shunkakinoki

@shunkakinoki shunkakinoki commented Apr 16, 2026

Copy link
Copy Markdown
Owner
  • fix(openclaw): per-agent thinkingDefault based on model tier
  • fix(openclaw): bind memory-core to plugins.slots.memory
  • feat(packages): add cmatrix
  • fix(openclaw): switch memory-wiki from bridge to unsafe-local mode
  • fix(services): Restore Dolt service and sync OpenClaw config

Summary by cubic

Set per-agent thinking defaults by model tier and fix OpenClaw memory wiring to restore wiki ingestion and artifact exports. Adds a dolt SQL service with restart targets and a small package update.

  • Bug Fixes

    • Per-agent thinkingDefault: global low; Opus high; Sonnet medium; GLM off; others inherit low.
    • Bind plugins.slots.memory to memory-core to resume public artifact exports.
    • Switch memory-wiki from bridge to unsafe-local to read workspace files directly and unblock wiki imports.
  • New Features

    • Add dotfiles dolt SQL server (launchd on galactica, systemd on kyber) with Makefile targets: launchctl-dolt, systemctl-dolt.
    • Add cmatrix to home packages.

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

shunkakinoki and others added 5 commits April 15, 2026 21:24
Global default: low
Opus agents: high (deep reasoning)
Sonnet agents: medium
GLM agents: off (cheap, no thinking overhead)
GPT/Gemini/Minimax: low (inherited from default)

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Empty string caused memory-core to not be found as the slot plugin,
which meant no public artifacts were exported, breaking the wiki
bridge pipeline entirely (0 entries since April 12).

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Bridge mode's publicArtifacts capability chain wasn't resolving at
runtime, resulting in 0 artifacts exported and no wiki entries since
April 12. Unsafe-local mode reads memory files directly by path,
bypassing the broken plugin slot capability chain. Immediately
imported 252 source pages on restart.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Add a dedicated dotfiles Dolt service with systemd on kyber and launchd on
 galactica. Wire the Makefile restart targets into the platform service bundles
 and ignore the updated local beads runtime layout.

Keep the current OpenClaw template routing changes in sync so local hydration can
 pick up the committed config updates.

Co-authored-by: Codex <noreply@openai.com>
@mesa-dot-dev

mesa-dot-dev Bot commented Apr 16, 2026

Copy link
Copy Markdown

You do not have enough credits to review this pull request. Please purchase more credits to continue.

@coderabbitai

coderabbitai Bot commented Apr 16, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 79fb65e6-82c1-42ed-a2c7-292ba374785f

📥 Commits

Reviewing files that changed from the base of the PR and between ec872d1 and 5735093.

📒 Files selected for processing (7)
  • .beads/.gitignore
  • Makefile
  • config/openclaw/openclaw.template.json
  • config/openclaw/openclaw.tpl.json
  • home-manager/packages/default.nix
  • home-manager/services/default.nix
  • home-manager/services/dolt/default.nix

Disabled knowledge base sources:

  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.


📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Dolt SQL server service is now available as a managed background service on macOS and Linux with automatic startup and failure recovery.
    • Expanded agent communication channels with new WhatsApp group integration.
  • Chores

    • Refined agent behavior defaults with configurable per-agent settings.
    • Enhanced memory storage configuration with improved security and access restrictions.
    • Added automated service restart management commands for system administration.

Walkthrough

This PR introduces a new Dolt SQL server Home Manager service for macOS and Linux with conditional startup and directory migration logic, updates OpenClaw configuration with revised default thinking levels and agent-specific overrides, adds new WhatsApp bindings, restructures memory plugin settings, and adds supporting Makefile targets and package dependencies.

Changes

Cohort / File(s) Summary
Gitignore Updates
.beads/.gitignore
Added dolt file and df/ directory to ignore patterns.
Makefile Service Targets
Makefile
Added launchctl-dolt and systemctl-dolt phony targets with host-conditional execution (galactica for macOS, kyber for Linux). Updated launchctl and systemctl aggregate targets to include new dolt restart steps.
OpenClaw Configuration
config/openclaw/openclaw.template.json, config/openclaw/openclaw.tpl.json
Changed agents.defaults.thinkingDefault from "high" to "low" and added per-agent thinkingDefault overrides across 14+ agents. Added new WhatsApp binding for dev-gpt group. Changed memory plugin slot from empty to "memory-core". Replaced bridge vault mode with unsafe-local configuration for memory-wiki plugin.
Package Management
home-manager/packages/default.nix
Added cmatrix to base package list.
Service Module Integration
home-manager/services/default.nix
Imported and exported new dolt service module.
Dolt Service Module
home-manager/services/dolt/default.nix
New Home Manager service module implementing Dolt SQL server startup with directory migration (.beads/dolt.beads/df symlink), conditional registration for macOS launchd and Linux systemd user services, and startup script binding to 127.0.0.1:3307.

Sequence Diagram(s)

sequenceDiagram
    participant Script as StartScript
    participant FS as Filesystem
    participant Dolt as Dolt Process
    
    Script->>FS: Check .beads dir exists
    FS-->>Script: Create if missing
    Script->>FS: Check if dolt is directory
    alt dolt dir exists and df dir missing
        Script->>FS: Migrate dolt/ to df/
        FS-->>Script: Migration complete
    else df dir already exists
        Script->>Script: Fail (conflict detected)
    end
    Script->>FS: Create dolt symlink → df
    FS-->>Script: Symlink established
    Script->>Dolt: Exec dolt sql-server<br/>127.0.0.1:3307<br/>--data-dir .beads
    Dolt-->>Script: Server running
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested labels

enhancement


🐰 A dolt service hops into place,
With symlinks and migrations at its pace,
While agents think with nuanced care,
And OpenClaw breathes fresher air—
Home Manager dances, smooth and bright! ✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/openclaw-per-agent-thinking

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 and usage tips.

@shunkakinoki
shunkakinoki merged commit 35215e7 into main Apr 16, 2026
27 of 31 checks passed
@mesa-dot-dev

mesa-dot-dev Bot commented Apr 16, 2026

Copy link
Copy Markdown

Mesa Description

TL;DR

This PR primarily focuses on fixing and improving the OpenClaw system, including adjustments to its thinking process, memory management, and service configurations. It also introduces the cmatrix package.

What changed?

  • fix(openclaw): per-agent thinkingDefault based on model tier
  • fix(openclaw): bind memory-core to plugins.slots.memory
  • feat(packages): add cmatrix
  • fix(openclaw): switch memory-wiki from bridge to unsafe-local mode
  • fix(services): Restore Dolt service and sync OpenClaw config

Description generated by Mesa. Update settings

@shunkakinoki
shunkakinoki deleted the fix/openclaw-per-agent-thinking branch April 16, 2026 21:26

@gemini-code-assist gemini-code-assist Bot left a comment

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.

Code Review

This pull request adds a Dolt SQL server service for managing data in the .beads directory, providing automation for macOS and Linux. It also modifies the OpenClaw configuration by lowering global thinking defaults, adding specific agent settings, and updating the wiki memory module to use local vault access. Feedback points out that several new entries in the package and service lists are not alphabetically ordered. Furthermore, the Dolt startup script contains a logic issue where symlinking within the data directory could lead to database locking errors and redundant loading attempts.

Comment on lines +27 to 28
cmatrix
cloudflared

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.

medium

The package cmatrix is out of alphabetical order. It should be placed after cloudflared to maintain consistency with the rest of the file.

  cloudflared
  cmatrix

Comment on lines +14 to 16
dolt = ./dolt;
docker = import ./docker { inherit lib pkgs; };
dockerPostgres = import ./docker-postgres { inherit pkgs; };

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.

medium

The dolt service import is out of alphabetical order. It should follow docker and dockerPostgres.

  docker = import ./docker { inherit lib pkgs; };
  dockerPostgres = import ./docker-postgres { inherit pkgs; };
  dolt = ./dolt;

Comment on lines +35 to 37
dolt
docker
dockerPostgres

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.

medium

The dolt service is out of alphabetical order in the list. It should follow docker and dockerPostgres.

  docker
  dockerPostgres
  dolt

Comment on lines +28 to +36
if [ -d "${beadsDir}/df" ]; then
ln -sfn df "${beadsDir}/dolt"
fi

exec "${pkgs.dolt}/bin/dolt" sql-server \
-H 127.0.0.1 \
-P 3307 \
--data-dir "${beadsDir}" \
--loglevel info

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.

medium

Creating a symlink named dolt pointing to df inside the same directory used as --data-dir for Dolt will cause the sql-server to attempt to load the same database twice (once as df and once as dolt). Since they share the same underlying data files, one of them will fail to acquire a lock, resulting in noisy error logs. Furthermore, pointing --data-dir to ${beadsDir} (which contains non-database files and directories like backup/ or interactions.jsonl as seen in the .gitignore) will cause Dolt to attempt to load those as databases as well. It is recommended to use a dedicated subdirectory for databases or move the compatibility symlink outside of the directory scanned by Dolt.

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