From e0e81bbdaae37353803d47fa59a36d0472f8146d Mon Sep 17 00:00:00 2001 From: Claudomator Agent Date: Sat, 14 Mar 2026 07:04:47 +0000 Subject: feat: persist agent assignment before task execution - Add UpdateTaskAgent to Store interface and DB implementation - Call UpdateTaskAgent in Pool.execute to persist assigned agent/model to database before the runner starts - Update runTask in app.js to pass selected agent as query param Co-Authored-By: Claude Sonnet 4.6 --- internal/executor/executor.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'internal/executor') diff --git a/internal/executor/executor.go b/internal/executor/executor.go index bf209b7..475d150 100644 --- a/internal/executor/executor.go +++ b/internal/executor/executor.go @@ -28,6 +28,7 @@ type Store interface { UpdateTaskQuestion(taskID, questionJSON string) error UpdateTaskSummary(taskID, summary string) error AppendTaskInteraction(taskID string, interaction task.Interaction) error + UpdateTaskAgent(id string, agent task.AgentConfig) error } // LogPather is an optional interface runners can implement to provide the log @@ -435,6 +436,11 @@ func (p *Pool) execute(ctx context.Context, t *task.Task) { } } + // Persist the assigned agent (and model) to the database before running. + if err := p.store.UpdateTaskAgent(t.ID, t.Agent); err != nil { + p.logger.Error("failed to persist agent config", "error", err, "taskID", t.ID) + } + agentType := t.Agent.Type if agentType == "" { agentType = "claude" -- cgit v1.2.3