* 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>
8.1 KiB
8.1 KiB