feat(doctor): add custom types check and centralize BeadsCustomTypes

- Add BeadsCustomTypes constant ("agent,role,rig,convoy,slot") to avoid
  hardcoded strings scattered across the codebase
- Add CustomTypesCheck to gt doctor that verifies Gas Town custom types
  are registered with beads, with --fix support
- Register custom types during gt init (best-effort, skips if no beads)
- Update install.go, rig_check.go, and rig/manager.go to use the constant

This ensures consistent type registration across all code paths and
catches misconfigured beads databases via gt doctor.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
gastown/crew/george
2026-01-09 13:19:48 -08:00
committed by Steve Yegge
parent 86739556c2
commit 61b561a540
7 changed files with 179 additions and 8 deletions

View File

@@ -73,6 +73,19 @@ const (
FileAccountsJSON = "accounts.json"
)
// Beads configuration constants.
const (
// BeadsCustomTypes is the comma-separated list of custom issue types that
// Gas Town registers with beads. These types were extracted from beads core
// in v0.46.0 and now require explicit configuration.
BeadsCustomTypes = "agent,role,rig,convoy,slot"
)
// BeadsCustomTypesList returns the custom types as a slice.
func BeadsCustomTypesList() []string {
return []string{"agent", "role", "rig", "convoy", "slot"}
}
// Git branch names.
const (
// BranchMain is the default main branch name.