Repository navigation
[aw] PR Code Quality Reviewer had a request rejected #67460
Description
Activity
github-actions commented
on Oct 10, 2026 on Oct 10, 2026 – with GitHub ActionsContributorAuthorMore actionsAgent job 38073742123 failed.
Warning
Task Could Not Be Completed: The workflow recorded a
report_incompletesignal: the task was not completed or completion could not be confirmed. See the reported reason and diagnostics below.Error details:
invalid_safe_outputs Agent finished without emitting a terminal safe output; task completion could not be confirmed. safeoutputs MCP gateway registered 0 tools during setup; the agent could not emit any safe outputs. This is a gateway infrastructure failure, not a normal no-op. Check the MCP gateway startup logs for ECONNRESET errors or delayed backend registration and re-run the workflow. read_agent: {"message":"Agent failed. agent_id: ea674ce6-7860-494e-9aa3-e5a4fd7a60ae, agent_type: grumpy-coder, status: failed, description: Mine PR issues, elapsed: 0s, total_turns: 0\n\nError: 400 Cannot translate Copilot request feature 'include' between Responses and Chat Completions. Routing model \"claude-haiku-5.5\" to /chat/completions is incompatible: this request needs /responses to preserve 'include'. Choose a model supporting /responses for this request, or use function tools/features supported by both APIs. AWF will not drop request features or silently select another model.","code":"failure"} bash: safeoutputs submit_pull_request_review --help: {"content":"/bin/bash: line 1: safeoutputs: command not found\n(shellId: 3 completed with exit code 127)"} bash: safeoutputs create_pull_request_review_comment --help: {"content":"/bin/bash: line 1: safeoutputs: command not found\n(shellId: 2 completed with exit code 127)"} bash: compgen -c | grep '^safe' | sort -u | head -50: {"message":"Permission denied and could not request permission from user. Copilot needed the user's approval and no one could answer. This is not an OS or sandbox error.","code":"denied"} bash: cat <<'EOF' >/tmp/gh-aw/agent/review_comment_body.md This lookup only inspects methods declared directly on the receiver type, so the new linter silently misses `defer x.Close()` when `Close` is promoted through embedding or comes from the resolved method set. <details><summary>💡 The analyzer is throwing away the compiler's method resolution</summary> Here `pass.TypesInfo.TypeOf(selector.X)` gives you the receiver type, but `lookupClose` then scans only direct methods on `*types.Named`/`*types.Interface`. That skips valid calls such as: ```go type wrapped struct{ *os.File } func use(w wrapped) { defer w.Close() } ``` The selector resolves and compiles because `Close` is promoted from the embedded field, but `named.Method(i)` on `wrapped` never sees that promoted method, so this analyzer produces a false negative. Reusing the resolved selector info fixes the hole and keeps the linter aligned with the compiler's actual method set: ```go selInfo := pass.TypesInfo.Selections[selector] if selInfo == nil { return } sig, ok := selInfo.Obj().Type().(*types.Signature) if !ok { return } ``` Please add a fixture that covers an embedded/promoted `Close` method so this regression stays closed. </details> EOF jq -n --arg commit_id '15a9f5f51724f0870faf6e8ccf006a65837ca2db' --arg body "$(cat /tmp/gh-aw/agent/review_comment_body.md)" '{body:"### Review summary\n\nI found one correctness hole in the analyzer implementation." , event:"COMMENT", comments:[{path:"pkg/linters/unchecked-deferred-close/unchecked_deferredclose.go", line:78, side:"RIGHT", body:$body}], commit_id:$commit_id}' >/tmp/gh-aw/agent/review_payload.json GH_PAGER=cat gh api repos/github/gh-aw/pulls/67481/reviews --method POST --input /tmp/gh-aw/agent/review_payload.json: {"message":"Permission denied and could not request permission from user. Copilot needed the user's approval and no one could answer. This is not an OS or sandbox error.","code":"denied"} bash: node actions/setup/js/safeoutputs_cli.cjs --help: {"message":"Permission denied and could not request permission from user. Copilot needed the user's approval and no one could answer. This is not an OS or sandbox error.","code":"denied"} bash: cat <<'EOF' >/tmp/gh-aw/agent/review_body.md ### Review summary I found one correctness hole in the analyzer implementation. <details><summary>Details</summary> `lookupClose` only inspects methods declared directly on the receiver type, so the new linter misses `defer x.Close()` when `Close` is promoted through embedding or otherwise comes from the resolved method set. A wrapper like `type wrapped struct { *os.File }` compiles with `defer w.Close()`, but `named.Method(i)` on `wrapped` never sees the promoted method, so this analyzer returns a false negative. Please switch to the selector resolution the type checker already computed (`pass.TypesInfo.Selections[selector]` or `types.LookupFieldOrMethod`) and add a fixture covering an embedded/promoted `Close` method. </details> EOF GH_PAGER=cat gh pr review 67481 --comment --body-file /tmp/gh-aw/agent/review_body.md: {"content":"open /tmp/gh-aw/agent/review_body.md: no such file or directory\n(shellId: 8 completed with exit code 1)"} bash: mkdir -p /tmp/gh-aw/agent && cat <<'EOF' >/tmp/gh-aw/agent/review_body.md ### Review summary I found one correctness hole in the analyzer implementation. <details><summary>Details</summary> `lookupClose` only inspects methods declared directly on the receiver type, so the new linter misses `defer x.Close()` when `Close` is promoted through embedding or otherwise comes from the resolved method set. A wrapper like `type wrapped struct { *os.File }` compiles with `defer w.Close()`, but `named.Method(i)` on `wrapped` never sees the promoted method, so this analyzer returns a false negative. Please switch to the selector resolution the type checker already computed (`pass.TypesInfo.Selections[selector]` or `types.LookupFieldOrMethod`) and add a fixture covering an embedded/promoted `Close` method. </details> EOF GH_PAGER=cat gh pr review 67481 --comment --body-file /tmp/gh-aw/agent/review_body.md: {"message":"Permission denied and could not request permission from user. Copilot needed the user's approval and no one could answer. This is not an OS or sandbox error.","code":"denied"} Driver exit code: 0 Failure classification: request_rejection Retry attempts observed: 0This is a structured incompletion signal (
report_incomplete), not confirmation of a completed task. Do not treat accompanying safe outputs (e.g., comments) as evidence that the requested review or action was completed.Generated from PR Code Quality Reviewer · copilot · 42.8 AIC · ◷
github-actions commented
on Oct 10, 2026 on Oct 10, 2026 – with GitHub ActionsContributorAuthorMore actionsAgent job 38076469658 failed.
Warning
Task Could Not Be Completed: The workflow recorded a
report_incompletesignal: the task was not completed or completion could not be confirmed. See the reported reason and diagnostics below.Error details:
invalid_safe_outputs Agent finished without emitting a terminal safe output; task completion could not be confirmed. safeoutputs MCP gateway registered 0 tools during setup; the agent could not emit any safe outputs. This is a gateway infrastructure failure, not a normal no-op. Check the MCP gateway startup logs for ECONNRESET errors or delayed backend registration and re-run the workflow. bash: git --no-pager diff --stat origin/HEAD...HEAD -- .github/aw/debug-agentic-workflow.md .github/skills/agentic-workflows/SKILL.md .github/skills/agentic-workflows/tests/fixtures.json .github/skills/agentic-workflows/tests/test_guidance.py debug.md: {"content":"fatal: bad revision 'origin/HEAD...HEAD'\n(shellId: 1 completed with exit code 128)"} read_agent: {"message":"Agent failed. agent_id: 4da2fd3d-3b58-40f2-bacd-a925893b11dc, agent_type: grumpy-coder, status: failed, description: Mine PR review issues, elapsed: 0s, total_turns: 0\n\nError: 400 Cannot translate Copilot request feature 'include' between Responses and Chat Completions. Routing model \"claude-haiku-5.5\" to /chat/completions is incompatible: this request needs /responses to preserve 'include'. Choose a model supporting /responses for this request, or use function tools/features supported by both APIs. AWF will not drop request features or silently select another model.","code":"failure"} view: {"message":"Path does not exist","code":"failure"} bash: python3 -m unittest discover -s .github/skills/agentic-workflows/tests -v: {"message":"Permission denied and could not request permission from user. Copilot needed the user's approval and no one could answer. This is not an OS or sandbox error.","code":"denied"} Driver exit code: 0 Failure classification: request_rejection Retry attempts observed: 0This is a structured incompletion signal (
report_incomplete), not confirmation of a completed task. Do not treat accompanying safe outputs (e.g., comments) as evidence that the requested review or action was completed.Generated from PR Code Quality Reviewer · copilot · 47.1 AIC · ◷
github-actions commented
on Oct 10, 2026 on Oct 10, 2026 – with GitHub ActionsContributorAuthorMore actionsAgent job 38078122907 failed.
Warning
Task Could Not Be Completed: The workflow recorded a
report_incompletesignal: the task was not completed or completion could not be confirmed. See the reported reason and diagnostics below.Error details:
invalid_safe_outputs Agent finished without emitting a terminal safe output; task completion could not be confirmed. safeoutputs MCP gateway registered 0 tools during setup; the agent could not emit any safe outputs. This is a gateway infrastructure failure, not a normal no-op. Check the MCP gateway startup logs for ECONNRESET errors or delayed backend registration and re-run the workflow. read_agent: {"message":"Agent failed. agent_id: d00e89df-ebe6-4e5b-bc2d-f0947a8c7f69, agent_type: grumpy-coder, status: failed, description: Mine harsh review findings, elapsed: 0s, total_turns: 0\n\nError: 400 Cannot translate Copilot request feature 'include' between Responses and Chat Completions. Routing model \"claude-haiku-5.5\" to /chat/completions is incompatible: this request needs /responses to preserve 'include'. Choose a model supporting /responses for this request, or use function tools/features supported by both APIs. AWF will not drop request features or silently select another model.","code":"failure"} bash: set -euo pipefail mkdir -p /tmp/gh-aw/agent /tmp/gh-aw/comment-memory cat <<'EOF' > /tmp/gh-aw/agent/review-comment.md This audit path now trusts any `model_endpoint.mismatch` record that claims `component=model_endpoint`, so a hand-written or truncated `aw_session.jsonl` can inject false mismatch diagnostics into `gh aw audit` output. <details><summary>💡 Why this matters</summary> The JS failure-report path validates the collector-produced `session.format` header before it trusts mismatch evidence, but this Go reader accepts the new event type as soon as the per-record provenance matches. That means a stale or forged session file in the run directory can surface a bogus model/endpoint failure in audit output even when the collector never published a valid unified session. A safer pattern is to prove the file is a collector-authored unified session once up front, then ignore mismatch events until that header has been seen. ```go seenCollectorHeader := false ... case event.Type == "session.format": seenCollectorHeader = event.Provenance.Component == "collector" case event.Type == "model_endpoint.mismatch": if !seenCollectorHeader { return nil } ``` That keeps the trust boundary consistent with the new `handle_agent_failure` logic and avoids poisoning audit evidence with ad hoc JSONL. </details> EOF jq -Rs '{pull_request_number: 67487, path: "pkg/cli/model_routing_session.go", line: 171, body: .}' /tmp/gh-aw/agent/review-comment.md | safeoutputs create_pull_request_review_comment . cat <<'EOF' > /tmp/gh-aw/agent/review-summary.md ### Verdict Non-blocking overall, but I found one correctness gap in the new mismatch-audit path. <details><summary>Theme</summary> `pkg/cli/model_routing_session.go` accepts `model_endpoint.mismatch` records without first proving the source file is a collector-produced unified session. The failure-report path does that validation already, so the audit side is now the weak link: stale or hand-written JSONL in the run directory can surface bogus mismatch diagnostics in `gh aw audit` output. </details> EOF jq -Rs '{pull_request_number: 67487, event: "COMMENT", body: .}' /tmp/gh-aw/agent/review-summary.md | safeoutputs submit_pull_request_review . cat <<'EOF' > /tmp/gh-aw/comment-memory/pr-code-quality-reviewer.md reviewed_at: 2026-10-10T19:08:51Z review_event: COMMENT top_themes: - unified-session trust boundary mismatch in audit ingestion files_reviewed: - actions/setup/js/copilot_harness.cjs - actions/setup/js/copilot_wire_api.cjs - actions/setup/js/handle_agent_failure.cjs - actions/setup/js/harness_error_patterns.cjs - pkg/cli/model_routing_session.go comment_count: 1 EOF: {"message":"Permission denied and could not request permission from user. Copilot needed the user's approval and no one could answer. This is not an OS or sandbox error.","code":"denied"} bash: safeoutputs submit_pull_request_review '{"pull_request_number":67487,"event":"COMMENT","body":"### Verdict\nNon-blocking overall, but I found one correctness gap in the new mismatch-audit path.\n\n<details><summary>Theme</summary>\n\n`pkg/cli/model_routing_session.go` accepts `model_endpoint.mismatch` records without first proving the source file is a collector-produced unified session. The failure-report path does that validation already, so the audit side is now the weak link: stale or hand-written JSONL in the run directory can surface bogus mismatch diagnostics in `gh aw audit` output.\n</details>"}': {"content":"/bin/bash: line 1: safeoutputs: command not found\n(shellId: 2 completed with exit code 127)"} Driver exit code: 0 Failure classification: request_rejection Retry attempts observed: 0This is a structured incompletion signal (
report_incomplete), not confirmation of a completed task. Do not treat accompanying safe outputs (e.g., comments) as evidence that the requested review or action was completed.Generated from PR Code Quality Reviewer · copilot · 59.9 AIC · ◷
github-actions commented
on Oct 11, 2026 on Oct 11, 2026 – with GitHub ActionsContributorAuthorMore actionsThis issue was automatically closed because it expired on 2026-10-11T03:16:48.849Z.
Closed by Workflow
Workflow Failure
Workflow: PR Code Quality Reviewer
Branch: copilot/add-yaml-json-schemas
Run: https://github.com/github/gh-aw/actions/runs/38062199306
Pull Request: #67439
Warning
Task Could Not Be Completed: The workflow recorded a
report_incompletesignal: the task was not completed or completion could not be confirmed. See the reported reason and diagnostics below.Error details:
This is a structured incompletion signal (
report_incomplete), not confirmation of a completed task. Do not treat accompanying safe outputs (e.g., comments) as evidence that the requested review or action was completed.Action Required
Assign this issue to an agent to debug and fix the issue.
Debug with any coding agent
Use this prompt with any coding agent (GitHub Copilot, Claude, Gemini, etc.):
Manually invoke the agent
Debug this workflow failure using your favorite Agent CLI and the
agentic-workflowsprompt.agentic-workflowsskill from.github/skills/agentic-workflows/SKILL.mdor https://github.com/github/gh-aw/blob/main/.github/skills/agentic-workflows/SKILL.mddebug the agentic workflow pr-code-quality-reviewer failure in https://github.com/github/gh-aw/actions/runs/38062199306Tip
Stop reporting this workflow as a failure
To stop a workflow from creating failure issues, set
report-failure-as-issue: falsein its frontmatter: