Strixa AI
TopicsSearchPricing
Sign inStart tracking

Signal Detail

Loading signal detail

Reading this signal card's judgment, risks, and evidence.

Strixa AI
TopicsSearchPricing
Sign inStart tracking
Back to Signal Feed
CodeTracked since May 19, 2026

Fix /api/run to apply stateDelta before agent execution

The PR fixes a correctness bug in google/adk-go where `/api/run` and `/api/run` SSE handlers decoded `RunAgentRequest.StateDelta` but did not persist it, so resumed or contextual runs could execute with unchanged session state. It adds a central `applyStateDeltaIfPresent` path that appends a `system` `state_delta` event through `sessionService.AppendEvent` before invoking the runner, and then uses that merged state in `Get()`, ensuring runtime state now updates as documented.

google/adk-goRunAgentRequest.StateDeltasessionService.AppendEventRunHandler

Signal Intelligence

Confidence Level98%
Worth Continued TrackingFinal score 82% with 1 evidence item.
Primary Impact Areas
google/adk-goRunAgentRequest.StateDeltasessionService.AppendEvent

What Happened

  • The PR fixes a correctness bug in google/adk-go where `/api/run` and `/api/run` SSE handlers decoded `RunAgentRequest.StateDelta` but did not persist it, so resumed or contextual runs could execute with unchanged session state. It adds a central `applyStateDeltaIfPresent` path that appends a `system` `state_delta` event through `sessionService.AppendEvent` before invoking the runner, and then uses that merged state in `Get()`, ensuring runtime state now updates as documented.
  • The PR fixes a correctness bug in google/adk-go where `/api/run` and `/api/run` SSE handlers decoded `RunAgentRequest.StateDelta` but did not persist it, so resumed or contextual runs could execute with unchanged session state. It adds a central `applyStateDeltaIfPresent` path that appends a `system` `state_delta` event through `sessionService.AppendEvent` before invoking the runner, and then uses that merged state in `Get()`, ensuring runtime state now updates as documented.
  • 1 evidence item attached for review.

What is Different

Before

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

Now

Added explicit state application for the REST run path by centralizing delta handling in `applyStateDeltaIfPresent`, wiring it into both `runAgent` flow (`RunHandler` and `RunSSEHandler`), and ensuring non-empty deltas are shallow-copied into a session event so later reads reflect the merged state.

Why Track This

Why It Matters

Developers and operators using ADK `/api/run` (including resume/continuation flows) now get the state they send in `stateDelta` applied before execution, so agent runs can continue with intended updated context instead of silently ignoring updates and behaving inconsistently across turns. This is implemented by creating a `state_delta` session event before runner startup in both REST and SSE handlers, then merging that state via normal session retrieval. Continue watching for error handling around event append failures, concurrent `stateDelta` updates to the same session, and whether any clients depend on the previously ignored behavior.

Impact

Developers and operators using ADK `/api/run` (including resume/continuation flows) now get the state they send in `stateDelta` applied before execution, so agent runs can continue with intended updated context instead of silently ignoring updates and behaving inconsistently across turns. This is implemented by creating a `state_delta` session event before runner startup in both REST and SSE handlers, then merging that state via normal session retrieval. Continue watching for error handling around event append failures, concurrent `stateDelta` updates to the same session, and whether any clients depend on the previously ignored behavior.

What To Watch Next

  • Watch whether google/adk-go becomes a repeated pattern.
  • Track follow-up changes around AI Agents.
  • Compare future signals against this evidence trail.
  • Re-check risk flags: append_event_failure_masking_run_success, concurrent_state_delta_updates_to_same_session.
Open Topic TimelineOpen Technical EventOpen Original Sourceappend_event_failure_masking_run_success / concurrent_state_delta_updates_to_same_session / request_map_mutation_after_handler_entry

Supporting Evidence

GITHUB PULL REQUESTHigh Trust

google/adk-go PR #633: fix(adkrest): apply stateDelta from /api/run before agent run

When `stateDelta` is non-nil/non-empty, the PR now appends a session event with `EventActions.state_delta` via `sessionService.AppendEvent` before running the agent; unit tests validate no-op behavior for nil/empty deltas and shallow-copy correctness for non-empty deltas.