fix(ingest): fall back to gen_ai.conversation.id for every vendor - #1139
Merged
Merged
Maple Review Bot / Maple / review
succeeded
Sep 30, 2026 in 59s
Confidence 4/5 · No issues found
🟢 Confidence 4/5 · likely safe to merge
One deterministic ordering rule in run_predicates, covered by new tests for both the fallback and the vendor-key precedence, with no warehouse or migration change.
quality 100/100 · no findings · tests covered · risk medium
Ingest now appends gen_ai.conversation.id after each matched vendor's own session keys, so spans from the 11 vendors that never listed it group into a session instead of one trace:<id> per trace. Contained to classification, with matching Rust tests; safe to merge.
run_predicatestriesgen_ai.conversation.idlast for every vendor, unless the list already ranks itunknown:openinferencenow ranks the conversation id ahead of OpenInference'ssession.id- Module doc and the
session-turns.tscomment restate the new precedence
What was checked
- Fallback is appended after the vendor's own keys and skipped when the list already contains the key (ai_session.rs:1049); google_adk, langchain, llamaindex, openai_agents_sdk, vercel_ai_sdk keep their…
detect_maplestill keys onmaple_ai.session.idpresence (ai_session.rs:1082) andhas_vendor_stampclears it (ai_session.rs:752), so a re-ingested stamp cannot re-derive the vendor- The
session.idmerge risk applies only where the browser SDK's replay id is the top key:openinference-openaistill requires the OpenAI instrumentation scope, and browser spans carry Maple's own s…
062ce5a · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.
Loading