Commit Graph

1234 Commits

Author SHA1 Message Date
Steve Yegge
9ba039ce45 bd daemon export: 2025-11-23 20:51:15 2025-11-23 20:51:15 -08:00
Steve Yegge
d91560e260 Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 20:51:11 -08:00
Steve Yegge
e8a752e707 Fix unvalidated dependency parsing in create.go
Validate dependsOnID is non-empty before setting discoveredFromParentID
to prevent attempting to fetch an issue with empty ID.

Also added validation to ensure parent issue exists before generating
child IDs in direct mode.

Fixes: bd-ia8r
2025-11-23 20:51:09 -08:00
Steve Yegge
3ca11dc440 bd sync: 2025-11-23 20:41:25 2025-11-23 20:41:25 -08:00
Steve Yegge
144f4dea32 Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 20:39:55 -08:00
Steve Yegge
c39243710c bd sync: apply DB changes after import 2025-11-23 20:38:42 -08:00
Steve Yegge
157d87ac8b Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 20:38:42 -08:00
Steve Yegge
8a2f910475 bd sync: 2025-11-23 20:38:41 2025-11-23 20:38:41 -08:00
Steve Yegge
4fd7933c10 bd sync: 2025-11-23 20:31:00
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 20:34:51 -08:00
Steve Yegge
d26f71bd31 bd daemon export: 2025-11-23 20:34:27 2025-11-23 20:34:27 -08:00
Steve Yegge
b5fb06c17d bd sync: apply DB changes after import 2025-11-23 20:32:54 -08:00
Steve Yegge
c765e6562d bd sync: 2025-11-23 20:24:44 2025-11-23 20:24:44 -08:00
Steve Yegge
58a71021ae bd sync: 2025-11-23 20:20:07 2025-11-23 20:24:40 -08:00
Steve Yegge
e07f1d43f7 bd sync: 2025-11-23 20:22:09 2025-11-23 20:22:09 -08:00
Steve Yegge
83b8e38331 bd sync: 2025-11-23 20:21:05 2025-11-23 20:21:05 -08:00
Steve Yegge
12187fcea3 bd sync: 2025-11-23 20:16:17 2025-11-23 20:16:17 -08:00
Steve Yegge
afb6c7c8d8 bd sync: 2025-11-23 20:07:46 2025-11-23 20:07:46 -08:00
Steve Yegge
d9d0189e77 bd sync: apply DB changes after import 2025-11-23 19:58:21 -08:00
Steve Yegge
2d48ae1326 Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 19:58:21 -08:00
Steve Yegge
6222f970a6 bd sync: 2025-11-23 19:58:20 2025-11-23 19:58:20 -08:00
Steve Yegge
49830f7fbb bd sync: 2025-11-23 19:56:04 2025-11-23 19:56:38 -08:00
Steve Yegge
6348417b5e bd sync: 2025-11-23 19:54:05 2025-11-23 19:54:05 -08:00
Steve Yegge
77c407fd61 bd sync: 2025-11-23 19:47:32 2025-11-23 19:47:32 -08:00
Steve Yegge
1d3d1f1c8b bd sync: apply DB changes after import 2025-11-23 19:25:39 -08:00
Steve Yegge
6cb950412a Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 19:25:39 -08:00
Steve Yegge
ec4117d08a bd init: Default to YES for git hooks and merge driver
Fixes bd-bxha

Previously, bd init prompted users to install git hooks and merge driver,
which could result in incomplete setup if declined. Changed to install
both by default for better out-of-the-box experience.

Changes:
- Install git hooks automatically unless --skip-hooks is passed
- Install merge driver automatically unless --skip-merge-driver is passed
- Remove interactive prompts (no longer needed)
- Add warning messages on failure with suggestion to run bd doctor --fix
- Add --skip-hooks flag for explicit opt-out

Users who want to skip installation can now use:
  bd init --skip-hooks --skip-merge-driver

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 19:25:33 -08:00
Steve Yegge
35dd5e1ede bd sync: apply DB changes after import 2025-11-23 19:24:35 -08:00
Steve Yegge
9cf440a919 Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 19:24:35 -08:00
Steve Yegge
c141b589b0 bd sync: 2025-11-23 19:24:34 2025-11-23 19:24:34 -08:00
Steve Yegge
3a36d0b95f Run bd doctor at end of bd init to verify setup
Implements bd-zwtq: After bd init completes, run doctor diagnostics
to catch configuration problems before user encounters them in normal
workflow. If any warnings or errors are detected, show a summary with
issue names and messages, then direct user to run 'bd doctor --fix'.

This helps users immediately identify and fix setup issues like:
- Missing git hooks
- Unconfigured merge driver
- Missing agent documentation
- Metadata tracking not initialized

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 19:18:48 -08:00
Steve Yegge
5c2597f7bd bd sync: apply DB changes after import 2025-11-23 19:12:55 -08:00
Steve Yegge
e9ad7eeade Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 19:12:54 -08:00
Steve Yegge
4a78a32407 bd sync: 2025-11-23 19:12:54 2025-11-23 19:12:54 -08:00
Steve Yegge
4ac252069b bd sync: 2025-11-23 19:09:02 2025-11-23 19:09:02 -08:00
Steve Yegge
92c9f28c23 Update bd JSONL 2025-11-23 19:04:46 -08:00
Steve Yegge
58f37d05c6 refactor: Split monolithic sqlite.go into focused files (bd-0a43)
Split internal/storage/sqlite/sqlite.go (1050 lines) into focused files
for better maintainability and code discovery:

- store.go (306 lines): SQLiteStorage struct, New() constructor,
  initialization logic, and database utilities (Close, Path, IsClosed,
  UnderlyingDB, UnderlyingConn, CheckpointWAL)

- queries.go (1173 lines): Issue CRUD operations including CreateIssue,
  GetIssue, GetIssueByExternalRef, UpdateIssue, UpdateIssueID,
  CloseIssue, DeleteIssue, DeleteIssues, SearchIssues with all helpers

- config.go (95 lines): Configuration and metadata management (SetConfig,
  GetConfig, GetAllConfig, DeleteConfig, SetMetadata, GetMetadata) plus
  OrphanHandling type definitions

- comments.go (83 lines): Comment operations (AddIssueComment,
  GetIssueComments)

- sqlite.go (31 lines): Package documentation explaining file organization

Additional changes:
- Removed duplicate OrphanHandling definition from ids.go (was causing
  build error with new config.go)

Impact:
- Zero functional changes, all tests pass (2.6s runtime)
- Improved code discovery: easy to locate specific functionality
- Better maintainability: related code grouped logically
- Reduced cognitive load: smaller, focused files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 19:04:34 -08:00
Steve Yegge
0fb4fc0cd5 bd sync: apply DB changes after import 2025-11-23 18:28:07 -08:00
Steve Yegge
32aeab503a Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 18:28:07 -08:00
Steve Yegge
4a9d6e6dd7 fix: Code review fixes for auto-migration (bd-jgxi)
Critical fixes from code review:

1. **Moved auto-migration to correct location**
   - Now runs AFTER daemon check but BEFORE opening database
   - Prevents: database opened twice, conflicts with daemon
   - Was: Running too early, before knowing if daemon exists

2. **Fixed context cancellation issue**
   - Check if rootCtx is canceled before using it
   - Fall back to Background() if canceled
   - Fixes: "context canceled" errors in test suite

3. **Updated function signature**
   - Takes dbPath as parameter (no longer searches for it)
   - Simpler, more explicit, easier to test
   - Caller already has dbPath, no need to re-discover

4. **Enhanced test reliability**
   - Save/restore all global state
   - Add debug logging for troubleshooting
   - Verify preconditions before migration

Changes:
- cmd/bd/main.go: Move autoMigrateOnVersionBump call to correct location
- cmd/bd/version_tracking.go: Fix context handling, update signature
- cmd/bd/version_tracking_test.go: Improve test reliability

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 18:28:01 -08:00
Steve Yegge
37ab0ffaa0 bd sync: apply DB changes after import 2025-11-23 18:15:30 -08:00
Steve Yegge
fdb3c53980 Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 18:15:29 -08:00
Steve Yegge
c2b6ae164f bd sync: 2025-11-23 18:15:28 2025-11-23 18:15:28 -08:00
Steve Yegge
49db20c594 Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 18:09:38 -08:00
Steve Yegge
18cedfc77b bd sync: apply DB changes after import 2025-11-23 18:09:38 -08:00
Steve Yegge
2e81fbc23e bd sync: 2025-11-23 18:09:37 2025-11-23 18:09:37 -08:00
Steve Yegge
7796f5c7f5 feat: Auto-migrate database on CLI version bump (bd-jgxi)
When CLI is upgraded (e.g., 0.24.0 → 0.24.1), the database version
is now automatically updated to match the CLI version during
PersistentPreRun. This fixes the recurring UX issue where bd doctor
shows version mismatch after every CLI upgrade.

Implementation:
- Added autoMigrateOnVersionBump() function in version_tracking.go
- Calls after trackBdVersion() in PersistentPreRun
- Best-effort and silent failures to avoid disrupting commands
- Only updates bd_version metadata field
- Includes comprehensive test coverage

Changes:
- cmd/bd/main.go: Call autoMigrateOnVersionBump() in PersistentPreRun
- cmd/bd/version_tracking.go: Implement auto-migration logic
- cmd/bd/version_tracking_test.go: Add tests for auto-migration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 18:09:24 -08:00
Steve Yegge
eba1c99c9e bd sync: apply DB changes after import 2025-11-23 18:06:30 -08:00
Steve Yegge
f720b0a228 Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 18:06:29 -08:00
Steve Yegge
db196b7990 Update beads metadata version 2025-11-23 18:06:25 -08:00
Steve Yegge
0d22641e8e bd sync: 2025-11-23 18:05:45 2025-11-23 18:05:45 -08:00