feat(reviewer): run reviewer on Vertex AI Agent Engine (hybrid runtime)#356
Open
kaveone wants to merge 3 commits into
Open
feat(reviewer): run reviewer on Vertex AI Agent Engine (hybrid runtime)#356kaveone wants to merge 3 commits into
kaveone wants to merge 3 commits into
Conversation
…ntime) Track 3 'deploy on Agent Engine' consideration. The reviewer is pure reasoning + grounding, so it moves to Vertex AI Agent Engine; the coder stays on Cloud Run where it needs a git/shell sandbox. - deploy_agent_engine.py: deploys the reviewer root_agent to Agent Engine (reasoning_engines.AdkApp), idempotent create/update, bundles the CONVENTIONS.md grounding corpus. Runs as the project's default Reasoning Engine Service Agent (needs discoveryengine.viewer for live Vertex AI Search; bundled corpus is the graceful fallback). Public repo => the reviewer reads PRs unauthenticated, so no GitHub token / SecretRef. - github-issue-resolver.yaml: review_pr step is now a python step that mints an aiplatform.user access token from the orchestrator metadata server and calls the engine ':streamQuery' endpoint, parsing the JSON verdict from the streamed events. New 'reviewer_agent_engine' input holds the resource name; legacy reviewer_agent_url kept for fallback. Verified: querying engine 3625053003137941504 returns a grounded verdict citing 'Rule 1: Money is integer cents, never floats'. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
✅ Deploy Preview for lustrous-pasca-e9664a ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
…failure A single ADK/Gemini hiccup (empty stream) was dropping the verdict to 'no parseable verdict'. Retry the :streamQuery call 3x with backoff inside the step budget; only fall back to a needs_changes summary if all attempts fail. Mirrors the live registered workflow. Verified live E2E: issue #12 -> PR #13 (MERGED) -> issue CLOSED, with the Agent Engine reviewer citing Rules 1/5/6/7/9/10. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… AI Search Set spec.service_account=reviewer-agent (which holds discoveryengine.viewer + aiplatform.user) via the SDK's service_account arg — honored on create and update, so it applies in place without a new resource ID. The Agent Engine service agent needs serviceAccountTokenCreator on reviewer-agent (granted). Verified: the reviewer's Discovery Engine :search call now returns HTTP 200 (was 403 as the default service agent) — grounding is live Vertex AI Search, not the bundled-corpus fallback. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Addresses the Track 3 "deploy on Agent Engine" key consideration.
What
The reviewer agent — pure reasoning + grounding — now runs on Vertex AI Agent Engine. The coder stays on Cloud Run (it needs a real git/shell sandbox). Right runtime per agent.
cloud-agents/reviewer/deploy_agent_engine.py— deploys the reviewerroot_agentviareasoning_engines.AdkApp; idempotent create/update; bundles theCONVENTIONS.mdgrounding corpus. Public demo repo ⇒ reviewer reads PRs unauthenticated (no GitHub token / SecretRef).github-issue-resolver.yaml—review_pris now apythonstep that mints anaiplatform.useraccess token from the orchestrator metadata server and calls the engine:streamQueryendpoint, parsing the JSON verdict from the streamed events. Newreviewer_agent_engineinput holds the resource name; legacyreviewer_agent_urlkept as fallback.Verified
Direct query to engine
3625053003137941504returns a grounded verdict:Pending (tracked separately)
roles/discoveryengine.viewerto the default Reasoning Engine Service Agent for live Vertex AI Search grounding on Agent Engine (currently grounds via the bundled corpus fallback).🤖 Generated with Claude Code