-
Notifications
You must be signed in to change notification settings - Fork 217
Description
🏥 CI Failure Investigation - Run #35567
Summary
The test job in run #35567 (commit fa32af8807d56ce16cfe669c53841c73276ba2d0, event push) is failing because TestSupportsLLMGateway and the strict-mode LLM gateway tests now expect Codex to support the gateway while Claude does not, but SupportsLLMGateway() returns the opposite values.
Failure Details
- Run: 22008808546
- Commit:
fa32af8807d56ce16cfe669c53841c73276ba2d0 - Trigger: push
Root Cause Analysis
validateStrictFirewall and TestSupportsLLMGateway rely on engine.SupportsLLMGateway() to tell whether sandbox.agent can be disabled and whether the API-proxy sidecar should be pre-pulled. NewCodexEngine previously set supportsLLMGateway to false while NewClaudeEngine set it to true, which is the opposite of what the tests assert. As a result, TestSupportsLLMGateway fails because Codex reports false and Claude reports true.
Failed Jobs and Errors
test:strict_mode_llm_gateway_test.go:335reportsEngine 'codex': expected SupportsLLMGateway() = true, got false(also similar failures for Claude and the overall package fail).logs-token-check: skipped automatically because thetestjob failed before it could run.
Investigation Findings
- The boolean literals in
codex_engine.go/claude_engine.goare inverted relative to the expectations instrict_mode_llm_gateway_test.go. - Switching the flags also affects whether the API proxy image is added when AWF is enabled and which error message strict mode raises when
sandbox.agent: falseis configured. - Local
go test ./pkg/workflow -run 'TestSupportsLLMGateway|TestValidateStrictFirewall'refused to run because the runner attempted to download Go 1.25 viagolang.org/toolchainand received403 Forbidden, so the test command could not execute in this environment.
Recommended Actions
- Update
NewCodexEnginesosupportsLLMGatewayistrueandNewClaudeEnginesosupportsLLMGatewayisfalseso the registry matches the new strict-mode expectations. - Re-run
go test ./pkg/workflow -run 'TestSupportsLLMGateway|TestValidateStrictFirewall' -count=1once the Go 1.25 toolchain is available locally (current runners block the download, so the command failed before executing). - Confirm that
actions/download_docker_images.shstill pre-pulls the AWF api-proxy only when Codex is selected now that Claude no longer sets the flag.
Prevention Strategies
Document the connection between supportsLLMGateway and TestSupportsLLMGateway/strict-mode validation so that future engine updates change them together, and add gating around TestSupportsLLMGateway if new engines are introduced.
AI Team Self-Improvement
Whenever you add or modify firewall/LLM gateway behavior for an engine, update TestSupportsLLMGateway and the engine constructors (New*Engine) at the same time so the capability flag and tests remain in sync.
Historical Context
This failure started with the recent LLM gateway refactor (#15533 / #15557) that now relies on supportsLLMGateway. I’m not aware of previous investigations matching this exact signature.
AI generated by CI Failure Doctor
To add this workflow in your repository, run
gh aw add githubnext/agentics/workflows/ci-doctor.md@ea350161ad5dcc9624cf510f134c6a9e39a6f94d. See usage guide.
- expires on Feb 15, 2026, 1:57 AM UTC