Commit Graph

1153 Commits

Author SHA1 Message Date
Steve Yegge c4e30c0f0c chore: close bd-drmg (GH#483 fix) 2025-12-16 01:08:04 -08:00
Steve Yegge 0c9e78f42e fix: improve priority format documentation and error message (GH#517)
Claude was using word-based priorities like "medium" instead of numeric
values (0-4 or P0-P4), causing bd create commands to fail in a loop.

Changes:
- Update bd prime output to clearly document priority format with example
- Add explicit note: NOT "high"/"medium"/"low"
- Improve error message to mention that words are not valid

Closes #517

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 01:07:55 -08:00
Steve Yegge 3c58e0aa25 fix(hooks): pre-commit no longer blocks when .beads removed (GH#483)
Two fixes to make pre-commit hook more resilient:

1. Check if beads is actually initialized (has db, config, or jsonl)
   - Empty .beads directory no longer triggers sync attempt
   - Handles case where .beads was removed from git but dir lingers

2. Make sync failure a warning instead of blocking error
   - Beads issues shouldn't prevent code commits
   - User can still run 'bd sync --flush-only' manually

Also synced examples/git-hooks/pre-commit with template (worktree handling).

Closes #483

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 01:07:48 -08:00
Ryan Snodgrass c7b45a8a40 fix(import): support hierarchical hash IDs in --rename-on-import
The isNumeric function was rejecting valid hierarchical hash IDs like
'6we.2' that contain dots for parent.child notation. This caused
`bd import --rename-on-import` to fail with "non-numeric suffix" errors.

Changes:
- Rename isNumeric to isValidIDSuffix for clarity
- Accept dots (.) in addition to alphanumeric for hierarchical IDs
- Update test cases to cover hierarchical ID formats
2025-12-16 00:12:10 -08:00
Steve Yegge a6e28f7087 bd-411u: Document BEADS_DIR pattern for Gas Town integration
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 22:09:15 -08:00
Steve Yegge 936c446d3c chore: sync beads changes
🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-12-14 23:08:29 -08:00
Steve Yegge 7675c1dc31 chore: close bd-7r4l after implementing claude.local.md support 2025-12-14 17:29:50 -08:00
Steve Yegge b7cbce4e21 chore: close bd-cyec (GH#510 docs complete) 2025-12-14 17:29:49 -08:00
Steve Yegge 0dd8914619 chore: sync beads - close bd-0yzm 2025-12-14 17:24:14 -08:00
Steve Yegge 2db4808a19 chore: sync beads state 2025-12-14 17:23:26 -08:00
Steve Yegge 6a8b278f16 chore: clean beads state 2025-12-14 17:22:31 -08:00
Steve Yegge 424b0aa68a chore: sync beads changes 2025-12-14 17:20:24 -08:00
Steve Yegge 50608ce3a5 chore: close bd-6xfz (GH#517 fix) 2025-12-14 17:19:46 -08:00
Steve Yegge 8d409fc719 chore: sync beads 2025-12-14 16:55:37 -08:00
Steve Yegge 1b5efd5d47 chore: sync beads state 2025-12-14 16:55:07 -08:00
Steve Yegge b0b4e9fa44 bd sync: 2025-12-14 16:54:27 2025-12-14 16:54:27 -08:00
Steve Yegge 9d51f0579a bd sync: 2025-12-14 16:54:23 2025-12-14 16:54:23 -08:00
Steve Yegge fc99ca0ca3 bd sync: merge divergent histories (6 local + 4 remote commits) 2025-12-14 16:54:12 -08:00
Steve Yegge 659fbd0b59 chore: remove legacy deletions files and clean up beads 2025-12-14 16:53:51 -08:00
Steve Yegge ab20f6947a chore: update beads after sync cleanup 2025-12-14 16:52:18 -08:00
Steve Yegge 509d96e58a chore: sync beads 2025-12-14 16:50:24 -08:00
Steve Yegge 48697663d8 chore: clean up beads sync state 2025-12-14 16:49:25 -08:00
Steve Yegge 86bffcc9fe chore: sync beads after prefix cleanup 2025-12-14 16:47:47 -08:00
Steve Yegge fb55272156 chore: clean beads - remove orphans and fix prefixes 2025-12-14 16:46:01 -08:00
Steve Yegge ee8fe2bbb7 chore: sync sanitized issues.jsonl 2025-12-14 16:44:51 -08:00
Steve Yegge 2b0141ec79 chore: cleanup beads - migrate tombstones, delete orphans, fix prefix mismatch 2025-12-14 16:44:13 -08:00
Steve Yegge 768db19635 chore: clean up orphaned issues and sync beads state 2025-12-14 16:43:53 -08:00
Steve Yegge 58a5b4a54f chore: sync beads state after preflight fix 2025-12-14 16:42:15 -08:00
Steve Yegge eed8587208 chore: cleanup orphaned issues and sync beads 2025-12-14 16:42:09 -08:00
Steve Yegge 87625b99e4 chore: sync beads after import fix 2025-12-14 16:41:57 -08:00
Steve Yegge aa1e8db78f chore: sync beads 2025-12-14 16:41:06 -08:00
Steve Yegge 6c2c37ec52 chore: sync beads after sanitization 2025-12-14 16:39:53 -08:00
Steve Yegge e6c6581b65 chore: sync beads after prefix fix 2025-12-14 16:39:04 -08:00
Steve Yegge aa89c43573 chore: sync beads after preflight fix 2025-12-14 16:38:05 -08:00
Steve Yegge e5f185875e chore: sanitize beads after sync 2025-12-14 15:24:08 -08:00
Steve Yegge 8a7b9afea3 chore: sync beads changes 2025-12-14 15:23:35 -08:00
Steve Yegge 43addba194 chore: sync issues after lockfile test coverage 2025-12-14 15:22:30 -08:00
Steve Yegge d7a813c045 chore: sync issues.jsonl after PR #555 merge 2025-12-14 15:13:34 -08:00
Steve Yegge a60972cd6a Merge remote-tracking branch 'origin/main' into performance-fix 2025-12-14 14:53:30 -08:00
matt wilkie a22d949cbd Fix bd-in7q: prevent migrate-tombstones from corrupting deletions manifest (#554)
Root cause: bd doctor hydrate was re-adding migrated tombstones to the
deletions manifest because getCurrentJSONLIDs() included all issues,
including tombstones. When compared against git history, tombstones
appeared as 'deleted' and were incorrectly added to the manifest as new
deletions, corrupting the database on next sync.

Fix: Skip tombstone-status issues in getCurrentJSONLIDs() so they don't
participate in deletion detection. Tombstones represent already-recorded
deletions/migrations and shouldn't be treated as active issues.

Changes:
- cmd/bd/doctor/fix/deletions.go: Skip tombstones in getCurrentJSONLIDs()
- cmd/bd/doctor/fix/deletions_test.go: New tests for tombstone skipping
- cmd/bd/migrate_tombstones_test.go: Test that tombstones are valid

This fixes the bug where 'bd migrate-tombstones' followed by 'bd sync'
would add thousands of deletion records with author 'bd-doctor-hydrate'
2025-12-14 14:11:27 -08:00
Ryan Snodgrass f88a0d015b feat(cli): add 'bd thanks' command to thank contributors
Adds a new command that displays a thank you page listing all human
contributors to the beads project. Features:

- Static list of contributors (compiled into binary)
- Top 20 featured contributors displayed in columns
- Additional contributors in wrapped list
- Styled output using lipgloss (colored box, sections)
- Dynamic width based on content
- JSON output support (--json flag)
- Excludes bots and AI agents by email pattern
2025-12-14 12:40:32 -08:00
Steve Yegge 70d09be1bc chore: upgrade bd-3ee1 to P0 2025-12-14 00:46:41 -08:00
Steve Yegge a61ca252ae fix(cleanup): resolve CHECK constraint failure and add tombstone pruning
- Fix bd-tnsq: executeDelete now sets closed_at=NULL when creating
  tombstones, satisfying the CHECK constraint that requires
  closed_at IS NULL when status != 'closed'

- Fix bd-08ea: cleanup command now also prunes expired tombstones
  (older than 30 days) after converting closed issues to tombstones

- Add regression test for batch deletion of closed issues

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-14 00:37:54 -08:00
Steve Yegge 21e276dfad Merge remote-tracking branch 'origin/main' into fix/nodb-mode-547 2025-12-14 00:28:25 -08:00
Steve Yegge 9db756f8b6 fix(memory): implement GetReadyWork/GetBlockedIssues + child counters
Fixes #543, #544, #545, #546 (no-db mode regressions)

Memory backend fixes:
- GetReadyWork now properly excludes issues with open blocks dependencies
- GetBlockedIssues now includes issues with status=blocked (even with 0 blockers)
- LoadFromIssues initializes hierarchical child counters from existing IDs
  so repeated --parent creates bd-xxx.1, bd-xxx.2, etc.

JSONL path discovery:
- findJSONLPath works in no-db mode when dbPath is empty
- Honors BEADS_JSONL environment variable override
- Falls back to locating .beads directory

Based on PR #547 by @joelklabo - cherry-picked core fixes.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-13 23:22:10 -08:00
Steve Yegge 7f843a6105 chore: remove 12 orphaned child issues from JSONL
Orphaned issues (children of deleted epics):
- bd-cb64c226.1, .6, .8, .9, .10, .12, .13 (cache removal epic)
- bd-cbed9619.1, .2, .3, .4, .5 (N-way collision epic)

These were completed tasks from October 2025 that became orphans
when their parent epics were deleted.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 23:04:30 -08:00
Steve Yegge dffb56299a chore: add 12 orphaned issues to deletions manifest
Added tombstones for orphaned child issues whose parent epics were deleted:
- bd-cb64c226.1, .6, .8, .9, .10, .12, .13 (cache removal epic)
- bd-cbed9619.1, .2, .3, .4, .5 (N-way collision epic)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 22:57:17 -08:00
Steve Yegge 4c985d7d3b chore: remove 12 orphaned issues (bd-cb64c226.* and bd-cbed9619.*) 2025-12-13 22:55:47 -08:00
Steve Yegge 89d97d4ccb chore: sync beads issues 2025-12-13 21:28:23 -08:00
Steve Yegge 980c4aae8f Merge branch 'main' of github.com:steveyegge/beads 2025-12-13 21:06:54 -08:00