SQLite WAL mode writes go to the -wal file, not the main database. Without an explicit checkpoint before Close(), writes can be stranded and lost between CLI invocations. This was causing `bd migrate` to report success but not actually persist the version update to the database. Fixes #434 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>