Back to Signal Feed
CodeTracked since May 19, 2026

Preserve Vertex AI function IDs during genai deserialization

Restores the round-trip behavior for Vertex AI session history by mapping `aiplatformpb.FunctionCall.Id` and `aiplatformpb.FunctionResponse.Id` to `genai.FunctionCall.ID` and `genai.FunctionResponse.ID` when reading events back into `genai.Content`, so tool-call and tool-response links are not dropped.

aiplatformToGenaiContentgenai.FunctionCall.IDgenai.FunctionResponse.IDaiplatformpb.FunctionCall.Id

What Happened

  • Restores the round-trip behavior for Vertex AI session history by mapping `aiplatformpb.FunctionCall.Id` and `aiplatformpb.FunctionResponse.Id` to `genai.FunctionCall.ID` and `genai.FunctionResponse.ID` when reading events back into `genai.Content`, so tool-call and tool-response links are not dropped.
  • Restores the round-trip behavior for Vertex AI session history by mapping `aiplatformpb.FunctionCall.Id` and `aiplatformpb.FunctionResponse.Id` to `genai.FunctionCall.ID` and `genai.FunctionResponse.ID` when reading events back into `genai.Content`, so tool-call and tool-response links are not dropped.
  • 1 evidence item attached for review.

What is Different

Before

Scattered source updates, isolated context, and manual follow-up across multiple feeds.

Now

Fixes a correctness issue where persisted Vertex AI session events lost function IDs on read-back, by explicitly preserving call/response IDs in the conversion path and adding `TestAiplatformToGenaiContentPreservesFunctionIDs` to guard this behavior.

Why Track This

Why It Matters

Agents and tools that replay Vertex AI session history with ADK-go can keep tool calls tied to the correct responses across turns, reducing misrouted follow-up actions and fragile multi-turn tool workflows in production conversations. The change maps Vertex AI function IDs back into `genai` IDs during deserialization, so ID pairing now survives the write-read cycle; this should be watched for older or partially migrated sessions and for any other event conversion paths that might still skip the same ID fields.

Impact

Agents and tools that replay Vertex AI session history with ADK-go can keep tool calls tied to the correct responses across turns, reducing misrouted follow-up actions and fragile multi-turn tool workflows in production conversations. The change maps Vertex AI function IDs back into `genai` IDs during deserialization, so ID pairing now survives the write-read cycle; this should be watched for older or partially migrated sessions and for any other event conversion paths that might still skip the same ID fields.

What To Watch Next

  • Watch whether aiplatformToGenaiContent becomes a repeated pattern.
  • Track follow-up changes around Tool Calling.
  • Compare future signals against this evidence trail.
  • Re-check risk flags: missing_ids_in_legacy_events, inconsistent_id_handling_other_parsers.
Open Topic TimelineOpen Technical EventOpen Original Sourcemissing_ids_in_legacy_events / inconsistent_id_handling_other_parsers / downstream_logic_relying_on_older_roundtrip_behavior

Supporting Evidence