jif
bc5957eac9
Preserve parent cache affinity for ephemeral forks ( #44862 )
...
## Why
ChatGPT derives Responses cache affinity from the `session-id` header. Ephemeral forks need to reuse their parent's cache routing while retaining their own session and thread identities.
## What changed
- Inherit the parent session ID as the `prompt_cache_key` for ephemeral root forks.
- Use the prompt cache key for root-agent Responses `session-id` headers, including WebSocket handshakes. Preserve the actual session identity in turn metadata and leave non-root-agent routing unchanged.
- Keep enabled goal tool definitions visible on ephemeral threads, but reject execution with `Goal tools require a persistent thread.` and disable automatic goal continuation without persistent state.
## Testing
Add regression coverage for inherited cache routing with distinct fork identities, matching parent and fork tool definitions, WebSocket session headers, and rejection of ephemeral goal tool execution.
GitOrigin-RevId: d235e97630068b27f7ebd562dd23ac6266ebc1b9
2026-09-11 16:41:56 +00:00
..
2026-09-10 21:41:39 +00:00
2026-09-02 22:45:19 +00:00
2026-08-30 07:40:36 +00:00
2026-09-10 18:24:13 +00:00
2026-09-10 19:41:14 +00:00
2026-09-11 01:57:54 +00:00
2026-09-11 01:57:54 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-09-09 17:56:33 +00:00
2026-08-13 00:00:16 +00:00
2026-09-07 11:07:28 +00:00
2026-08-29 03:44:01 +00:00
2026-08-25 21:34:05 +00:00
2026-09-10 10:23:20 +00:00
2026-09-10 23:46:33 +00:00
2026-09-03 16:21:10 +00:00
2026-08-13 00:00:16 +00:00
2026-09-10 08:57:35 +00:00
2026-09-09 22:22:08 +00:00
2026-08-25 23:42:50 +00:00
2026-09-02 22:45:19 +00:00
2026-09-09 18:04:04 +00:00
2026-09-10 10:08:11 +00:00
2026-09-10 21:30:56 +00:00
2026-09-10 23:46:33 +00:00
2026-09-07 11:07:28 +00:00
2026-08-28 02:09:07 +00:00
2026-09-09 18:40:53 +00:00
2026-08-20 18:29:35 +00:00
2026-08-27 00:02:26 +00:00
2026-08-20 18:29:35 +00:00
2026-08-26 16:28:35 +00:00
2026-06-18 14:09:38 +02:00
2026-09-01 00:42:19 +00:00
2026-09-09 03:17:48 +00:00
2026-09-09 04:07:40 +00:00
2026-09-05 01:04:12 +00:00
2026-09-07 11:51:20 +00:00
2026-09-10 16:02:36 +00:00
2026-09-09 04:07:40 +00:00
2026-09-10 10:38:10 +00:00
2026-09-09 04:07:40 +00:00
2026-09-10 09:50:59 +00:00
2026-08-21 21:51:12 +00:00
2026-09-10 16:17:49 +00:00
2026-09-07 13:58:57 +00:00
2026-09-10 21:51:34 +00:00
2026-08-30 14:04:06 +00:00
2026-09-10 02:23:36 +00:00
2026-09-02 22:45:19 +00:00
2026-09-08 20:37:30 +00:00
2026-08-25 01:27:18 +00:00
2026-09-02 22:45:19 +00:00
2026-09-01 15:04:11 +00:00
2026-08-25 23:42:50 +00:00
2026-08-27 00:02:26 +00:00
2026-09-11 14:25:56 +00:00
2026-09-10 16:02:59 +00:00
2026-09-03 15:12:02 +00:00
2026-08-27 20:31:40 +00:00
2026-08-04 15:23:43 +00:00
2026-09-11 14:25:56 +00:00
2026-09-09 10:51:24 +00:00
2026-09-10 14:22:21 +00:00
2026-09-10 10:38:10 +00:00
2026-09-07 17:26:10 +00:00
2026-09-11 14:25:56 +00:00
2026-09-10 21:41:39 +00:00
2026-08-13 00:00:16 +00:00
2026-09-09 17:56:33 +00:00
2026-09-09 17:56:33 +00:00
2026-09-10 03:18:28 +00:00
2026-09-08 20:37:30 +00:00
2026-08-20 17:46:05 +00:00
2026-08-29 03:28:19 +00:00
2026-09-07 15:10:37 +00:00
2026-08-27 00:02:26 +00:00
2026-09-04 12:08:02 +00:00
2026-09-10 16:17:49 +00:00
2026-08-25 23:42:50 +00:00
2026-09-01 14:43:27 +00:00
2026-09-09 18:40:53 +00:00
2026-09-09 04:07:40 +00:00
2026-09-09 17:56:33 +00:00
2026-09-10 21:51:34 +00:00
2026-09-11 16:41:56 +00:00
2026-09-10 23:46:33 +00:00
2026-07-22 20:23:35 +00:00
2026-08-13 00:00:16 +00:00
2026-08-31 22:38:23 +00:00
2026-08-01 01:17:26 +00:00
2026-09-07 20:25:30 +00:00
2026-08-31 22:29:40 +00:00
2026-09-09 19:38:24 +00:00
2026-09-09 18:50:32 +00:00
2026-09-09 18:50:32 +00:00
2026-09-10 03:18:28 +00:00
2026-08-13 00:00:16 +00:00
2026-08-31 20:50:44 +00:00
2026-08-31 20:50:44 +00:00
2026-09-09 17:56:33 +00:00
2026-09-02 20:41:14 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-09-09 18:04:04 +00:00
2026-09-10 03:18:28 +00:00
2026-09-10 18:24:13 +00:00
2026-08-26 03:28:57 +00:00
2026-09-10 03:18:28 +00:00
2026-09-02 22:45:19 +00:00
2026-09-09 17:56:33 +00:00
2026-09-10 21:30:56 +00:00
2026-09-09 04:07:40 +00:00
2026-07-23 19:19:35 +00:00
2026-08-13 00:00:16 +00:00
2026-09-09 17:56:33 +00:00
2026-09-09 17:56:33 +00:00
2026-09-09 23:23:59 +00:00
2026-08-25 17:27:04 +00:00
2026-09-08 20:59:50 +00:00
2026-08-20 17:46:05 +00:00
2026-09-09 16:48:49 +00:00
2026-08-27 01:22:23 +00:00
2026-09-06 02:28:38 +00:00
2026-09-08 16:24:38 +00:00
2026-09-09 15:54:07 +00:00
2026-09-09 18:04:04 +00:00
2026-09-09 17:56:33 +00:00
2026-09-09 17:56:33 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-09-10 22:26:26 +00:00
2026-08-28 09:48:13 +00:00
2026-09-09 18:04:04 +00:00
2026-09-02 22:45:19 +00:00
2026-08-30 07:40:36 +00:00
2026-08-30 14:04:06 +00:00
2026-08-20 17:46:05 +00:00
2026-09-10 18:24:13 +00:00
2026-08-30 14:04:06 +00:00
2026-09-08 23:45:10 +00:00
2026-09-04 20:38:08 +00:00
2026-09-04 12:08:02 +00:00
2026-09-07 17:35:23 +00:00
2026-08-28 15:44:48 +00:00
2026-09-07 17:35:23 +00:00
2026-09-08 22:31:49 +00:00
2026-08-10 19:26:52 +00:00
2026-08-13 00:00:16 +00:00
2026-08-28 18:07:40 +00:00
2026-09-06 02:28:38 +00:00
2026-08-14 01:23:59 +00:00
2026-08-13 00:00:16 +00:00
2026-09-09 04:07:40 +00:00
2026-09-10 21:02:14 +00:00
2026-09-02 23:58:24 +00:00
2026-08-20 06:29:32 +00:00