diff options
| author | Claude <noreply@anthropic.com> | 2026-05-27 05:42:31 +0000 |
|---|---|---|
| committer | Claude <noreply@anthropic.com> | 2026-05-27 05:42:31 +0000 |
| commit | 1deee869e5cd0895e45016192dd70c0ed6c68cf3 (patch) | |
| tree | 1f83ebf537ac1ac7f0937f9e906b3f0dd617377a /internal/executor/container.go | |
| parent | b9d73497efe7c28800040b3e421bfb4cb6af6092 (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.go | 28 |
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). |
