Commit Graph

268 Commits

Author SHA1 Message Date
Steve Yegge
ff2a2250f3 Close bd-9f86-baseline-test: test compilation errors fixed 2025-11-21 11:04:34 -05:00
Steve Yegge
d99222d895 Restore stable state: revert to beads.jsonl with 538 issues
- Revert migration to issues.jsonl (was causing data corruption)
- Backup issues.jsonl for reference
- Database and beads.jsonl now in sync (538 issues)
- Clean slate for stable operations
2025-11-20 19:48:26 -05:00
Steve Yegge
764886b3e7 bd sync: 2025-11-20 19:38:13 2025-11-20 19:38:13 -05:00
Steve Yegge
f01326832f Enhance bd doctor with bd prime migration recommendations (bd-0fvq)
Add comprehensive detection and migration guidance for old beads integration
patterns. This helps users adopt the more efficient bd prime approach.

Changes:
- Enhanced CheckLegacyBeadsSlashCommands with detailed migration steps
  and token efficiency benefits (99% reduction: ~10.5k → ~50 tokens)
- Added CheckAgentDocumentation to detect missing AGENTS.md/CLAUDE.md
  and suggest bd onboard or bd setup claude
- Enhanced CheckClaude to recommend bd prime hooks for MCP-only setups
  with clear token efficiency messaging
- Added comprehensive tests for all new checks

bd doctor now detects:
1. Old slash command patterns (/beads:*) and recommends bd prime hooks
2. Missing agent documentation and suggests creating it
3. MCP-only setups without hooks and shows token savings potential
4. Provides clear migration paths and benefits for all scenarios

Token efficiency messaging:
- MCP mode: ~50 tokens vs ~10.5k for full scan (99% reduction)
- CLI mode: ~1-2k tokens with automatic context recovery
- Hooks auto-refresh context on SessionStart and PreCompact

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 19:36:48 -05:00
Steve Yegge
1458519536 Merge remote-tracking branch 'origin/main'
Resolved JSONL conflicts using bd merge tool.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 19:31:16 -05:00
Steve Yegge
8b0a8faa76 Merge remote-tracking branch 'origin/main'
Resolved JSONL conflicts using bd merge tool.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 19:31:00 -05:00
Steve Yegge
4f481c88b1 Close bd-5qim (GetReadyWork optimization completed in 690c73f) 2025-11-20 19:30:27 -05:00
Steve Yegge
25e0ff6335 bd sync: 2025-11-20 19:29:56 2025-11-20 19:29:56 -05:00
Steve Yegge
8952254ed8 Update bd JSONL
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 19:29:44 -05:00
Steve Yegge
109b9d275a Close bd-g9eu (TestRoutingIntegration investigation)
Issue was already fixed in commit 8e05847. Build error was due to
accidentally deleted sqlite.go, now restored.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 19:24:16 -05:00
Steve Yegge
88210fe039 Clean up spurious and duplicate issues
Deleted 94 spurious test and duplicate issues:
- 39 simple test placeholders (Issue 1/2, Test issue 0/1/2, Batch/Rapid tests)
- 29 additional test issues with empty descriptions
- 3 test epic issues
- 23 duplicate issues (kept oldest instance of each)

Also cleaned up:
- 10 dependency links
- 17 labels
- 127 events

Reduced issue count from 540 to 446 issues.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 19:22:47 -05:00
Steve Yegge
bc2c3517f9 bd sync: 2025-11-20 19:13:10 2025-11-20 19:13:10 -05:00
Steve Yegge
221a7d4db6 bd sync: 2025-11-20 19:08:23 2025-11-20 19:10:37 -05:00
Steve Yegge
1736f9f12d bd sync: 2025-11-20 18:58:07 2025-11-20 19:10:37 -05:00
Steve Yegge
e9f5a0c35a Update issues.jsonl
Amp-Thread-ID: https://ampcode.com/threads/T-fc47ce9d-88a4-4bcd-b9cb-79327d98dee7
Co-authored-by: Amp <amp@ampcode.com>
2025-11-20 19:09:15 -05:00
Steve Yegge
5c177a4f27 Migrate to issues.jsonl
Amp-Thread-ID: https://ampcode.com/threads/T-fc47ce9d-88a4-4bcd-b9cb-79327d98dee7
Co-authored-by: Amp <amp@ampcode.com>
2025-11-20 19:08:39 -05:00
Steve Yegge
8e05847d31 Fix TestRoutingIntegration and improve DetectUserRole robustness
Amp-Thread-ID: https://ampcode.com/threads/T-fc47ce9d-88a4-4bcd-b9cb-79327d98dee7
Co-authored-by: Amp <amp@ampcode.com>
2025-11-20 19:04:42 -05:00
Codex Agent
70c36f8a4d update beads db 2025-11-12 13:23:11 -07:00
Steve Yegge
384a369acf Sync beads database 2025-11-08 15:58:51 -08:00
Steve Yegge
9ee45e1971 Auto-invoke 3-way merge for JSONL conflicts (bd-jjua)
When git pull encounters merge conflicts in .beads/beads.jsonl, the
post-merge hook runs 'bd sync --import-only' which previously failed
with an error message pointing users to manual resolution.

This commit adds automatic 3-way merge resolution as a fallback safety
net that works alongside the git merge driver.

Changes:
- Modified conflict detection in import.go to attempt automatic merge
- Added attemptAutoMerge() function that:
  - Extracts git conflict stages (:1 base, :2 ours, :3 theirs)
  - Invokes 'bd merge' command for intelligent field-level merging
  - Writes merged result back and auto-stages the file
  - Restarts import with merged JSONL on success
- Falls back to manual resolution instructions only if auto-merge fails

Defense-in-depth approach:
1. Primary: git merge driver prevents most conflicts during merge
2. Fallback: import auto-merge handles any that slip through

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 03:17:58 -08:00
Steve Yegge
93c90a48f5 Add dependencies for Agent Mail integration issues 2025-11-07 23:04:44 -08:00
Steve Yegge
73e73aecf9 File bd-srwk: Prevent stale database exports
bd export currently silently overwrites issues.jsonl even when the
database is stale (older than the JSONL file). This causes data loss
in multi-agent workflows.

Real incident from vc project:
- Agent A created 4 discovery epics and exported
- Agent B had stale database and exported, removing those epics
- Required manual recovery

Proposed fix: Check database freshness before export, similar to
VC's ValidateDatabaseFreshness(). Require --force to override.

Priority P1: Silent data loss in common multi-agent scenario.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 19:39:44 -08:00
Steve Yegge
4460ede3a7 Remove dead issues.jsonl and add bd-1ezg sync investigation issue 2025-11-06 19:01:03 -08:00
Steve Yegge
8bf6f20387 File bd-5ots: SearchIssues N+1 query bug 2025-11-05 19:12:08 -08:00
Steve Yegge
019c34029f removed bogus old issues file 2025-11-04 22:50:36 -08:00
Steve Yegge
ba325a2931 Remove spurious test issues from issues.jsonl
These test issues (Frontend task, Backend task, Test Epic, etc.) were
accidentally committed during template feature development and kept
getting re-imported by auto-sync.

Restores issues.jsonl to the state before commit eb434dd.

Amp-Thread-ID: https://ampcode.com/threads/T-29a525fd-6b2d-4601-99ea-fce8c5cf6b13
Co-authored-by: Amp <amp@ampcode.com>
2025-11-04 11:26:21 -08:00
Steve Yegge
eb434dd08c Add template support for issue creation (bd-164b)
- Built-in templates: epic, bug, feature (embedded in binary)
- Custom templates in .beads/templates/ (override built-ins)
- Commands: bd template list/show/create
- Flag: bd create --from-template <name> "Title"
- Template fields: description, type, priority, labels, design, acceptance
- Security: sanitize template names to prevent path traversal
- Flag precedence: explicit flags override template defaults
- Tests: template loading, security, flag precedence
- Docs: commands/template.md and README.md updated

Closes bd-164b

Amp-Thread-ID: https://ampcode.com/threads/T-118fe54f-b112-4f99-a3d9-b7df53fb7284
Co-authored-by: Amp <amp@ampcode.com>
2025-11-03 20:31:11 -08:00
Steve Yegge
e07e3a7833 bd sync: 2025-11-03 12:30:28 2025-11-03 12:30:28 -08:00
Steve Yegge
613f0dfff4 removed obsolete/wrong database file 2025-10-30 22:47:49 -07:00
Steve Yegge
71fc67f4e3 bd sync: 2025-10-30 19:57:06 2025-10-30 19:57:06 -07:00
Steve Yegge
cd7bdb301d Generate 6-char hash IDs with progressive 7/8-char fallback on collision (bd-7c87cf24)
- Changed generateHashID to start with 6 chars (3 bytes), expand to 7/8 on collision
- Updated both CreateIssue and CreateIssues (batch) to use progressive length fallback
- Updated tests to accept 9-11 char IDs (bd- + 6-8 hex chars)
- All new issues now generate with shorter, more readable IDs
- Existing 8-char IDs preserved (no migration needed)

Amp-Thread-ID: https://ampcode.com/threads/T-8a6058af-9f42-4bff-be02-8c8bce41eeb5
Co-authored-by: Amp <amp@ampcode.com>
2025-10-30 18:16:24 -07:00
Steve Yegge
edd39ef4a3 Remove polluted issues.jsonl (beads.jsonl is the real database)
Amp-Thread-ID: https://ampcode.com/threads/T-f6b7244f-58ec-4b8b-b54d-fe8b6d59f398
Co-authored-by: Amp <amp@ampcode.com>
2025-10-30 14:27:23 -07:00
Steve Yegge
9d0d6648bd Close bd-99 2025-10-28 20:47:34 -07:00
Steve Yegge
402931b081 Clean up database split: remove bd.jsonl and issues.jsonl duplicates
- Removed stale bd.jsonl (old data before compaction)
- Removed stale issues.jsonl (old data before compaction)
- Added config.json to track canonical JSONL filename (beads.jsonl)
- Database now has single source of truth: beads.jsonl (167 issues)
- No code changes needed - FindJSONLPath() glob correctly finds existing beads.jsonl

Amp-Thread-ID: https://ampcode.com/threads/T-f25fe193-4185-40be-b5bc-e5725a3dbf1b
Co-authored-by: Amp <amp@ampcode.com>
2025-10-27 18:23:29 -07:00
Steve Yegge
36fc8a19e6 Restore clean issue state after database corruption recovery
- Removed 173 duplicate beads- prefix issues
- Database now contains 165 clean bd- issues
- Fixed database prefix config from beads- to bd-
- All data recovered successfully from .beads/beads.db

Amp-Thread-ID: https://ampcode.com/threads/T-229f87e4-f015-4284-8568-9069cfae4fda
Co-authored-by: Amp <amp@ampcode.com>
2025-10-26 21:35:12 -07:00
Steve Yegge
c91e83e993 Add bd sync --import-only flag and git pull integration test (bd-124, bd-125)
- Add --import-only flag to bd sync command for manual JSONL import after git pull
- Show import summary output instead of suppressing it
- Add comprehensive integration test for git pull sync scenario
- Test covers non-daemon auto-import and bd sync command
- Verify performance of import operations

Closes bd-123, bd-114, bd-124, bd-125, bd-136, bd-137

Amp-Thread-ID: https://ampcode.com/threads/T-7d8dc20f-baf2-4d1d-add1-57fa67028c15
Co-authored-by: Amp <amp@ampcode.com>
2025-10-26 12:37:46 -07:00
Steve Yegge
d1d3fcdf02 Rename issues.jsonl → beads.jsonl (fresh start after test pollution)
Amp-Thread-ID: https://ampcode.com/threads/T-b160879b-cb6f-4e4c-9348-abcc69ee5048
Co-authored-by: Amp <amp@ampcode.com>
2025-10-22 12:40:14 -07:00
Steve Yegge
1363ac74c8 Re-add .beads/issues.jsonl with clean state 2025-10-22 12:32:26 -07:00
Steve Yegge
edb6016949 Stop tracking .beads/issues.jsonl - reset due to test pollution 2025-10-22 12:30:34 -07:00
Steve Yegge
d9e1ee9dd6 Make merge command idempotent for safe retry after partial failures (bd-26)
- Added mergeResult struct to track operations (added vs skipped)
- Check if source issues already closed before attempting to close
- Track dependencies migrated vs already existed
- Count text references updated
- Display detailed breakdown of operations in output
- Updated help text to clarify idempotent behavior
- Added comprehensive tests for idempotent retry scenarios
2025-10-22 12:24:08 -07:00
Steve Yegge
bafc1a9ded Close bd-16, merge bd-53 into bd-26, start bd-26
- Close bd-16: transaction support superseded by idempotency approach
- Merge duplicate bd-53 into bd-26
- Start bd-26: Make merge command idempotent

Amp-Thread-ID: https://ampcode.com/threads/T-95a37593-fd67-4e99-bc84-ace580b4776d
Co-authored-by: Amp <amp@ampcode.com>
2025-10-22 11:57:16 -07:00
Steve Yegge
4ef995b0e4 Document merge command and AI duplicate detection workflow (bd-29)
- Add comprehensive merge command documentation to README.md
- Add AI agent duplicate detection workflow to AGENTS.md
- Include command syntax, examples, and best practices
- Close bd-29

Amp-Thread-ID: https://ampcode.com/threads/T-95a37593-fd67-4e99-bc84-ace580b4776d
Co-authored-by: Amp <amp@ampcode.com>
2025-10-22 11:48:12 -07:00
Steve Yegge
a7ce986555 Update issues: closed bd-18 2025-10-22 11:31:14 -07:00
Steve Yegge
cbe5daae1f Close completed merge tasks and test pollution issues 2025-10-22 01:08:24 -07:00
Steve Yegge
47b892731a Auto-sync after renumber: remove deleted issues, add comment
Amp-Thread-ID: https://ampcode.com/threads/T-5ad38d33-28ba-4f47-997a-b0d7e0331c26
Co-authored-by: Amp <amp@ampcode.com>
2025-10-22 00:56:33 -07:00
Steve Yegge
6571e31063 Renumber issues from bd-1070 to bd-26
Counter now reset to 26. Next issue will be bd-27 instead of bd-1071.

Amp-Thread-ID: https://ampcode.com/threads/T-5ad38d33-28ba-4f47-997a-b0d7e0331c26
Co-authored-by: Amp <amp@ampcode.com>
2025-10-22 00:55:04 -07:00
Steve Yegge
d665882041 Mark bd-19 as open 2025-10-22 00:50:15 -07:00
Steve Yegge
3b782a8e24 Delete test pollution and renumber issues (151→55) 2025-10-22 00:48:46 -07:00
Steve Yegge
75844586ce Update issues: close bd-1 2025-10-22 00:45:08 -07:00
Steve Yegge
97e5df1180 Fix bd-1: Prevent test database pollution
Tests were connecting to test daemon but daemon routed to production DB via
findDatabaseForCwd(). Fixed by ensuring tests use isolated .beads directories
and change working directory to tmpDir.

Changes:
- bench_test.go: Added .beads subdir, chdir, and client.dbPath to setupBenchServer
- bench_test.go: Set dbPath for goroutine clients in BenchmarkConcurrentAgents
- comments_test.go: Refactored to use setupTestServer
- version_test.go: Fixed 4 tests to use setupTestServerIsolated with proper isolation
- rpc_test.go: Added setupTestServerIsolated() helper for custom test setup

Verified: RPC test suite runs with no database pollution (151→151 issues)
Amp-Thread-ID: https://ampcode.com/threads/T-348b7ba8-4292-4ed3-b143-0ad07d226c21
Co-authored-by: Amp <amp@ampcode.com>
2025-10-22 00:43:42 -07:00