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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions