Skip to content

fix(models): Drop stale thought signatures#6202

Open
its-amann wants to merge 2 commits into
google:mainfrom
its-amann:fix-thought-signature-pruning
Open

fix(models): Drop stale thought signatures#6202
its-amann wants to merge 2 commits into
google:mainfrom
its-amann:fix-thought-signature-pruning

Conversation

@its-amann

Copy link
Copy Markdown

Fixes #3693

Summary

  • Keeps only the newest thought_signature in outgoing request contents.
  • Clears earlier signatures before cache handling or request dispatch, so the payload does not carry values the next request no longer uses.
  • Adds a regression test that builds multiple signed parts across the request history and verifies only the newest signature is sent.

Testing

  • uv run --extra dev pyink src\google\adk\models\google_llm.py tests\unittests\models\test_google_llm.py
  • uv run --extra dev ruff check src\google\adk\models\google_llm.py tests\unittests\models\test_google_llm.py
  • uv run python -m pytest tests\unittests\models\test_google_llm.py::test_generate_content_async_keeps_only_latest_thought_signature
  • uv run python -m pytest tests\unittests\models\test_google_llm.py::test_generate_content_async_keeps_only_latest_thought_signature tests\unittests\models\test_google_llm.py::test_generate_content_async tests\unittests\models\test_google_llm.py::test_generate_content_async_stream tests\unittests\models\test_google_llm.py::test_generate_content_async_stream_preserves_thinking_and_text_parts

@google-cla

google-cla Bot commented Jun 23, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@adk-bot

adk-bot commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Response from ADK Triaging Agent

Hello @its-amann, thank you for creating this PR!

It looks like your Contributor License Agreement (CLA) check is currently failing. Please sign the Google CLA at https://cla.developers.google.com/ to proceed.

Once the CLA is signed, we can move forward with triaging and labeling your PR. Thank you!

@rohityan rohityan self-assigned this Jun 24, 2026
@rohityan rohityan added the models [Component] Issues related to model support label Jun 24, 2026
@its-amann its-amann force-pushed the fix-thought-signature-pruning branch from 20988cd to 9b7b669 Compare June 25, 2026 19:36
Keep only the newest thought_signature in request contents so prior turns do not send signatures the model no longer uses.

Fixes google#3693
@its-amann its-amann force-pushed the fix-thought-signature-pruning branch from 02e525b to a4a9d37 Compare June 26, 2026 04:29
@rohityan rohityan requested a review from GWeale June 26, 2026 20:58
@rohityan rohityan added the needs review [Status] The PR/issue is awaiting review from the maintainer label Jun 26, 2026
@rohityan

Copy link
Copy Markdown
Collaborator

Hi @its-amann , Thank you for your contribution! We appreciate you taking the time to submit this pull request. Your PR has been received by the team and is currently under review. We will provide feedback as soon as we have an update to share.

@rohityan

Copy link
Copy Markdown
Collaborator

Hi @GWeale , can you please review this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

models [Component] Issues related to model support needs review [Status] The PR/issue is awaiting review from the maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove unnecessary thought signatures from content sent to the Gemini models

3 participants