Skip to content

[aw-failures] [P1] Fix Contribution Check's AWF proxy block — 19 permission denials, 0 retries used #51629

Description

@github-actions

Problem

Fix the AWF API-proxy guard in Contribution Check now — it's denying ordinary git fetch / safeoutputs create_issue shell commands as "Permission denied and could not request permission from user," and the copilot-harness classifies this as a non-retryable guard condition, so it gives up on attempt 1 of 4 instead of retrying. One-sentence reason: legitimate, workflow-critical commands (fetching a PR branch, filing the run's own summary issue) are being blocked at the sandbox/firewall layer, and the harness's "don't retry" heuristic turns one proxy block into a hard failure.

Affected workflows and runs

  • Contribution Check (§31315109276, 2026-08-09T13:10Z) — agent job failed, failureClass=permission_denied, permissionDeniedCount=19, hasNumerousPermissionDenied=true. Harness log: [copilot-harness] attempt 1: AWF API proxy is blocking requests — not retrying (non-retryable guard condition).

Probable root cause

The agent's own transcript shows the denied commands were routine and workflow-critical, not sandbox-escape attempts:

✗ Fetch PR branch and get diff against main (shell)
  │ git fetch origin pull/51582/head:pr-51582 2>&1 && git diff main...pr-51582 2>&1
  └ Permission denied and could not request permission from user

✗ Create report issue (shell)
  │ jq -Rs --arg title "Contribution Check — $(date -u +%Y-%m-%d)" '{title: $title, temporary_id: "aw_summary", body: .}' /tmp/gh-aw/agent/report.md | safeoutputs create_issue .
  └ Permission denied and could not request permission from user

19 such denials accumulated while the agent evaluated 3 PRs. It worked around most of them (all 3 PR review comments still posted successfully), but both attempts to file the workflow's own summary issue via safeoutputs create_issue were denied, so the run ended with ##[error]1 safe output(s) failed and no summary issue. The harness then declared the AWF API-proxy block non-retryable and exited after attempt 1, using none of its 3 remaining retries.

Proposed remediation

  1. Confirm whether the AWF sandbox/firewall config for Contribution Check's job allows the commands it actually needs (git fetch origin pull/*/head:*, safeoutputs create_issue) — this looks like an allowlist gap, not intentional denial, since the same job's other shell work and all 3 PR comments succeeded.
  2. If the block is intentional (e.g. proxy-side rate limiting), make the harness treat it as retryable — one proxy hiccup shouldn't burn the run down to 0 retries used.
  3. At minimum, don't let a denied safeoutputs create_issue call silently drop the run's summary report — retry that specific call once the rest of the run's real work has already succeeded.

Success criteria

  • Next 5 Contribution Check runs: zero permission_denied entries for git fetch and safeoutputs create_issue calls.
  • If a transient proxy block recurs, the harness uses at least one retry (retriesRemaining decreases from 3) before giving up.

Related to #51545
Related to #51545

Generated by 🔍 [aw] Failure Investigator (6h) · agent · 244.3 AIC · ⌖ 42.9 AIC · ⊞ 5.3K ·

  • expires on Aug 16, 2026, 11:17 AM UTC-08:00

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions