Preserve Guardian parent response IDs across sampling requests (#45441)

## Why

Running code-mode cells can request Guardian review while the next response is in flight. Clearing the response ID before that response emits `response.created` leaves those reviews without a `parent_response_id`.

## What changed

Keep the latest response ID received in the turn until a later `response.created` replaces it, including across sampling retries.

## Testing

Add regression coverage for reviews before and after a response handoff and for a fresh turn that must not inherit the previous turn's ID. Update retry coverage to expect the last known parent when the retry supplies no response ID.

GitOrigin-RevId: af0a08de09edad59e1a7ade7904a42d616b05679
This commit is contained in:
jif
2026-09-14 15:13:13 +00:00
committed by copyberry
parent f8bed26f7b
commit b6a5d5bb14
5 changed files with 203 additions and 13 deletions
+1 -1
View File
@@ -72,7 +72,7 @@ pub struct MemorySummarizeOutput {
pub memory_summary: String,
}
/// The server response currently being handled, shared with tool-review extensions.
/// The latest server response ID received in this turn, shared with tool-review extensions.
#[derive(Clone, Debug)]
pub struct ResponseId(pub String);