Repository navigation
Conversation
A tool that drives the docker CLI (e.g. Airflow's breeze) hides the gateway's 403 body, or gets only "unable to upgrade to h2c, received 403" from an HTTP-upgrade endpoint, so the agent never saw why it was refused and routed around the gateway. Add a hint-hook branch for both signatures and document the refusals (BuildKit, socket bind-mount, untyped docker inspect) and the expected behaviour: report, don't bypass. Generated-by: Claude Code (Opus 5.5, Sonnet 5.5)
Comment on lines
+143
to
+144
| "Error response from daemon: container-gateway: label-check: buildx_buildkit_default does not " | ||
| "belong to this project; see docs/setup/sandbox-troubleshooting.md#docker--podman-command-fails-with-a-socket-error", |
1 task done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
breeze. The container gateway correctly refused BuildKitPOST /grpcand label-checked an untypeddocker inspectof the CI image, but the agent never saw why: breeze capturesdocker inspectoutput, and buildx prints onlyunable to upgrade to h2c, received 403. It then routed around the gateway by building a host virtualenv, which the project forbids.sandbox-error-hint.shgains a branch for gateway policy refusals: the gateway's 403 body (container-gateway: …; see docs/setup/sandbox-troubleshooting.md…) and the bareunable to upgrade to h2c, received 403. The hint says the request was refused by policy, points at thedenylines incontainer-gateway.log, and tells the agent to report to the user instead of routing around it. Gateway 502 backend errors don't match.docker inspect, with breeze as the example. It also says thatexcludedCommandsdoesn't get past the gateway and what the agent should do.Type of change
.claude/skills/<name>/) — eval fixtures updated belowtools/<system>/*.md)tools/*/withpyproject.toml)docs/,README.md,CONTRIBUTING.md)projects/_template/)prek, workflows, validators)Test plan
prek run --from-ref upstream/main --to-ref HEADpasses, including markdownlint, lychee,isolated-setup-fingerprint(re-stamped by the hook) and workspace pytest.prek run lychee --all-filespasses too.tools/agent-isolation/tests/test_sandbox_error_hint.py: 23 passed. Both new positive cases exit 0 under the pre-change hook and 1 with it. The 502 negative case stays silent.bash -nOK), thesandbox-lintCLI, and anything against a live gateway or Docker daemon.test_gpg_touch_overlay.py::test_signing_in_flight_matches_the_whole_process_namefailed under-n autoand passes alone. It looks like a system-widepgrepracing a parallelssh-keygen.RFC-AI-0004 compliance
Linked issues
Refs apache/airflow#75599 (the Airflow-side AGENTS.md change: stop and report when breeze can't run).
Notes for reviewers (optional)
Considered and left out:
relay.pyand still not unblock breeze.Known stale counts not touched here: "Five classes of failure" in
secure-agent-setup.md, the hook header comment, andtools/agent-isolation/README.md"four known … signatures".Generated-by: Claude Code (Opus 5.5, Sonnet 5.5)