From fbce66a8f2b10f74163e29388bcc4d1c2f6554af Mon Sep 17 00:00:00 2001 From: sairenchristianbuerano Date: Mon, 21 Sep 2026 12:30:41 +0800 Subject: [PATCH] fix(google_adk): move the four tool-scoped rules into the 0NN block ADK-114, ADK-115, ADK-116 and ADK-117 shipped with scope: tool while sitting in the 1NN block, which the README documents as agent or subagent scope. Every other ADK rule obeys the split: 001-016 are tool scope, 101-112 are agent scope. @jhumel-code asked for this on the ADK-117 pull request before it landed and named ADK-014 as the replacement; the merge went in ahead of the change. IDs are permanent once anything external references them, so this closes the gap while it is still free. ADK-117 -> ADK-014 TypeScript FunctionTool writes to the filesystem ADK-114 -> ADK-017 TypeScript FunctionTool HTTP call has no timeout ADK-115 -> ADK-018 FunctionTool description is a placeholder ADK-116 -> ADK-019 FunctionTool description is too short 014, 017, 018 and 019 were the free ids in the 0NN block. Rule text, severity, confidence and match expressions are unchanged. Also extends the README file map for google_adk to name the new rules, matching how the claude_sdk lines already name CSDK-012. ADK-008 remains agent scope in the 0NN block. That one predates this and the README documents it explicitly, so it is left alone. --- README.md | 6 +++--- google_adk/network.yaml | 2 +- google_adk/path_safety.yaml | 2 +- google_adk/tool_definition.yaml | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 7040974..0b44f84 100644 --- a/README.md +++ b/README.md @@ -90,12 +90,12 @@ google_adk/ Google ADK rules (ADK-NNN) ├── code_execution.yaml ADK-011 (python), ADK-015 (typescript) ├── error_handling.yaml ADK-005 ├── idempotency.yaml ADK-006 -├── network.yaml ADK-003 -├── path_safety.yaml ADK-004 +├── network.yaml ADK-003 (python), ADK-017 (typescript) +├── path_safety.yaml ADK-004 (python), ADK-014 (typescript fs-write) ├── repo_hygiene.yaml ADK-201 (repo scope, CLAUDE.md missing) ├── shell_safety.yaml ADK-010 ├── ssrf.yaml ADK-012 (python), ADK-016 (typescript) -└── tool_definition.yaml ADK-001, ADK-002, ADK-007, ADK-009 (python), ADK-013 (typescript) +└── tool_definition.yaml ADK-001, ADK-002, ADK-007, ADK-009, ADK-018, ADK-019 (python), ADK-013 (typescript) mcp/ Model Context Protocol rules (MCP-NNN) ├── code_execution.yaml MCP-009, MCP-014 ├── error_handling.yaml MCP-006 diff --git a/google_adk/network.yaml b/google_adk/network.yaml index d185027..375f9f3 100644 --- a/google_adk/network.yaml +++ b/google_adk/network.yaml @@ -52,7 +52,7 @@ rules: value that's tight enough to fail fast and loose enough to allow legitimate slow responses for this endpoint. - - id: ADK-114 + - id: ADK-017 title: TypeScript FunctionTool HTTP call has no timeout severity: high confidence: 0.6 diff --git a/google_adk/path_safety.yaml b/google_adk/path_safety.yaml index 689bf0e..89f2c78 100644 --- a/google_adk/path_safety.yaml +++ b/google_adk/path_safety.yaml @@ -33,7 +33,7 @@ rules: Resolve the path with `Path(...).resolve()` and assert it sits under an allowed root before opening. - - id: ADK-117 + - id: ADK-014 title: TypeScript FunctionTool writes to the filesystem severity: low confidence: 0.5 diff --git a/google_adk/tool_definition.yaml b/google_adk/tool_definition.yaml index 025e5ce..51b8f79 100644 --- a/google_adk/tool_definition.yaml +++ b/google_adk/tool_definition.yaml @@ -128,7 +128,7 @@ rules: that names what the tool does, the inputs it expects, and what it returns. Write it for the model, not for a human reader. - - id: ADK-115 + - id: ADK-018 title: FunctionTool description is a placeholder severity: low confidence: 0.85 @@ -163,7 +163,7 @@ rules: neighboring tool, and document each parameter so the ADK can carry those descriptions into the generated declaration. - - id: ADK-116 + - id: ADK-019 title: FunctionTool description is too short to guide model selection severity: low confidence: 0.8