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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user