v0.5.0
skills/migrations/v0.5.0.md
v0.5.0 Migration: Live Sync + Verification
This migration runs automatically when upgrading from v0.4.x to v0.5.0.
1. Set up live sync (MUST DO)
Your brain repo is the source of truth. Until now, gbrain sync had to be run
manually, which meant the vector DB could silently fall behind. Corrections to
brain pages wouldn't appear in search until someone remembered to sync.
Read GBRAIN_SKILLPACK.md Section 18 for the full guide. The short version:
-
Check your connection string. If
DATABASE_URLuses Supabase's Transaction mode pooler, sync will silently skip most pages (.begin() is not a function). Switch to Session mode pooler or direct connection. This is the #1 cause of "sync ran but nothing happened." -
Set up automatic sync. Pick what fits your environment:
- Cron (recommended for agents):
gbrain sync --repo /path/to/brain && gbrain embed --staleevery 5-30 min - Watch mode:
gbrain sync --watch --repo /path/to/brainunder a process manager - GitHub webhook or git hook for instant sync
- Cron (recommended for agents):
-
Verify it works. Don't just check that the command ran. Push a test change to the brain repo, wait for the sync cycle, then
gbrain searchfor the new content. If the old content comes back, sync failed silently.
2. Run the verification runbook
New in v0.5.0: docs/GBRAIN_VERIFY.md is a 6-check runbook that catches silent
failures. Run through it once after upgrading:
gbrain doctor --json # schema OK
gbrain config get sync.last_run # recent timestamp
gbrain stats # page count + embed coverage
gbrain search "test query" # search returns results
gbrain embed --stale # catch unembedded chunks
gbrain check-update --json # update check working
The critical check: compare page count (gbrain stats) against syncable file count
in the repo. If page count is significantly lower, the pooler bug is silently
skipping pages. Fix the connection string and run gbrain sync --full.
3. Tell the user what happened
After completing steps 1-2, report:
- Whether live sync was set up and which approach was chosen
- Verification results (all 6 checks)
- Any issues found and how they were fixed (especially the pooler bug)