Skip to content

fix(ingest): count TypeScript ADK's call_llm as the model call - #1170

Merged
JeremyFunk merged 1 commit into
mainfrom
fix/ingest-adk-ts-call-llm-model-call
Sep 30, 2026
Merged

JeremyFunk merged 1 commit into
mainfrom
fix/ingest-adk-ts-call-llm-model-call

fix(ingest): count TypeScript ADK's call_llm as the model call

9a516c1
Select commit
Loading
Failed to load commit list.
Maple Review Bot / Maple / review succeeded Sep 30, 2026 in 1m 5s

Confidence 4/5 · No issues found

🟢 Confidence 4/5 · likely safe to merge
Contained to one vendor's stamping, and the Python and TypeScript paths each have a test that FAILs against the old guard.
quality 100/100 · no findings · tests covered · risk medium

Drops the google_adk + call_llm early-out in is_model_call so the operation decides, letting TypeScript ADK's call_llm (stamped chat) be the model call while Python's wrapper still is not. Safe to merge; both dialects are covered by tests.

  • is_model_call no longer short-circuits on google_adk spans named call_llm
  • ADK call_llm with gen_ai.operation.name=chat now stamps buckets and maple_ai.llm_call=1
  • New google_adk_ts_call_llm_owns_usage test pins the TypeScript path
What was checked
  • Python call_llm has no op and no openinference.span.kind, so it still misses INFERENCE_OPS and google_adk does not start with unknown: (usage.rs:194, facts.rs:251)
  • The removed arm sat before only the generic op check, so litellm, semantic_kernel and vercel_ai_sdk ordering is unchanged
  • TS buckets [600,400,0,100,0] follow from input_excludes_cache false for gemini-2.5-flash (usage.rs:223), matching the new assertion

9a516c1 · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.