From 0fb4e3e81c20b2e2b58040772b747ec1dd9e09e7 Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Wed, 18 Mar 2026 00:17:50 +0000 Subject: feat: implement containerized repository-based execution model This commit implements the architectural shift from local directory-based sandboxing to containerized execution using canonical repository URLs. Key changes: - Data Model: Added RepositoryURL and ContainerImage to task/agent configs. - Storage: Updated SQLite schema and queries to handle new fields. - Executor: Implemented ContainerRunner using Docker/Podman for isolation. - API/UI: Overhauled task creation to use Repository URLs and Image selection. - Webhook: Updated GitHub webhook to derive Repository URLs automatically. - Docs: Updated ADR-005 with risk feedback and added ADR-006 to document the new containerized model. - Defaults: Updated serve command to use ContainerRunner for all agents. This fixes systemic task failures caused by build dependency and permission issues on the host system. --- internal/api/webhook.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'internal/api/webhook.go') diff --git a/internal/api/webhook.go b/internal/api/webhook.go index 0530f3e..a28b43f 100644 --- a/internal/api/webhook.go +++ b/internal/api/webhook.go @@ -219,7 +219,8 @@ func (s *Server) createCIFailureTask(w http.ResponseWriter, repoName, fullName, UpdatedAt: now, } if project != nil { - t.Agent.ProjectDir = project.Dir + t.RepositoryURL = fmt.Sprintf("https://github.com/%s.git", fullName) + t.Project = project.Name } if err := s.store.CreateTask(t); err != nil { -- cgit v1.2.3