Back to Signal Feed
CodeTracked since May 19, 2026

Fix loadartifactstool slice typing to prevent structpb serialization failures

A single bug fix in adk-go PR #670 changes loadartifactstool to return artifact name lists as `[]any` (instead of `[]string`) and updates request handling to accept both `[]string` and `[]any` after a structpb round-trip, directly removing the protobuf serialization break that can block Vertex AI session persistence.

loadartifactstool.Runstructpb.NewStructProcessRequest[]string

What Happened

  • A single bug fix in adk-go PR #670 changes loadartifactstool to return artifact name lists as `[]any` (instead of `[]string`) and updates request handling to accept both `[]string` and `[]any` after a structpb round-trip, directly removing the protobuf serialization break that can block Vertex AI session persistence.
  • A single bug fix in adk-go PR #670 changes loadartifactstool to return artifact name lists as `[]any` (instead of `[]string`) and updates request handling to accept both `[]string` and `[]any` after a structpb round-trip, directly removing the protobuf serialization break that can block Vertex AI session persistence.
  • 1 evidence item attached for review.

What is Different

Before

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

Now

The primary contribution is a compatibility fix: convert tool output slices from `[]string` to `[]any` before struct conversion and make response processing tolerant of `[]any` after structpb round-trips, with unit tests covering the compatibility path and new edge case.

Why Track This

Why It Matters

Developers using Vertex AI sessions with `loadartifactstool` will avoid function-call response persistence errors, so tool invocations can continue and sessions are less likely to fail during normal operation. The root issue was a Go type mismatch between typed string slices and protobuf struct expectations; operators should still watch whether any other tool response fields return typed slices (`[]string`, `[]int`, etc.) because those can reintroduce the same session-layer serialization failure pattern.

Impact

Developers using Vertex AI sessions with `loadartifactstool` will avoid function-call response persistence errors, so tool invocations can continue and sessions are less likely to fail during normal operation. The root issue was a Go type mismatch between typed string slices and protobuf struct expectations; operators should still watch whether any other tool response fields return typed slices (`[]string`, `[]int`, etc.) because those can reintroduce the same session-layer serialization failure pattern.

What To Watch Next

  • Watch whether loadartifactstool.Run becomes a repeated pattern.
  • Track follow-up changes around AI Coding Agents.
  • Compare future signals against this evidence trail.
  • Re-check risk flags: other_tool_outputs_using_typed_slices, structpb_compatibility_regressions.
Open Topic TimelineOpen Technical EventOpen Original Sourceother_tool_outputs_using_typed_slices / structpb_compatibility_regressions / round_trip_type_assertion_coverage_gaps

Supporting Evidence