Repository navigation
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
Blocking workflow-generation and model-resolution issues remain unresolved.
4 open issues
What changed in this PR
Extends gh-aw’s Claude engine to compile workflows using Vertex AI with Google Cloud Workload Identity Federation instead of an Anthropic API key.
Changes:
- Adds keyless authentication handling, credential clearing, and sandbox validation.
- Configures topology-aware Vertex routing, model-catalog selection, and startup retries.
- Adds compiler and harness regressions plus setup documentation; end-to-end inference remains unverified.
| File | Description |
|---|---|
pkg/workflow/sandbox_validation.go |
Requires the agent sandbox for Claude Vertex authentication. |
pkg/workflow/claude_vertex_test.go |
Tests authentication, environment overrides, topology, and generated workflows. |
pkg/workflow/claude_engine.go |
Detects GCP WIF and configures Vertex credentials, routing, and retries. |
pkg/constants/constants.go |
Adds the Vertex gateway port and proxy-bypass constants. |
docs/src/content/docs/reference/auth.mdx |
Documents setup, locations, cloud prerequisites, and current limitations. |
docs/src/content/docs/engines/claude.md |
Links Claude users to the Vertex authentication guide. |
actions/setup/js/claude_harness.test.cjs |
Adds Vertex model-resolution and startup-retry regressions. |
Review effort: Max
| // The adapter returns retryable 503s while its first WIF exchange is pending. | ||
| env["CLAUDE_CODE_MAX_RETRIES"] = "8" | ||
| env["NO_PROXY"] = constants.AWFVertexNoProxyHosts | ||
| env["no_proxy"] = constants.AWFVertexNoProxyHosts |
There was a problem hiding this comment.
Fixed in d6fec07: generated env keeps only NO_PROXY; the sandbox command exports no_proxy from it. Updated regression assertions cover both.
| if isClaudeVertexWIF(workflowData) { | ||
| applyClaudeVertexEnv(env, workflowData) |
There was a problem hiding this comment.
Fixed in d6fec07: compilation rejects Claude Vertex WIF with a non-Anthropic engine.model-provider or a copilot/ model, preventing GitHub credential resolution from being combined with Vertex routing.
| // remain sidecar-owned, even when the runner has unrelated Anthropic credentials. | ||
| func applyClaudeVertexEnv(env map[string]string, workflowData *WorkflowData) { | ||
| auth := workflowData.EngineConfig.Auth | ||
| env["GH_AW_LLM_PROVIDER"] = "vertex" |
There was a problem hiding this comment.
Fixed in d6fec07: Claude Vertex alias patterns are added provider-specifically at runtime, and regressions verify sonnet and sub-agent small resolve against a Vertex catalog.
| // remain sidecar-owned, even when the runner has unrelated Anthropic credentials. | ||
| func applyClaudeVertexEnv(env map[string]string, workflowData *WorkflowData) { | ||
| auth := workflowData.EngineConfig.Auth | ||
| env["GH_AW_LLM_PROVIDER"] = "vertex" |
There was a problem hiding this comment.
Fixed in d6fec07: when AWF has no Vertex catalogue endpoint, exact concrete Vertex sub-agent model IDs pass through; a complete catalogue that omits an ID still fails. Added a regression using the null-catalogue response.
|
@copilot address the following outstanding work in one pass:
Push the necessary fixes, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved. Use the pr-finisher skill and stop when only human review or CI remains; do not trigger CI. Sous-chef head: b0bc79a
|
…e-on-vertex-ai Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
| childEnv.ANTHROPIC_MODEL = resolution.engineModel; | ||
| } | ||
| const resolved = reflectData ? resolveProviderEndpointFromReflect({ provider: copilotProvider ? "github" : provider, reflectData, logger }) : null; | ||
| const resolved = provider === "vertex" ? null : reflectData ? resolveProviderEndpointFromReflect({ provider: copilotProvider ? "github" : provider, reflectData, logger }) : null; |
|
Caution agentic threat detected DetailsPotential security threats were detected in the agent output. Review the workflow run logs for details. @copilot address the following outstanding work in one pass:
Push the necessary fixes, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved. Use the pr-finisher skill and stop when only human review or CI remains; do not trigger CI. Sous-chef head: d6fec07
|


Claude accepted GCP WIF configuration but still required an Anthropic key, lacked Vertex routing, and disabled retries needed while the initial token exchange was pending.
10004, and enable eight CLI retries. Location defaults toglobal; proxy-bypass changes affect only Vertex workflows.Firewall adapter changes remain separate. End-to-end inference through gh-aw is not yet verified.