Always assign response item IDs (#34645)

## What changed

- Assign IDs to client-created response items in every session, including streamed items, forked history, compaction results, and non-OpenAI provider requests.
- Preserve server-provided IDs and stable generated IDs across persisted and resumed conversations while continuing to omit unprefixed server IDs from outbound requests.
- Retire `features.item_ids` as a configurable feature. Existing configuration and CLI toggles remain accepted as compatibility no-ops.

## Testing

- Cover default ID assignment, persistence and resume behavior, remote compaction, provider requests, WebSocket requests, and removed-feature compatibility.

GitOrigin-RevId: 7a09e2d07d2606c2ef1e8e2283d36cb555557eae
This commit is contained in:
pakrym-oai authored and copyberry committed 2026-07-22 01:23:44 +00:00
1 parent 690995b7c1
commit 4a443994bd
36 files changed
+256 -196

No files matched your search

-1
View File
@@ -300,7 +300,6 @@ async fn run_remote_compact_task_inner_impl(
});
}
sess.replace_compacted_history(
compaction_turn_context.as_ref(),
new_history,
reference_context_item,
world_state_baseline,