In multi-workspace setups like Gas Town, nested .beads directories are
intentional and separate:
- Town level: ~/gt/.beads
- Rig level: ~/gt/gastown/.beads
Previously, FindAllDatabases() walked up the entire directory tree
and warned about "multiple databases detected" even though these are
unrelated beads instances for different scopes.
Now FindAllDatabases() stops as soon as it finds the first (closest)
.beads directory. Parent directories are out of scope.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replaces manual working directory save/restore patterns
with Go's built-in `t.Chdir()` helper across 23 test files.
The manual pattern involved calling `os.Getwd()` to save
the original directory, using `defer os.Chdir(origWd)` for
restoration, and manually handling errors during directory
changes. This boilerplate has been replaced with single
`t.Chdir(path)` calls that handle cleanup automatically.
The `t.Chdir()` method automatically restores the working
directory when the test completes, eliminating the need for
manual defer statements and error handling.
Total:
~75 instances replaced (assuming Claude's math is right)
Co-authored-by: Claude <noreply@anthropic.com>