diff --git a/.github/workflows/ci-doctor.lock.yml b/.github/workflows/ci-doctor.lock.yml index 7cb26f3ca4..fe2eacfae5 100644 --- a/.github/workflows/ci-doctor.lock.yml +++ b/.github/workflows/ci-doctor.lock.yml @@ -1687,16 +1687,6 @@ jobs: name: agent_output.json path: ${{ env.GITHUB_AW_AGENT_OUTPUT }} if-no-files-found: warn - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/.github/workflows/dev.lock.yml b/.github/workflows/dev.lock.yml index c87b69025e..22c3fd3180 100644 --- a/.github/workflows/dev.lock.yml +++ b/.github/workflows/dev.lock.yml @@ -1683,16 +1683,6 @@ jobs: name: agent_output.json path: ${{ env.GITHUB_AW_AGENT_OUTPUT }} if-no-files-found: warn - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-ai-inference-github-models.lock.yml b/pkg/cli/workflows/test-ai-inference-github-models.lock.yml index e8ef335120..bac3bb4c5e 100644 --- a/pkg/cli/workflows/test-ai-inference-github-models.lock.yml +++ b/pkg/cli/workflows/test-ai-inference-github-models.lock.yml @@ -290,16 +290,6 @@ jobs: # Show last few lines for debugging echo "=== Last 10 lines of Claude execution log ===" tail -10 /tmp/test-ai-inference-github-models.log || echo "No log content available" - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-claude-add-issue-comment.lock.yml b/pkg/cli/workflows/test-claude-add-issue-comment.lock.yml index f1f790bc2c..64c69375c9 100644 --- a/pkg/cli/workflows/test-claude-add-issue-comment.lock.yml +++ b/pkg/cli/workflows/test-claude-add-issue-comment.lock.yml @@ -287,16 +287,6 @@ jobs: # Show last few lines for debugging echo "=== Last 10 lines of Claude execution log ===" tail -10 /tmp/test-claude-add-issue-comment.log || echo "No log content available" - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-claude-add-issue-labels.lock.yml b/pkg/cli/workflows/test-claude-add-issue-labels.lock.yml index c411b52e4c..29aeb85463 100644 --- a/pkg/cli/workflows/test-claude-add-issue-labels.lock.yml +++ b/pkg/cli/workflows/test-claude-add-issue-labels.lock.yml @@ -287,16 +287,6 @@ jobs: # Show last few lines for debugging echo "=== Last 10 lines of Claude execution log ===" tail -10 /tmp/test-claude-add-issue-labels.log || echo "No log content available" - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-claude-cache-memory.lock.yml b/pkg/cli/workflows/test-claude-cache-memory.lock.yml index 8d89b9b642..e8096cc439 100644 --- a/pkg/cli/workflows/test-claude-cache-memory.lock.yml +++ b/pkg/cli/workflows/test-claude-cache-memory.lock.yml @@ -352,16 +352,6 @@ jobs: # Show last few lines for debugging echo "=== Last 10 lines of Claude execution log ===" tail -10 /tmp/test-claude-with-cache-memory-and-custom-docker-image.log || echo "No log content available" - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-claude-command.lock.yml b/pkg/cli/workflows/test-claude-command.lock.yml index fc935a595b..ca4f130b4f 100644 --- a/pkg/cli/workflows/test-claude-command.lock.yml +++ b/pkg/cli/workflows/test-claude-command.lock.yml @@ -287,16 +287,6 @@ jobs: # Show last few lines for debugging echo "=== Last 10 lines of Claude execution log ===" tail -10 /tmp/test-claude-command.log || echo "No log content available" - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-claude-create-issue.lock.yml b/pkg/cli/workflows/test-claude-create-issue.lock.yml index cb4651287e..3e3e8a1cb1 100644 --- a/pkg/cli/workflows/test-claude-create-issue.lock.yml +++ b/pkg/cli/workflows/test-claude-create-issue.lock.yml @@ -287,16 +287,6 @@ jobs: # Show last few lines for debugging echo "=== Last 10 lines of Claude execution log ===" tail -10 /tmp/test-claude-create-issue.log || echo "No log content available" - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-claude-create-pull-request-review-comment.lock.yml b/pkg/cli/workflows/test-claude-create-pull-request-review-comment.lock.yml index 2796376dd4..38b2196c09 100644 --- a/pkg/cli/workflows/test-claude-create-pull-request-review-comment.lock.yml +++ b/pkg/cli/workflows/test-claude-create-pull-request-review-comment.lock.yml @@ -287,16 +287,6 @@ jobs: # Show last few lines for debugging echo "=== Last 10 lines of Claude execution log ===" tail -10 /tmp/test-claude-create-pull-request-review-comment.log || echo "No log content available" - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-claude-create-pull-request.lock.yml b/pkg/cli/workflows/test-claude-create-pull-request.lock.yml index b5a26ed222..9ce71b523b 100644 --- a/pkg/cli/workflows/test-claude-create-pull-request.lock.yml +++ b/pkg/cli/workflows/test-claude-create-pull-request.lock.yml @@ -292,16 +292,6 @@ jobs: # Show last few lines for debugging echo "=== Last 10 lines of Claude execution log ===" tail -10 /tmp/test-claude-create-pull-request.log || echo "No log content available" - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-claude-create-repository-security-advisory.lock.yml b/pkg/cli/workflows/test-claude-create-repository-security-advisory.lock.yml index 1b9c8058cf..98e62aa4ec 100644 --- a/pkg/cli/workflows/test-claude-create-repository-security-advisory.lock.yml +++ b/pkg/cli/workflows/test-claude-create-repository-security-advisory.lock.yml @@ -290,16 +290,6 @@ jobs: # Show last few lines for debugging echo "=== Last 10 lines of Claude execution log ===" tail -10 /tmp/test-claude-create-repository-security-advisory.log || echo "No log content available" - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-claude-mcp.lock.yml b/pkg/cli/workflows/test-claude-mcp.lock.yml index 0330da402c..3cff79f47e 100644 --- a/pkg/cli/workflows/test-claude-mcp.lock.yml +++ b/pkg/cli/workflows/test-claude-mcp.lock.yml @@ -290,16 +290,6 @@ jobs: # Show last few lines for debugging echo "=== Last 10 lines of Claude execution log ===" tail -10 /tmp/test-claude-mcp.log || echo "No log content available" - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-claude-missing-tool.lock.yml b/pkg/cli/workflows/test-claude-missing-tool.lock.yml index 747e1179a8..b27830e881 100644 --- a/pkg/cli/workflows/test-claude-missing-tool.lock.yml +++ b/pkg/cli/workflows/test-claude-missing-tool.lock.yml @@ -1648,16 +1648,6 @@ jobs: name: agent_output.json path: ${{ env.GITHUB_AW_AGENT_OUTPUT }} if-no-files-found: warn - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-claude-push-to-pr-branch.lock.yml b/pkg/cli/workflows/test-claude-push-to-pr-branch.lock.yml index 6424ffc097..6a8637104e 100644 --- a/pkg/cli/workflows/test-claude-push-to-pr-branch.lock.yml +++ b/pkg/cli/workflows/test-claude-push-to-pr-branch.lock.yml @@ -292,16 +292,6 @@ jobs: # Show last few lines for debugging echo "=== Last 10 lines of Claude execution log ===" tail -10 /tmp/test-claude-push-to-pr-branch.log || echo "No log content available" - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-claude-update-issue.lock.yml b/pkg/cli/workflows/test-claude-update-issue.lock.yml index 9f46ddf0c3..bccb3a7e6d 100644 --- a/pkg/cli/workflows/test-claude-update-issue.lock.yml +++ b/pkg/cli/workflows/test-claude-update-issue.lock.yml @@ -290,16 +290,6 @@ jobs: # Show last few lines for debugging echo "=== Last 10 lines of Claude execution log ===" tail -10 /tmp/test-claude-update-issue.log || echo "No log content available" - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/cli/workflows/test-playwright-accessibility-contrast.lock.yml b/pkg/cli/workflows/test-playwright-accessibility-contrast.lock.yml index 9b5330fc07..6d8acacd6f 100644 --- a/pkg/cli/workflows/test-playwright-accessibility-contrast.lock.yml +++ b/pkg/cli/workflows/test-playwright-accessibility-contrast.lock.yml @@ -1634,16 +1634,6 @@ jobs: name: agent_output.json path: ${{ env.GITHUB_AW_AGENT_OUTPUT }} if-no-files-found: warn - - name: Upload engine output files - uses: actions/upload-artifact@v4 - with: - name: agent_outputs - path: | - output.txt - if-no-files-found: ignore - - name: Clean up engine output files - run: | - rm -f output.txt - name: Parse agent logs for step summary if: always() uses: actions/github-script@v7 diff --git a/pkg/workflow/agentic_output_test.go b/pkg/workflow/agentic_output_test.go index 537696e960..58650e2661 100644 --- a/pkg/workflow/agentic_output_test.go +++ b/pkg/workflow/agentic_output_test.go @@ -90,13 +90,13 @@ This workflow tests the agentic output collection functionality. t.Error("Expected output instructions to be injected into prompt") } - // Verify Claude engine declared outputs are uploaded separately - if !strings.Contains(lockContent, "- name: Upload engine output files") { - t.Error("Expected 'Upload engine output files' step for Claude engine") + // Verify Claude engine no longer has upload steps (Claude CLI no longer produces output.txt) + if strings.Contains(lockContent, "- name: Upload engine output files") { + t.Error("Claude workflow should NOT have 'Upload engine output files' step (Claude CLI no longer produces output.txt)") } - if !strings.Contains(lockContent, "name: agent_outputs") { - t.Error("Expected engine output artifact to be named 'agent_outputs'") + if strings.Contains(lockContent, "name: agent_outputs") { + t.Error("Claude workflow should NOT reference 'agent_outputs' artifact (Claude CLI no longer produces output.txt)") } // Verify Print Agent output step has file existence check @@ -218,16 +218,12 @@ This workflow tests that Codex engine gets GITHUB_AW_SAFE_OUTPUTS but not engine } func TestEngineOutputFileDeclarations(t *testing.T) { - // Test Claude engine declares output files + // Test Claude engine declares no output files (Claude CLI no longer produces output.txt) claudeEngine := NewClaudeEngine() claudeOutputFiles := claudeEngine.GetDeclaredOutputFiles() - if len(claudeOutputFiles) == 0 { - t.Error("Claude engine should declare at least one output file") - } - - if !stringSliceContains(claudeOutputFiles, "output.txt") { - t.Errorf("Claude engine should declare 'output.txt' as an output file, got: %v", claudeOutputFiles) + if len(claudeOutputFiles) != 0 { + t.Errorf("Claude engine should declare no output files (Claude CLI no longer produces output.txt), got: %v", claudeOutputFiles) } // Test Codex engine declares no output files @@ -241,13 +237,3 @@ func TestEngineOutputFileDeclarations(t *testing.T) { t.Logf("Claude engine declares: %v", claudeOutputFiles) t.Logf("Codex engine declares: %v", codexOutputFiles) } - -// Helper function to check if a string slice contains a specific string -func stringSliceContains(slice []string, item string) bool { - for _, s := range slice { - if s == item { - return true - } - } - return false -} diff --git a/pkg/workflow/claude_engine.go b/pkg/workflow/claude_engine.go index 4aded7ebfe..bc5ef73bde 100644 --- a/pkg/workflow/claude_engine.go +++ b/pkg/workflow/claude_engine.go @@ -53,7 +53,7 @@ func (e *ClaudeEngine) GetInstallationSteps(workflowData *WorkflowData) []GitHub // GetDeclaredOutputFiles returns the output files that Claude may produce func (e *ClaudeEngine) GetDeclaredOutputFiles() []string { - return []string{"output.txt"} + return []string{} } // GetExecutionSteps returns the GitHub Actions steps for executing Claude