Add type=agent and type=role to bead schema (gt-ikyo1, gt-gzp2y)

- Add TypeAgent and TypeRole to IssueType enum in types.go
- Update IsValid() to include new types
- Add UI styles with distinct colors (cyan for agent, green for role)
- Add RenderType cases for consistent display

This enables creating agent beads (identity) and role beads (behavior
definitions) as part of the agent-as-bead architecture.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Steve Yegge
2025-12-27 23:38:56 -08:00
parent d686f0e9b1
commit 927e8374ee
2 changed files with 17 additions and 1 deletions

View File

@@ -340,12 +340,14 @@ const (
TypeMergeRequest IssueType = "merge-request" // Merge queue entry for refinery processing
TypeMolecule IssueType = "molecule" // Template molecule for issue hierarchies (beads-1ra)
TypeGate IssueType = "gate" // Async coordination gate (bd-udsi)
TypeAgent IssueType = "agent" // Agent identity bead (gt-ikyo1)
TypeRole IssueType = "role" // Agent role definition (gt-gzp2y)
)
// IsValid checks if the issue type value is valid
func (t IssueType) IsValid() bool {
switch t {
case TypeBug, TypeFeature, TypeTask, TypeEpic, TypeChore, TypeMessage, TypeMergeRequest, TypeMolecule, TypeGate:
case TypeBug, TypeFeature, TypeTask, TypeEpic, TypeChore, TypeMessage, TypeMergeRequest, TypeMolecule, TypeGate, TypeAgent, TypeRole:
return true
}
return false

View File

@@ -105,6 +105,14 @@ var (
Light: "", // standard text color
Dark: "",
}
ColorTypeAgent = lipgloss.AdaptiveColor{
Light: "#59c2ff", // cyan - agent identity
Dark: "#59c2ff",
}
ColorTypeRole = lipgloss.AdaptiveColor{
Light: "#7fd962", // green - role definition
Dark: "#7fd962",
}
// === Issue ID Color ===
// IDs use standard text color - subtle, not attention-grabbing
@@ -151,6 +159,8 @@ var (
TypeTaskStyle = lipgloss.NewStyle().Foreground(ColorTypeTask)
TypeEpicStyle = lipgloss.NewStyle().Foreground(ColorTypeEpic)
TypeChoreStyle = lipgloss.NewStyle().Foreground(ColorTypeChore)
TypeAgentStyle = lipgloss.NewStyle().Foreground(ColorTypeAgent)
TypeRoleStyle = lipgloss.NewStyle().Foreground(ColorTypeRole)
)
// CategoryStyle for section headers - bold with accent color
@@ -296,6 +306,10 @@ func RenderType(issueType string) string {
return TypeEpicStyle.Render(issueType)
case "chore":
return TypeChoreStyle.Render(issueType)
case "agent":
return TypeAgentStyle.Render(issueType)
case "role":
return TypeRoleStyle.Render(issueType)
default:
return issueType
}