summaryrefslogtreecommitdiff
path: root/internal/executor/executor.go
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-03-15 03:39:49 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-15 03:39:49 +0000
commit6ff67a57d72317360cacd4b41560395ded117d20 (patch)
tree39fdc413f3c985dcf13424bbca01eb152d80e3c5 /internal/executor/executor.go
parent43440200facf9f7c51ba4f4638e69e7d651dd50d (diff)
feat: fix task failures via sandbox improvements and display commits in Web UI
- Fix ephemeral sandbox deletion issue by passing $CLAUDOMATOR_PROJECT_DIR to agents and using it for subtask project_dir. - Implement sandbox autocommit in teardown to prevent task failures from uncommitted work. - Track git commits created during executions and persist them in the DB. - Display git commits and changestats badges in the Web UI execution history. - Add badge counts to Web UI tabs for Interrupted, Ready, and Running states. - Improve scripts/next-task to handle QUEUED tasks and configurable DB path.
Diffstat (limited to 'internal/executor/executor.go')
-rw-r--r--internal/executor/executor.go1
1 files changed, 1 insertions, 0 deletions
diff --git a/internal/executor/executor.go b/internal/executor/executor.go
index fd37c33..f85f1ff 100644
--- a/internal/executor/executor.go
+++ b/internal/executor/executor.go
@@ -355,6 +355,7 @@ func (p *Pool) handleRunResult(ctx context.Context, t *task.Task, exec *storage.
}
if exec.StdoutPath != "" {
if cs := task.ParseChangestatFromFile(exec.StdoutPath); cs != nil {
+ exec.Changestats = cs
if csErr := p.store.UpdateExecutionChangestats(exec.ID, cs); csErr != nil {
p.logger.Error("failed to store changestats", "execID", exec.ID, "error", csErr)
}