Skip to content

Prevent Avenger startup failure from npm symlink mount - #57946

Open
pelikhan with Copilot wants to merge 9 commits into
mainfrom
copilot/aw-debug-avenger-failure
Open

Prevent Avenger startup failure from npm symlink mount#57946
pelikhan with Copilot wants to merge 9 commits into
mainfrom
copilot/aw-debug-avenger-failure

Conversation

Copilot AI commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Avenger failed before Codex execution because the sandbox rejected /usr/local/bin/npm as a symlink bind mount.

  • Sandbox configuration: Remove the invalid npm bind mount while retaining Node.js and global module mounts.
  • Generated workflow: Regenerate avenger.lock.yml to keep it synchronized.
mounts:
  - "/usr/bin/make:/usr/bin/make:ro"
  - "/usr/local/bin/node:/usr/local/bin/node:ro"
  - "/usr/local/lib/node_modules:/usr/local/lib/node_modules:ro"

Run: https://github.com/github/gh-aw/actions/runs/33679827993

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 59.2 AIC · ⌖ 8.76 AIC · ⊞ 8.7K ·
Comment /souschef to run again


Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 22.6 AIC · ⌖ 8.6 AIC · ⊞ 9.2K ·
Comment /souschef to run again

Copilot AI linked an issue Sep 2, 2026 that may be closed by this pull request
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Debug Avenger workflow failure issue Prevent Avenger startup failure from npm symlink mount Sep 2, 2026
Copilot AI requested a review from pelikhan September 2, 2026 13:22
@pelikhan pelikhan added the awf label Sep 2, 2026
@pelikhan
pelikhan marked this pull request as ready for review September 2, 2026 13:35
Copilot AI balanced review requested due to automatic review settings September 2, 2026 13:35
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Design Decision Gate 🏗️ completed the design decision gate check. See the comment below for the result and any generated ADR draft.

No ADR enforcement needed: PR does not have the 'implementation' label and has ≤100 new lines of code in business logic directories.

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

PR Code Quality Reviewer completed the code quality review.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

⚠️ Security scanning failed for Ponytail Reviewer. Review the logs for details.

Lean already. Ship.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • ab.chatgpt.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"

See Network Configuration for more information.

Generated by Ponytail Reviewer for #57946

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Test Quality Sentinel completed test quality analysis.

No test files were added or modified in this PR. Test Quality Sentinel skipped.

🧪 Test quality analysis by Test Quality Sentinel

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the diff: removing /usr/local/bin/npm:/usr/local/bin/npm:ro from sandbox.mounts in avenger.md, with avenger.lock.yml regenerated to match (updated frontmatter_hash, mount flags dropped from the awf command). This is a minimal, config-only change — no UI/component code, so no Impeccable UX modes apply.

Correctness check: the codex harness script still runs npm root -g inside the container (GH_AW_NPM_GLOBAL_ROOT="$(npm root -g 2>/dev/null || true)"). Without the npm binary mounted, this fails silently (|| true), leaving GH_AW_NPM_GLOBAL_ROOT empty and NODE_PATH unset for the global node_modules mount. If globally-installed npm packages were previously relied on via NODE_PATH, they may no longer resolve. Since node_modules mount is retained, worth confirming this doesn't silently break any global-module resolution in Avenger's actual run — but not blocking given the PR's stated goal (fixing the symlink-mount startup crash) takes priority and this was already broken.

No blocking issues found. Lock file and source are in sync.

🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · copilot · sonnet50 · 13.2 AIC · ⌖ 13.3 AIC · ⊞ 8.3K

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The targeted change directly addresses the audited failure without weakening workflow protections.

Pull request overview

Removes the invalid npm symlink mount that caused Avenger’s sandbox startup failure.

Changes:

  • Removes the /usr/local/bin/npm bind mount.
  • Regenerates the compiled workflow and metadata hash.
File summaries
File Description
.github/workflows/avenger.md Removes the failing npm mount.
.github/workflows/avenger.lock.yml Synchronizes generated configuration.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Comment Memory

reviewed_at: 2026-09-02T13:39:00.508+00:00
review_event: REQUEST_CHANGES
top_themes:
  - runtime dependency on npm remains after mount removal
files_reviewed:
  - .github/workflows/avenger.md
  - .github/workflows/avenger.lock.yml
comment_count: 1

Note

This comment is managed by comment memory.

It stores persistent context for this thread in the code block at the top of this comment.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt54 · 17.3 AIC · ⌖ 7.36 AIC · ⊞ 23.5K ·
Comment /review to run again

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict

Blocking issue: the sandbox mount was removed, but the generated harness still shells out to npm root -g, so this can just fail one step later on runners where npm is not otherwise on PATH.

Why this blocks

The change only fixes the bind-mount shape. It does not remove the runtime dependency on npm, and the reviewed diff still contains that direct npm invocation inside the agent bootstrap command. That leaves Avenger with another startup failure mode instead of making startup robust.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt54 · 17.3 AIC · ⌖ 7.36 AIC · ⊞ 23.5K
Comment /review to run again

Comments that could not be inline-anchored

.github/workflows/avenger.lock.yml:16

This removes the symlink mount, but the generated bootstrap still calls npm root -g, so Avenger can still die during startup on runners where npm is not otherwise available on PATH.

<details><summary>💡 Why this is still a blocker</summary>

The fix only changes how the sandbox exposes Node tooling; it does not remove the runtime dependency on npm. The reviewed diff still contains a direct npm root -g call inside the container bootstrap command, so this PR trades one startup failure …

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skills-Based Review 🧠

Applied /diagnosing-bugs — small, well-scoped fix, but flagging one risk worth confirming before merge.

📋 Key Themes & Highlights

Key Themes

  • Symptom vs. root cause: removing the /usr/local/bin/npm bind mount fixes the immediate sandbox rejection (symlink mounts aren't supported), but the harness still shells out to npm root -g to build NODE_PATH (see pkg/workflow/copilot_engine_execution.go's nodePathSetupCommand). With npm absent from the sandbox, that call is silently swallowed by || true, so it's worth confirming module resolution still works via the retained /usr/local/lib/node_modules:ro mount rather than assuming it does.
  • No regression test: the PR is a config-only change (mounts list + regenerated lock file) with no test verifying the sandbox still boots or that NODE_PATH/global-module resolution isn't silently broken.

Positive Highlights

  • ✅ Correctly identifies and removes the actual cause of the reported startup failure (symlink bind mount unsupported by the sandbox).
  • ✅ Minimal, targeted diff — avenger.md source and its generated .lock.yml are kept in sync.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · copilot · sonnet50 · 44.6 AIC · ⌖ 14.7 AIC · ⊞ 10.3K
Comment /matt to run again

Comment thread .github/workflows/avenger.md
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please review the current PR state, address the outstanding review feedback, refresh the branch if needed, and run the pr-finisher skill before handing back to maintainers.

  • PR Code Quality Reviewer requested changes on .github/workflows/avenger.md and .github/workflows/avenger.lock.yml, noting the runtime dependency on npm remains after mount removal.
  • Please update the implementation to fully remove the startup regression, then summarize what changed and any remaining blocker.

Generated by 👨🍳 PR Sous Chef
Comment /souschef to run again

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 25.3 AIC · ⌖ 8.8 AIC · ⊞ 8.7K ·
Comment /souschef to run again

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>

Copilot AI commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Please review the current PR state, address the outstanding review feedback, refresh the branch if needed, and run the pr-finisher skill before handing back to maintainers.

  • PR Code Quali...

Addressed in f61074f: nodePathSetupCommand no longer requires npm on PATH. It now calls npm root -g only when npm is available, otherwise it derives the global node_modules path directly from the resolved node executable (<node prefix>/lib/node_modules). This removes the remaining runtime dependency on npm for avenger's sandbox (which mounts node and node_modules but not npm), while preserving existing behavior on runners where npm is present. All 298 workflow lock files were regenerated via make recompile since this is a shared command used by all node-based engines. No remaining blockers.

Copilot AI commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Please take the next forward-progress pass on this PR.

  • Recent follow-ups say the Avenger npm-runtime regression is fixed, the review thread is resolved, required checks are clear, and the ...

Status confirmed, no code or CI work remains: review thread #discussion_r3914748342 is resolved, the only blocking review (5090400630) is dismissed, HEAD merges cleanly with current main with zero conflicts, and go test ./pkg/workflow/... ./pkg/workflowcontract/... passes. The sole remaining blocker is mergeable_state: blocked from required-reviewer approval (branch protection) — awaiting maintainer review/approval to merge.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please take the next forward-progress pass on this PR.

  • Recent follow-up says the Avenger fix is complete, review threads are resolved, checks are clear, and the only remaining blocker is required maintainer approval from branch protection.
  • Please run the pr-finisher skill and restate that status in concise maintainer-facing terms.
  • If no code or CI work remains, say that explicitly.

Generated by PR Sous Chef: https://github.com/github/gh-aw/actions/runs/33751044673

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 18.5 AIC · ⌖ 10.9 AIC · ⊞ 8.9K ·
Comment /souschef to run again

Copilot AI commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Please take the next forward-progress pass on this PR.

  • Recent follow-up says the Avenger fix is complete, review threads are resolved, checks are clear, and the only remaining blocker is r...

No code or CI work remains. Re-verified: review thread #discussion_r3914748342 is resolved, the only blocking review (5090400630) is dismissed, HEAD merges cleanly with current main (zero conflicts), and go test ./pkg/workflow/... ./pkg/workflowcontract/... passes. The sole remaining blocker is mergeable_state: blocked from required-reviewer approval (branch protection) — awaiting maintainer approval to merge.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please take another pass on this PR. Please review the current status, refresh the branch if needed, address any outstanding review feedback or failing checks, and then use the pr-finisher skill to move it toward merge readiness.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 8.18 AIC · ⌖ 8.66 AIC · ⊞ 8.7K ·
Comment /souschef to run again

Copilot AI commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Please take another pass on this PR. Please review the current status, refresh the branch if needed, address any outstanding review feedback or failing checks, and then use the pr-finisher ...

Re-verified, no code or CI work remains: review thread #discussion_r3914748342 is resolved, HEAD merges cleanly with current main (zero conflicts), and go test ./pkg/workflow/... ./pkg/workflowcontract/... passes. The PR's mergeable_state is still blocked due to pending required-reviewer approval (branch protection) — this needs a maintainer to approve/merge, not further code changes from me.

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Category: bug | Risk: medium | Score: 74 | Action: fast_track | Batch: awf-runtime

Note: Runtime issue blocking Avenger startup; high impact with passing CI.

Generated by 🔧 PR Triage Agent · copilot · mai10 · 24.3 AIC · ⌖ 2.54 AIC · ⊞ 16.1K ·

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please take another pass on this PR: refresh the branch if needed, address any remaining review feedback, and run the pr-finisher skill before handing back to maintainers.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 13.2 AIC · ⌖ 8.64 AIC · ⊞ 8.9K ·
Comment /souschef to run again

Copilot AI commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Please take another pass on this PR: refresh the branch if needed, address any remaining review feedback, and run the pr-finisher skill before handing back to maintainers.

Generated by [��...

Re-verified again, no code or CI work remains: review thread #discussion_r3914748342 is resolved, HEAD merges cleanly with current main (zero conflicts), and go test ./pkg/workflow/... ./pkg/workflowcontract/... passes. The PR's mergeable_state is still blocked due to pending required-reviewer approval (branch protection) — this needs maintainer approval to merge, not further code changes.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please take the next forward-progress pass on this PR.

  • Your latest updates say the Avenger npm-runtime regression is fixed, the review thread is resolved, and no code-side work remains. Please run the pr-finisher skill and restate the current maintainer-facing status clearly.
  • If the only remaining blocker is required-reviewer approval / branch protection, say that explicitly so maintainers can triage quickly.
  • Also refresh the branch state if needed before handoff.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 28.9 AIC · ⌖ 8.62 AIC · ⊞ 9K ·
Comment /souschef to run again

Copilot AI commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Please take the next forward-progress pass on this PR.

  • Your latest updates say the Avenger npm-runtime regression is fixed, the review thread is resolved, and no code-side work remains. Pl...

Re-verified once more, no code or CI work remains: review thread #discussion_r3914748342 is resolved, HEAD merges cleanly with current main (zero conflicts), and go test ./pkg/workflow/... ./pkg/workflowcontract/... passes. The sole remaining blocker is mergeable_state: blocked from required-reviewer approval (branch protection) — this needs maintainer approval to merge, not further code changes from me.

Copilot AI and others added 2 commits September 3, 2026 22:07
…ger-failure

# Conflicts:
#	.github/workflows/avenger.lock.yml

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI and others added 2 commits September 3, 2026 23:37
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[aw] Avenger failed

4 participants