summaryrefslogtreecommitdiff
path: root/internal/executor/container.go
diff options
context:
space:
mode:
authorClaude <noreply@anthropic.com>2026-05-27 05:42:31 +0000
committerClaude <noreply@anthropic.com>2026-05-27 05:42:31 +0000
commit1deee869e5cd0895e45016192dd70c0ed6c68cf3 (patch)
tree1f83ebf537ac1ac7f0937f9e906b3f0dd617377a /internal/executor/container.go
parentb9d73497efe7c28800040b3e421bfb4cb6af6092 (diff)
refactor(executor): retire the file-based question/summary fallback (Phase 8)
With the MCP agent channel validated (the spike confirmed real claude calls ask_user/report_summary through it), the container runner no longer needs the pre-MCP file fallback that read question.json/summary.txt after the agent exited. Removes that block and the now-orphaned isCompletionReport/ extractQuestionText helpers and their test. The MCP path (channelPendingQuestion) is now the sole question/summary transport. https://claude.ai/code/session_01SESwn7kQ7oP62trWw6pc39
Diffstat (limited to 'internal/executor/container.go')
-rw-r--r--internal/executor/container.go28
1 files changed, 0 insertions, 28 deletions
diff --git a/internal/executor/container.go b/internal/executor/container.go
index f78715d..3afce70 100644
--- a/internal/executor/container.go
+++ b/internal/executor/container.go
@@ -403,34 +403,6 @@ func (r *ContainerRunner) runContainer(ctx context.Context, t *task.Task, e *sto
return &BlockedError{QuestionJSON: q, SessionID: e.SessionID, SandboxDir: workspace}
}
- // Check whether the agent left a question before exiting (file fallback for
- // in-flight tasks started on the pre-MCP wire).
- questionFile := filepath.Join(logDir, "question.json")
- if data, readErr := os.ReadFile(questionFile); readErr == nil {
- os.Remove(questionFile) // consumed
- questionJSON := strings.TrimSpace(string(data))
- if isCompletionReport(questionJSON) {
- r.Logger.Info("treating question file as completion report", "taskID", e.TaskID)
- _ = ch.ReportSummary(ctx, extractQuestionText(questionJSON))
- } else {
- if e.SessionID == "" {
- r.Logger.Warn("missing session ID; resume will start fresh", "taskID", e.TaskID)
- }
- return &BlockedError{
- QuestionJSON: questionJSON,
- SessionID: e.SessionID,
- SandboxDir: workspace,
- }
- }
- }
-
- // Read agent summary if written.
- summaryFile := filepath.Join(logDir, "summary.txt")
- if summaryData, readErr := os.ReadFile(summaryFile); readErr == nil {
- os.Remove(summaryFile) // consumed
- _ = ch.ReportSummary(ctx, strings.TrimSpace(string(summaryData)))
- }
-
// 5. Post-execution: push changes if successful
if waitErr == nil && streamErr == nil {
// Check if there are any commits to push (HEAD ahead of origin/HEAD).