From d30ef25465ede1220d7cdf705805477798de93d3 Mon Sep 17 00:00:00 2001 From: sdev Date: Sat, 10 Oct 2026 14:39:17 +0530 Subject: [PATCH] Reconcile published test counts and fix a skipped aip-agents test The README said 160+ tests and the project page said 217. The suite is 285 as of 0.5.0 (205 Python, 80 Rust). test_register_walks_sub_agents gave sub-agents tools the root agent did not hold, so auto-delegation correctly rejected it as scope widening. The root now holds those tools. CI never caught it because aip-agents tests only ran at publish time; the conformance workflow now runs them. --- .github/workflows/conformance.yml | 7 +++++++ README.md | 2 +- python/tests/test_aip_agents/test_adk_adapter.py | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/conformance.yml b/.github/workflows/conformance.yml index 8a870b5..b2aefab 100644 --- a/.github/workflows/conformance.yml +++ b/.github/workflows/conformance.yml @@ -51,6 +51,13 @@ jobs: working-directory: python run: python -m pytest tests/ -v --ignore=tests/test_aip_agents/ + - name: aip-agents tests + # Otherwise these only run at publish time, and a broken test sat on master unnoticed. + working-directory: python + run: | + pip install -e aip_agents[dev] + python -m pytest tests/test_aip_agents/ -v + - name: Rust tests working-directory: rust run: cargo test diff --git a/README.md b/README.md index e56c170..141af37 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,7 @@ Benchmarked on compact and chained token operations (1000 iterations): | Token size (compact) | 356 bytes | 356 bytes | | Token growth per hop | +340 bytes | +388 bytes | -End-to-end overhead for a 2-hop delegation: AIP adds ~2.3 ms vs OAuth's ~20 ms (token exchange simulation). 100% rejection rate on unauthorized token operations across 100 attack scenarios. 160+ tests passing across both languages. +End-to-end overhead for a 2-hop delegation: AIP adds ~2.3 ms vs OAuth's ~20 ms (token exchange simulation). 100% rejection rate on unauthorized token operations across 100 attack scenarios. 285 tests passing across both languages (205 Python, 80 Rust, as of 0.5.0). Full benchmark code in `paper/benchmarks/`. diff --git a/python/tests/test_aip_agents/test_adk_adapter.py b/python/tests/test_aip_agents/test_adk_adapter.py index 88445bc..905f051 100644 --- a/python/tests/test_aip_agents/test_adk_adapter.py +++ b/python/tests/test_aip_agents/test_adk_adapter.py @@ -32,7 +32,7 @@ def test_register_walks_sub_agents(): plugin = AIPAdkPlugin(AIPConfig(app_name="test-app")) sub1 = MockAgent(name="summarizer", tools=[MockTool("summarize")]) sub2 = MockAgent(name="translator", tools=[MockTool("translate")]) - root = MockAgent(name="coordinator", tools=[MockTool("route")], sub_agents=[sub1, sub2]) + root = MockAgent(name="coordinator", tools=[MockTool("route"), MockTool("summarize"), MockTool("translate")], sub_agents=[sub1, sub2]) runner = MockRunner(agent=root) plugin.register(runner) assert plugin.identity_manager.get("coordinator") is not None