You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
google/adk-python#6605 is a compact, realistic Google ADK change that can become a durable, offline regression fixture. It adds support_agent with two function tools:
lookup_account(user_id)
delete_account(user_id)
The sample also includes runtime agent-hooks governance. That runtime behavior is intentionally out of scope for Agents Shipgate's static contract, which makes this a useful boundary test as well as an adapter test.
Observed static result with 0.16.0b7
After a local shipgate.yaml declared the two Google ADK source files, doctor --json found:
one Google ADK agent;
two function tools;
two Python entry points;
2/2 catalog tools reachable and no source-loader warnings.
suggested-inventory.json and reviewed declaration stubs.
This is the desired fail-closed outcome: AST discovery proves a structural root-to-tool binding, but does not invent semantic effect, authority, or approval evidence.
Fixture requirements
Please add a minimized, vendored fixture modeled on the relevant sample; do not fetch GitHub, import the app, execute agent code, make tool calls, or require an LLM/API key.
The fixture should cover:
Google ADK root extraction from LlmAgent(name="support_agent", tools=[...]).
Function extraction, source locations, input shape, and the 2/2 root-reachable binding graph.
The deterministic result insufficient_evidence when only static function definitions and an otherwise minimal manifest are supplied.
Generated inventory/declaration guidance, without auto-filling effect or authority claims.
The static-verdict disclaimer: runtime hooks are not treated as proof that destructive actions are governed.
delete_account may receive a conservative destructive-risk heuristic, but it must not receive a proven effect/authority/approval claim without explicit evidence.
lookup_account may remain semantically unknown until the declared inventory/effect evidence is supplied.
A fixture must not treat an exit code of 0 in advisory mode as passed.
Value
This adds a real supported-framework sample between tiny synthetic cases and a full external clone, and guards both the Google ADK adapter and the evidence-boundary contract against regression.
Motivation
google/adk-python#6605 is a compact, realistic Google ADK change that can become a durable, offline regression fixture. It adds
support_agentwith two function tools:lookup_account(user_id)delete_account(user_id)The sample also includes runtime agent-hooks governance. That runtime behavior is intentionally out of scope for Agents Shipgate's static contract, which makes this a useful boundary test as well as an adapter test.
Observed static result with 0.16.0b7
After a local
shipgate.yamldeclared the two Google ADK source files,doctor --jsonfound:2/2catalog tools reachable and no source-loader warnings.A static
scan --suggest-patchesthen produced:release_decision.decision = insufficient_evidence;0/2actions pass-eligible;suggested-inventory.jsonand reviewed declaration stubs.This is the desired fail-closed outcome: AST discovery proves a structural root-to-tool binding, but does not invent semantic effect, authority, or approval evidence.
Fixture requirements
Please add a minimized, vendored fixture modeled on the relevant sample; do not fetch GitHub, import the app, execute agent code, make tool calls, or require an LLM/API key.
The fixture should cover:
LlmAgent(name="support_agent", tools=[...]).2/2root-reachable binding graph.insufficient_evidencewhen only static function definitions and an otherwise minimal manifest are supplied.Expected policy assertions
delete_accountmay receive a conservative destructive-risk heuristic, but it must not receive a proven effect/authority/approval claim without explicit evidence.lookup_accountmay remain semantically unknown until the declared inventory/effect evidence is supplied.0in advisory mode aspassed.Value
This adds a real supported-framework sample between tiny synthetic cases and a full external clone, and guards both the Google ADK adapter and the evidence-boundary contract against regression.