summaryrefslogtreecommitdiff
path: root/internal/task/task.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/task/task.go')
-rw-r--r--internal/task/task.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/task/task.go b/internal/task/task.go
index 7092ce8..811379e 100644
--- a/internal/task/task.go
+++ b/internal/task/task.go
@@ -30,6 +30,14 @@ const (
type AgentConfig struct {
Type string `yaml:"type" json:"type"`
Model string `yaml:"model" json:"model"`
+ // Role, when non-empty, names an internal/role.RoleConfig to dispatch
+ // through: internal/executor.Pool.execute() resolves tier 0 of the
+ // active role_configs row's EscalationLadder for the initial dispatch
+ // (setting Type/Model from the resolved rung), and internal/scheduler
+ // walks the ladder on failure (retry-then-escalate). Tasks with
+ // Role == "" (every existing YAML/chatbot task shape) are completely
+ // unaffected — this is purely additive.
+ Role string `yaml:"role,omitempty" json:"role,omitempty"`
ContextFiles []string `yaml:"context_files" json:"context_files"`
Instructions string `yaml:"instructions" json:"instructions"`
ContainerImage string `yaml:"container_image" json:"container_image"`