- Add Reset section to CLI_REFERENCE.md documenting bd admin reset
- Add troubleshooting section for "old data returns after reset"
- Clarify that --hard and --skip-init flags were never implemented
- Document workarounds for complete clean slate including remote data
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
RenameDependencyPrefix updates issue IDs in the dependencies table but
was not rebuilding the blocked_issues_cache, leaving stale IDs in the
cache that no longer exist in the issues table.
Add invalidateBlockedCache() call at the end of RenameDependencyPrefix
to rebuild the cache with the new issue IDs.
Fixes: GH#1016
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
sync_base.jsonl is an internal sync mechanism file used for 3-way merge,
not a competing issue database. The doctor check now correctly ignores it.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add QualityScore *float32 field to internal/merge/merge.go to match
internal/types/types.go. Also add last-touched to .beads/.gitignore.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Apply ui.RenderMarkdown() to comment text in both bd show and
bd comments commands. This enables syntax highlighting, code
blocks, and other Markdown formatting in comments.
Change IssueType and IssueStatus from Literal to str to support
custom types configured via:
bd config set types.custom "agent,molecule,event"
bd config set status.custom "awaiting_review,awaiting_testing"
The CLI handles validation of these values against the configured
options. The MCP layer is just a transport and shouldn't re-validate
what the CLI already validates.
This fixes Pydantic validation errors when listing issues that have
custom types like 'event', 'molecule', or 'agent'.
Built-in types: bug, feature, task, epic, chore
Built-in statuses: open, in_progress, blocked, deferred, closed
* test(validation): add failing tests for hyphenated prefix parsing
Reproduces bug where `bd create --parent` fails for projects with
hyphenated prefixes like "bead-me-up" or "web-app".
Root cause: ValidateIDFormat splits on first hyphen, so:
"bead-me-up-3e9.1" → prefix "bead" (wrong, should be "bead-me-up")
The bug flow in create.go:
1. User runs: bd create "Child" --parent bead-me-up-3e9
2. GetNextChildID generates: bead-me-up-3e9.1
3. ValidateIDFormat extracts: "bead" (splits at first hyphen)
4. ValidatePrefix compares: "bead" vs "bead-me-up" → MISMATCH
Tests added:
- TestValidateIDFormat: 6 cases for hyphenated prefix IDs
- TestValidateIDFormat_ParentChildFlow: simulates exact --parent flow,
showing simple prefixes pass while hyphenated prefixes fail
Workaround: use --force flag to bypass prefix validation.
* fix(validation): support hyphenated prefixes in ValidateIDFormat
Use utils.ExtractIssuePrefix instead of naive first-hyphen splitting.
This fixes bd create --parent failing for projects with hyphenated
prefixes like "bead-me-up" or "web-app".
Before: "bead-me-up-3e9" → prefix "bead" (wrong)
After: "bead-me-up-3e9" → prefix "bead-me-up" (correct)
ExtractIssuePrefix uses smart heuristics: split on last hyphen,
check if suffix is hash-like (3-8 chars, alphanumeric, digits for 4+).
* Update internal/validation/bead_test.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>