Skip to content

[agent] Gemini 3 models degenerate under eve: thoughtSignature dropped on tool-call replay #4

Description

@paulieb89

Problem

Running the agent on google/gemini-3.5-flash (branch test/gemini-flash-model, deployed 2026-07-15) produced degenerate behaviour on the issue #1 dispatch: repeated tool-narration text ("Let's call read_file! Let's do that!" looped), four comments posted in ~20s, one 42KB of repetition.

Runtime logs showed the mechanism (AI SDK warning, repeated):

Replayed 2 functionCall part(s) for a Gemini 3 model without a thoughtSignature (tools: read_issue, bash). Injected the documented skip_thought_signature_validator sentinel to keep the request from failing with HTTP 400. The likely cause is application code that drops providerOptions.google.thoughtSignature when persisting or serializing assistant tool-call messages.

eve 0.22.5's message persistence drops providerOptions.google.thoughtSignature, breaking Gemini 3's reasoning replay contract. Compounded by #3 (no working-tree checkout), the model looped instead of working. Production was rolled back to anthropic/claude-sonnet-5 (main) the same night; the session terminated without intervention and the bot-comment filter prevented self-re-triggering.

Acceptance criteria

  • Either eve persists thoughtSignature for Gemini 3 models (upstream fix or upgrade), or the repository documents that Gemini 3 model ids are unsupported for this agent.
  • A dispatched turn on the chosen model completes without degenerate repetition.

Constraints and non-goals

  • Do not work around by disabling tool-call persistence.
  • Model changes are privileged self-modification and require maintainer review.

Verification

Runtime logs for a full dispatched turn show no thoughtSignature warnings and the agent produces a coherent comment/PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions