Fail this combination at gh aw compile, not at runtime — the workflow can never succeed, so catch it before it ships.
Problem statement. Daily Fact (and any workflow using the localhost keyword) is 100% red pre-flight: the localhost keyword auto-enables host access, which is mutually exclusive with network-isolation, so the AWF entrypoint aborts before the agent runs — 0 turns, 0 output, run fully lost. This is a distinct signature from the reviewer-timeout parent (#43552) and the firewall-EACCES regression (#42398): here the container refuses to start because of an invalid config combination, not an infra race.
Affected workflows / runs.
- Daily Fact — §28876761023 (2026-07-07T15:07:40Z, engine
copilot)
Evidence (agent-stdio.log).
[INFO] i️ localhost keyword detected - automatically enabling host access
[WARN] ⚠️ Using --env-all: All host environment variables will be passed to container
[ERROR] ❌ --network-isolation is not yet supported with --enable-host-access.
[ERROR] Host access relies on host-level iptables, which network-isolation mode does not configure.
agent_output.json: {"items":[],"errors":[]} — no safe outputs, agent never invoked.
Probable root cause. The compiler emits a lock file that pairs network-isolation egress enforcement with a network config (localhost/dev-ports) that transitively sets --enable-host-access. The AWF runtime treats these as incompatible and exits non-zero. The incompatibility is statically knowable from the workflow frontmatter.
Proposed remediation.
- In
gh aw compile, detect localhost/host-access network config together with network-isolation (default) and fail compilation with an actionable message ("remove localhost or disable network-isolation").
- Alternatively, when
localhost is required, have the compiler drop network-isolation for that workflow instead of producing a lock that dies at startup.
- Add a compiler unit test asserting this pair is rejected, and a smoke check that no shipped
.lock.yml sets both.
Success criteria / verification. gh aw compile errors (or auto-reconciles) on the localhost + network-isolation pair; Daily Fact reaches ≥1 agent turn; zero --network-isolation is not yet supported with --enable-host-access in a 24h window.
Analyzed run: §28876761023. Parent: #43552.
Related to #43552
Generated by 🔍 [aw] Failure Investigator (6h) · 190.5 AIC · ⌖ 46.5 AIC · ⊞ 5.2K · ◷
Fail this combination at
gh aw compile, not at runtime — the workflow can never succeed, so catch it before it ships.Problem statement.
Daily Fact(and any workflow using thelocalhostkeyword) is 100% red pre-flight: thelocalhostkeyword auto-enables host access, which is mutually exclusive withnetwork-isolation, so the AWF entrypoint aborts before the agent runs — 0 turns, 0 output, run fully lost. This is a distinct signature from the reviewer-timeout parent (#43552) and the firewall-EACCESregression (#42398): here the container refuses to start because of an invalid config combination, not an infra race.Affected workflows / runs.
copilot)Evidence (
agent-stdio.log).agent_output.json:
{"items":[],"errors":[]}— no safe outputs, agent never invoked.Probable root cause. The compiler emits a lock file that pairs
network-isolationegress enforcement with a network config (localhost/dev-ports) that transitively sets--enable-host-access. The AWF runtime treats these as incompatible and exits non-zero. The incompatibility is statically knowable from the workflow frontmatter.Proposed remediation.
gh aw compile, detectlocalhost/host-access network config together withnetwork-isolation(default) and fail compilation with an actionable message ("removelocalhostor disable network-isolation").localhostis required, have the compiler dropnetwork-isolationfor that workflow instead of producing a lock that dies at startup..lock.ymlsets both.Success criteria / verification.
gh aw compileerrors (or auto-reconciles) on thelocalhost+network-isolationpair; Daily Fact reaches ≥1 agent turn; zero--network-isolation is not yet supported with --enable-host-accessin a 24h window.Analyzed run: §28876761023. Parent: #43552.
Related to #43552