v0.45.8.0 fix: community fix-wave — 25 PRs from 24 contributors (MCP correctness, sync/import data safety, doctor accuracy)

Every fix reviewed, tested in isolation, adversarially verified, security
reviewed, and re-tested as one composed branch. Full attribution preserved
via per-commit Co-Authored-By trailers.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
test
2026-08-12 14:38:36 -07:00
committed by Sina Matian
co-authored by Claude Fable 5
parent 3e4bc112d8
commit 4dc77c3979
8 changed files with 77 additions and 7 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
<!-- gbrain-runbook-stamp: 0.45.7.0 -->
<!-- gbrain-runbook-stamp: 0.45.8.0 -->
<!-- This stamp must equal the VERSION file at every release; CI enforces it
(scripts/check-bootstrap-tag.sh). `gbrain bootstrap status` compares it to
the installed binary and warns on skew. -->
+70
View File
@@ -2,6 +2,76 @@
All notable changes to GBrain will be documented in this file.
## [0.45.8.0] - 2026-08-12
**25 community bug fixes in one wave. Your MCP server, sync, and doctor all get more careful.**
This release is all fixes, no new surface. 24 community contributors sent small, tested
bug fixes over the past weeks. Each one was reviewed, tested in isolation against a real
checkout, checked by an adversarial second reviewer, security reviewed, and then tested
again as one combined branch. The themes: the MCP server now handles edge-case inputs
the way an agent expects, sync and import stop losing or misplacing data in rare
situations, and doctor stops crying wolf on healthy setups.
If you connect an agent to gbrain over MCP, or you sync a brain repo with unusual file
names, non-English content, or multiple sources, this release removes a set of paper
cuts you may have already hit.
## To take advantage of v0.45.8.0
`gbrain upgrade` is enough. These are behavior fixes with no schema migration.
1. **Upgrade and verify:**
```bash
gbrain upgrade
gbrain doctor
```
2. **If doctor output changed for you,** that is likely the point: several checks
(supervisor, PGLite store health, base-URL hints) now report accurately where they
previously false-alarmed.
3. **If anything looks wrong,** file an issue at https://github.com/garrytan/gbrain/issues
with `gbrain doctor` output.
### Itemized changes
**MCP server correctness**
- `sources_add` over a remote transport now rejects a caller-supplied path outright instead of silently ignoring it. Contributed by @gregario.
- Stdio serve advertises the tools the caller can actually use. Contributed by @gregario.
- All stdout logging routes to stderr under stdio MCP, keeping the protocol stream clean. Contributed by @BenSheridanEdwards.
- Null and empty-string optional params are treated as absent at dispatch. Contributed by @SeanGearin.
- File ops (`file_list`, `file_upload`) use the connected engine instead of the global DB singleton, so they work on every configured engine. Contributed by @dpaluy.
- Stdio serve honors the `.gbrain-source` dotfile. Contributed by @javieraldape.
**Sync and import data safety**
- Global sync anchors only move for the brain repo they describe, so a second repo can no longer skip another repo's pending imports. Contributed by @smdesai27.
- Sync never writes a baseline commit over an already-populated repo. Contributed by @NidTamil.
- Git C-style-quoted paths (quotes, backslashes, unicode escapes) unquote correctly in the sync manifest. Contributed by @SergeyShol.
- Malformed YAML frontmatter is rejected with a clear error instead of importing garbage. Contributed by @javieraldape.
- Paths that fail once but succeed on a later run clear their failure record. Contributed by @bo-developing.
- Autopilot resolves the gbrain CLI on Windows via PATH enumeration instead of assuming a POSIX shell. Contributed by @veltri-23.
- Ctrl-C cleanly terminates bulk commands using the shared progress reporter. Contributed by @javieraldape.
**Engines and search**
- PGLite batches code-edge inserts below the bind-parameter limit, fixing silent data loss on large code graphs. Contributed by @kyle944.
- The configured FTS language survives schema replay, so non-English brains no longer revert to English tokenization on re-init. Contributed by @paul-0320.
- Hyphenated Qwen3-Embedding model ids resolve their dimensions correctly. Contributed by @mikez93.
**Doctor and diagnostics**
- Doctor surfaces abandoned PGLite stores left behind after an engine migration. Contributed by @Masashi-Ono0611.
- The base-URL hint uses a real models-probe classifier instead of guessing /v1. Contributed by @brettdavies.
**Models and cycle**
- Sonnet 5, Fable 5, and Opus 4.8 are in the synthesize context map and brainstorm output caps. Contributed by @p3ob7o.
- Truncated or degenerate significance verdicts are no longer cached permanently. Contributed by @Masashi-Ono0611.
- The `models.subagent` config path goes through the same capability checks as every other model path. Contributed by @Masashi-Ono0611.
- `takes add` resolves the target page before writing markdown. Contributed by @ghizi.
- A shipped filing rule that bound a personal folder name to a sensitive category is gone. Contributed by @Masashi-Ono0611.
- BrainBench eval defaults resolve from the package root, so evals run from any working directory. Contributed by @philip-rossoneri.
- The OpenClaw plugin-loader E2E inspects the real runtime. Contributed by @arisgysel-design.
**For contributors**
- The committed CLI flag registry, the cycle-sync test mocks, and two test fixtures were updated to match the combined branch.
## [0.45.7.0] - 2026-08-12
**Ambient recall: your brain shows up at the moments that matter, not just when you ask.** Long-lived agents lose the thread at session boundaries — a fresh start with no warm context, a compaction that drops verbatim detail nothing rehydrates, a heartbeat that re-derives state from scratch. This release adds two new memory verbs that assemble a budget-packed, zero-LLM bundle of exactly what a boundary needs, and wires them into the agent's lifecycle hooks so a warm pack lands automatically at session start and after compaction. It's opt-in, fail-open, and reaches every host: Claude Code gets it pushed through hooks; Codex and any MCP host pull the same two verbs at their own boundaries. Whether your brain is embedded (PGLite) or managed (Postgres), the ambient value is the same.
+1 -1
View File
@@ -506,7 +506,7 @@ four numeric segments are required first. Historical 3-segment versions
| `CHANGELOG.md` | Top entry header `## [0.31.4.1] - YYYY-MM-DD` plus the "To take advantage of v0.31.4.1" block. | Standard Keep-a-Changelog header. |
| `TODOS.md` | Any TODO entries that mention "follow-up from vX.Y.Z.W" use the version of the release that filed them. Update only when filing NEW follow-up TODOs. | Inline `vX.Y.Z.W` references in TODO bodies. |
| `CLAUDE.md` | The Key Files section's per-file annotations carry `vX.Y.Z.W (#NNN)` tags noting which release introduced a behavior. Update whenever a wave's annotations get folded in. | Inline `vX.Y.Z.W (#NNN, contributed by @user)` references. |
| `openclaw.plugin.json` | OpenClaw plugin manifest (v0.45.6.0, #4033). Hand-maintained; `test/openclaw-plugin-manifest.test.ts` fails the suite if it drifts from `package.json`. Merges from master auto-resolve it to master's version — re-bump it with the trio. | `"version": "0.45.7.0"` |
| `openclaw.plugin.json` | OpenClaw plugin manifest (v0.45.6.0, #4033). Hand-maintained; `test/openclaw-plugin-manifest.test.ts` fails the suite if it drifts from `package.json`. Merges from master auto-resolve it to master's version — re-bump it with the trio. | `"version": "0.45.8.0"` |
**Auto-derived (no manual edit; refreshed by their own commands):**
+1 -1
View File
@@ -1 +1 @@
0.45.7.0
0.45.8.0
+1 -1
View File
@@ -661,7 +661,7 @@ four numeric segments are required first. Historical 3-segment versions
| `CHANGELOG.md` | Top entry header `## [0.31.4.1] - YYYY-MM-DD` plus the "To take advantage of v0.31.4.1" block. | Standard Keep-a-Changelog header. |
| `TODOS.md` | Any TODO entries that mention "follow-up from vX.Y.Z.W" use the version of the release that filed them. Update only when filing NEW follow-up TODOs. | Inline `vX.Y.Z.W` references in TODO bodies. |
| `CLAUDE.md` | The Key Files section's per-file annotations carry `vX.Y.Z.W (#NNN)` tags noting which release introduced a behavior. Update whenever a wave's annotations get folded in. | Inline `vX.Y.Z.W (#NNN, contributed by @user)` references. |
| `openclaw.plugin.json` | OpenClaw plugin manifest (v0.45.6.0, #4033). Hand-maintained; `test/openclaw-plugin-manifest.test.ts` fails the suite if it drifts from `package.json`. Merges from master auto-resolve it to master's version — re-bump it with the trio. | `"version": "0.45.7.0"` |
| `openclaw.plugin.json` | OpenClaw plugin manifest (v0.45.6.0, #4033). Hand-maintained; `test/openclaw-plugin-manifest.test.ts` fails the suite if it drifts from `package.json`. Merges from master auto-resolve it to master's version — re-bump it with the trio. | `"version": "0.45.8.0"` |
**Auto-derived (no manual edit; refreshed by their own commands):**
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "gbrain-context-engine",
"name": "gbrain",
"version": "0.45.7.0",
"version": "0.45.8.0",
"description": "Personal knowledge brain with Postgres + pgvector hybrid search",
"family": "bundle-plugin",
"configSchema": {
+1 -1
View File
@@ -154,7 +154,7 @@
"bun": ">=1.3.10"
},
"license": "MIT",
"version": "0.45.7.0",
"version": "0.45.8.0",
"overrides": {
"@hono/node-server": "^2.0.5",
"fast-uri": "^3.1.5",
+1 -1
View File
@@ -1,6 +1,6 @@
# gbrain agent workspace — template
<!-- gbrain-template-stamp: 0.45.7.0 -->
<!-- gbrain-template-stamp: 0.45.8.0 -->
This repository is the **"Use this template"** distribution artifact for a
[gbrain](https://github.com/garrytan/gbrain) personal-agent workspace — the same