feat(types): add custom type support to beads config (bd-649s)
Add types.custom config key mirroring the status.custom pattern: - Add CustomTypeConfigKey constant and GetCustomTypes() to storage interface - Add IssueType.IsValidWithCustom() method for validation - Add ValidateWithCustom() to Issue for combined status/type validation - Update all validation call sites to use GetCustomTypes() - Rename parseCustomStatuses to parseCommaSeparated for reuse This enables Gas Town to register custom types like agent/role/rig/convoy without hardcoding them in beads core, supporting the type extraction epic. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Executed-By: beads/crew/dave Rig: beads Role: crew
This commit is contained in:
committed by
Steve Yegge
parent
3287340678
commit
b7358f17bf
@@ -205,14 +205,14 @@ func TestParseCustomStatuses(t *testing.T) {
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
got := parseCustomStatuses(tt.value)
|
||||
got := parseCommaSeparated(tt.value)
|
||||
if len(got) != len(tt.want) {
|
||||
t.Errorf("parseCustomStatuses() = %v, want %v", got, tt.want)
|
||||
t.Errorf("parseCommaSeparated() = %v, want %v", got, tt.want)
|
||||
return
|
||||
}
|
||||
for i := range got {
|
||||
if got[i] != tt.want[i] {
|
||||
t.Errorf("parseCustomStatuses()[%d] = %v, want %v", i, got[i], tt.want[i])
|
||||
t.Errorf("parseCommaSeparated()[%d] = %v, want %v", i, got[i], tt.want[i])
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user