Back to Signal Feed
CodeTracked since May 19, 2026

Preserve Vertex AI function IDs when deserializing session events

ADK-Go fixes a broken round trip in Vertex AI session handling by preserving `FunctionCall` and `FunctionResponse` IDs when converting session events from Vertex AI back into `genai.Content`, so IDs written during save are no longer dropped on read.

aiplatformToGenaiContentcreateAiplatformpbContentgenai.FunctionCall.IDgenai.FunctionResponse.ID

What Happened

  • ADK-Go fixes a broken round trip in Vertex AI session handling by preserving `FunctionCall` and `FunctionResponse` IDs when converting session events from Vertex AI back into `genai.Content`, so IDs written during save are no longer dropped on read.
  • ADK-Go fixes a broken round trip in Vertex AI session handling by preserving `FunctionCall` and `FunctionResponse` IDs when converting session events from Vertex AI back into `genai.Content`, so IDs written during save are no longer dropped on read.
  • 1 evidence item attached for review.

What is Different

Before

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

Now

Adds explicit deserialization field mapping so `genai.FunctionCall.ID` is set from `aiplatformpb.FunctionCall.Id` and `genai.FunctionResponse.ID` is set from `aiplatformpb.FunctionResponse.Id`, and adds `TestAiplatformToGenaiContentPreservesFunctionIDs` to verify ID retention behavior.

Why Track This

Why It Matters

Agents using Vertex AI session history in ADK-Go will keep tool calls correctly paired with their tool responses across turns, which reduces the chance of mis-associating results during later workflow steps. By restoring this deserialization behavior, history replay becomes structurally consistent with how IDs are stored; teams should watch for older session records that may still contain missing IDs and monitor any mismatches in cross-language handling with ADK-Python clients.

Impact

Agents using Vertex AI session history in ADK-Go will keep tool calls correctly paired with their tool responses across turns, which reduces the chance of mis-associating results during later workflow steps. By restoring this deserialization behavior, history replay becomes structurally consistent with how IDs are stored; teams should watch for older session records that may still contain missing IDs and monitor any mismatches in cross-language handling with ADK-Python clients.

What To Watch Next

  • Watch whether aiplatformToGenaiContent becomes a repeated pattern.
  • Track follow-up changes around AI Agents.
  • Compare future signals against this evidence trail.
  • Re-check risk flags: legacy_sessions_missing_function_ids, cross_language_id_pairing_drift.
Open Topic TimelineOpen Technical EventOpen Original Sourcelegacy_sessions_missing_function_ids / cross_language_id_pairing_drift / retry_or_replay_handling_on_partial_records

Supporting Evidence