You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
scripts/update-client.mjs should treat an already-registered openclaw-support-kb GBrain source as success, even when newer gbrain sources add returns only a generic Error: command failed. During the Golden VM Eva Brain canary, the KB repo updated correctly and the existing source was healthy, but the installer aborted before sync/embed because source registration was not idempotent enough.
Why this matters
Fleet upgrades need to be boring. Existing customer VMs will usually already have an openclaw-support-kb source, so the updater must refresh that source instead of failing and requiring an agent to SSH in and manually run sources federate, sync, and embed.
flowchart TD
A[update-client.mjs] --> B[git pull KB repo]
B --> C[install support skills]
C --> D[gbrain sources add openclaw-support-kb]
D -->|generic nonzero when already exists| E[installer aborts]
E --> F[sync/embed/status skipped]
D -->|desired| G[recognize existing source]
G --> H[gbrain sources federate]
H --> I[gbrain sync --source openclaw-support-kb]
I --> J[gbrain embed --stale --source openclaw-support-kb]
Loading
Repro from Golden VM
Environment:
VM: golden / 178.104.117.126
Eva Brain: upgraded to gbrain 0.33.0
Existing source: openclaw-support-kb at /root/.gbrain/sources/openclaw-support-kb
Source status before manual recovery: healthy, 654 pages
Installed 4 OpenClaw support skills into /root/.openclaw/skills
Updated agent hint block in /root/.openclaw/AGENTS.md
Updated agent hint block in /root/.openclaw/workspace/AGENTS.md
gbrain sources add failed for openclaw-support-kb
[ai.gateway] recipe "google" declares an embedding touchpoint without max_batch_tokens; recursion is the only safety net for batch caps.
Error: command failed
TLDR
scripts/update-client.mjsshould treat an already-registeredopenclaw-support-kbGBrain source as success, even when newergbrain sources addreturns only a genericError: command failed. During the Golden VM Eva Brain canary, the KB repo updated correctly and the existing source was healthy, but the installer aborted before sync/embed because source registration was not idempotent enough.Why this matters
Fleet upgrades need to be boring. Existing customer VMs will usually already have an
openclaw-support-kbsource, so the updater must refresh that source instead of failing and requiring an agent to SSH in and manually runsources federate,sync, andembed.Repro from Golden VM
Environment:
golden/178.104.117.126gbrain 0.33.0openclaw-support-kbat/root/.gbrain/sources/openclaw-support-kbFailure path:
Observed output:
Direct command evidence:
gbrain sources add openclaw-support-kb \ --path /root/.gbrain/sources/openclaw-support-kb \ --name "OpenClaw Support KB" \ --federatedreturns exit code
1with only:The source already existed and was valid:
{ "id": "openclaw-support-kb", "name": "OpenClaw Support KB", "local_path": "/root/.gbrain/sources/openclaw-support-kb", "federated": true, "page_count": 654 }Manual recovery that worked
Result:
gbrain 0.33.0649Acceptance criteria
update-client.mjssucceeds when the named source already exists and points at the target dir.sources addreturns a generic failure, the script checksgbrain sources list --jsonor equivalent before aborting.