feat(google_adk): add ADK-112, workflow agent has no description - #79
Open
bradAGI wants to merge 1 commit into
Open
feat(google_adk): add ADK-112, workflow agent has no description#79bradAGI wants to merge 1 commit into
bradAGI wants to merge 1 commit into
Conversation
adk_sequential_agent, adk_parallel_agent, and adk_langgraph_agent are valid applies_to tokens the engine discovers but no shipped rule used — every ADK agent-scope rule targets adk_llm_agent, except ADK-108 for LoopAgent. This covers the workflow classes for the routing check ADK-101 already makes for LlmAgent. A workflow agent is routed to exactly like an LlmAgent: the parent's model sees only the child's description. It is easier to miss here, because a workflow agent has no instruction= and no model= of its own, so nothing else about its construction reads as model-facing text. What it orchestrates is also invisible from outside — the parent cannot infer "runs these three steps in order" from the class name. Left adk_langgraph_agent out: LanggraphAgent takes a compiled graph rather than an ADK sub_agents tree, so the delegation-routing argument does not transfer without checking how the engine models it.
This was referenced Aug 24, 2026
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.
adk_sequential_agent,adk_parallel_agent, andadk_langgraph_agentare validapplies_totokens the engine discovers but no shipped rule used any of them — every ADK agent-scope rule targetsadk_llm_agent, except ADK-108 forLoopAgent. I found this auditing which engine capabilities have zero rule coverage.This extends ADK-101's routing check to the workflow classes. A workflow agent is routed to exactly like an LlmAgent: when the parent decides whether to hand off, the model sees only the child's
description, so one without a description sits in thesub_agentstree unreachable through delegation — a silent routing bug, not an error.It's easier to miss on a workflow agent than on an LlmAgent, which is why it's worth its own rule rather than widening ADK-101. A workflow agent has no
instruction=and nomodel=of its own, so nothing else about its construction reads as model-facing text and the missingdescriptiondoesn't look like an omission. What it orchestrates is also invisible from outside — the parent can't infer "runs these three steps in order" from the class name. The fix leans on that: describe what the workflow accomplishes, not its mechanics, since the parent's model is choosing whether this branch is the right one.adk_langgraph_agentis deliberately left out.LanggraphAgenttakes a compiled graph rather than an ADKsub_agentstree, so the delegation-routing argument doesn't obviously transfer — I'd want to check how the engine models it before claiming it in user-facing text. Happy to follow up if it does apply.Numbered ADK-112 to avoid colliding with ADK-111 in the open PR #51.
Verification — engine built at
main:Fire (
SequentialAgent,ParallelAgent, andLoopAgenteach with nodescription=):ADK-104, ADK-112, ADK-201— three separate ADK-112 findings, one per class, so all threeapplies_tovalues are exercised rather than assumed.Silent (all three with a
description=):ADK-104, ADK-201(ADK-104 and ADK-201 are pre-existing rules firing on the fixture's LlmAgents and missing AGENTS.md.)
No new predicates, so no
schema_versionbump.