Skip to content

🩺 Runner Doctor UpdateRunner Doctor: 2026-07-27 scan — B13 update + two new failure modes (B15, B16) #6654

Description

@github-actions

Summary


Proposed knowledge-base changes

File: .github/workflows/shared/self-hosted-failure-modes.md

Update: B13 — add open sub-issue #6652 noting remaining Squid ACL gap

Current B13 row states that #6473 fully fixes the Squid ACL auto-add for topologyAttach peers. Issue #6652 (filed 2026-07-27) reports the symptom still occurs (CONNECT awmg-mcpg:8080 denied by Squid; block report incorrectly recommends adding awmgmcpg to network.allowed, which then fails schema validation). This indicates #6473's fix is incomplete or missing for the case where the hostname appears only under topologyAttach but not difcProxyHost.

Proposed change — in B13's "Fix / flag" column, append to the existing text:

Open sub-issue (#6652): topologyAttach MCP gateway hostname (awmg-mcpg) is still blocked by Squid in some configurations after #6473; the Firewall Issue Dispatcher block report incorrectly suggests adding awmgmcpg to network.allowed, which fails schema validation. Root cause under investigation.

Proposed change — in B13's "Citations" column, add github/gh-aw-firewall#6652.


New row: B15 — --network-isolation conflicts with auto-enabled --enable-host-access for localhost allowlist

Field Content
ID B15
Signal AWF startup fails with --network-isolation is not yet supported with --enable-host-access; happens when localhost is in the domain allowlist because the gh-aw compiler auto-enables --enable-host-access and also emits network.isolation: true + topologyAttach
Root cause In src/cli.ts, --network-isolation and --enable-host-access are mutually exclusive with no overlap support. The gh-aw compiler (v0.82.x+) does not detect the conflict: it emits isolation:true + topologyAttach unconditionally while also auto-enabling --enable-host-access when localhost is in the allowlist. The compiled workflow always fails at runtime.
Fix / flag Unresolved (#6651 open). Short-term workaround: remove localhost from the domain allowlist if topology/isolation is required; or set network.isolation: false in the AWF config if host-access is required.
Probe awf --network-isolation --enable-host-access ... — reproduces immediately with not yet supported error; check compiler output for both flags being emitted together when localhost is in allowlist
Citations #6651

New error-string lookup entry:

Observable Likely mode
--network-isolation is not yet supported with --enable-host-access B15 (compiler auto-emits both flags when localhost in allowlist + topology; root cause unresolved in #6651)

New known-unresolved entry:


New row: B16 — ${VAR} in sandbox.agent.mounts not shell-expanded; host path rejected

Field Content
ID B16
Signal AWF rejects a --mount entry with a non-absolute host path error; the mount spec was defined as ${TERRAFORM_CLI_PATH}/terraform:... (or similar env-var pattern) but the literal string ${TERRAFORM_CLI_PATH} reaches AWF's volume validator
Root cause The gh-aw compiler wraps sandbox.agent.mounts specs containing ${} references in single quotes in the generated shell invocation. Bash single quotes prevent variable substitution, so the literal variable reference string (e.g. ${TERRAFORM_CLI_PATH}) reaches AWF's volume validation instead of the resolved absolute path.
Fix / flag Unresolved (#6649 open). Workaround: replace ${VAR} references with their literal values in sandbox.agent.mounts, or stage the path into a wrapper script that expands before calling AWF.
Probe Inspect the generated awf invocation in the compiled lock file — if mount specs appear in single quotes containing ${...}, the bug is present. Running awf ... --mount '${VAR}/path:/dest' reproduces the rejection.
Citations #6649

New error-string lookup entry:

Observable Likely mode
AWF rejects --mount with "host path must be absolute" (or similar) and the path visibly contains ${VAR_NAME} unexpanded B16 (single-quote wrapping by compiler prevents shell expansion of ${} in mount specs; root cause unresolved in #6649)

New known-unresolved entry:


Proposed doctor changes

File: .github/workflows/self-hosted-runner-doctor.md

Same additions as the shared catalog:


Proposed portable agent changes

File: .github/agents/self-hosted-runner-doctor.md

Apply the identical changes as described above for both self-hosted-failure-modes.md and self-hosted-runner-doctor.md so the portable agent's embedded catalog stays in sync.


Source issues and PRs

Generated by Runner Doctor Updater · sonnet46 · 65.9 AIC · ⊞ 22.2K · ◷

  • expires on Aug 26, 2026, 7:27 PM UTC

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions