jif and GitHub
6d15bb3d17
Persist session IDs across thread resume ( #29327 )
...
## Summary
A cold-resumed subagent kept its durable thread ID but could receive a
new session ID, splitting one agent tree across multiple sessions after
a restart.
Persist the root session ID in every rollout `SessionMeta`, carry it
through thread creation, and restore it before initializing the resumed
`Session` and `AgentControl`.
## Behavior
For a nested agent tree:
```text
root session R
parent thread P
child thread C
```
The child rollout stores:
```text
session_id: R
parent_thread_id: P
id: C
```
After a cold resume, the child still belongs to root session `R` while
its immediate parent remains `P`. The integration coverage uses distinct
values for all three IDs so it catches restoring the session from
`parent_thread_id`.
## Legacy rollouts
Previous rollouts have `id` but no `session_id`. `SessionMetaLine`
deserialization treats a missing `session_id` as `id`, keeping those
files readable, listable, and resumable. When a legacy subagent is
resumed through its root, that synthesized child ID no longer overrides
the inherited root-scoped `AgentControl`. New rollouts always persist
the explicit root session ID.
2026-06-22 09:36:08 +02:00
..
2026-06-22 03:39:14 +00:00
2026-06-11 22:26:31 -07:00
2026-03-28 11:23:07 -06:00
2026-06-19 21:37:01 -07:00
2026-06-22 03:39:14 +00:00
2026-05-05 11:17:47 -07:00
2026-06-12 10:19:17 -04:00
2026-06-12 11:57:22 -07:00
2026-05-15 15:04:04 -07:00
2026-05-29 14:01:27 -07:00
2026-05-27 15:11:29 -07:00
2026-04-21 17:10:36 +00:00
2026-06-18 11:54:49 -07:00
2026-05-18 20:24:09 -03:00
2026-04-07 08:03:35 -07:00
2026-06-16 17:33:13 +00:00
2026-06-16 17:33:13 +00:00
2026-06-18 15:06:23 -07:00
2026-05-27 20:14:55 +00:00
2026-06-16 09:09:24 -07:00
2026-05-15 17:10:15 -07:00
2026-06-16 17:59:40 +00:00
2026-06-12 14:20:55 -07:00
2026-06-12 14:20:55 -07:00
2026-06-19 21:37:01 -07:00
2026-06-15 19:25:54 -07:00
2026-06-19 10:50:44 +02:00
2026-06-16 17:59:40 +00:00
2026-06-17 19:52:43 +02:00
2026-04-13 18:27:00 -07:00
2026-05-07 20:31:41 -07:00
2026-05-04 16:11:15 -03:00
2026-06-18 15:06:23 -07:00
2026-05-14 18:51:36 -07:00
2026-05-05 16:18:02 +00:00
2026-06-01 18:01:52 +02:00
2026-05-13 15:40:37 -07:00
2026-03-28 11:23:07 -06:00
2026-06-05 08:32:07 -07:00
2026-06-05 08:32:07 -07:00
2026-05-13 12:11:15 -03:00
2026-04-25 22:00:32 -03:00
2026-06-12 20:10:12 -07:00
2026-04-30 10:52:19 -07:00
2026-06-16 17:33:13 +00:00
2026-03-28 11:23:07 -06:00
2026-06-10 15:53:15 -04:00
2026-06-12 10:19:17 -04:00
2026-06-10 15:19:37 -04:00
2026-06-12 10:19:17 -04:00
2026-03-28 11:23:07 -06:00
2026-03-28 11:23:07 -06:00
2026-03-28 11:23:07 -06:00
2026-06-08 21:32:46 -07:00
2026-06-05 08:34:34 -07:00
2026-06-05 08:32:53 -07:00
2026-06-12 17:14:27 -07:00
2026-05-09 21:17:30 +00:00
2026-05-01 09:39:48 -07:00
2026-05-27 20:14:55 +00:00
2026-05-13 15:33:27 +00:00
2026-05-31 15:42:39 -03:00
2026-06-03 20:28:31 -03:00
2026-06-22 09:36:08 +02:00
2026-03-28 11:23:07 -06:00
2026-04-13 18:27:00 -07:00
2026-06-12 21:23:50 +00:00
2026-06-11 09:56:09 -07:00
2026-06-08 17:02:36 -07:00
2026-06-08 17:02:36 -07:00
2026-05-27 16:18:24 -03:00
2026-06-08 17:02:36 -07:00
2026-05-27 20:14:55 +00:00
2026-05-28 10:30:15 -07:00
2026-04-29 17:22:41 -07:00
2026-04-25 22:00:32 -03:00
2026-05-01 09:07:56 -07:00
2026-06-09 12:14:48 +02:00
2026-04-25 17:09:29 -07:00
2026-05-25 09:53:39 -07:00
2026-05-27 20:14:55 +00:00
2026-05-15 17:10:15 -07:00
2026-04-25 22:00:32 -03:00
2026-06-17 18:52:18 +00:00
2026-03-28 11:23:07 -06:00
2026-05-20 15:57:50 -07:00
2026-06-14 00:14:26 -07:00
2026-05-22 17:19:51 +00:00
2026-06-01 15:14:19 +02:00
2026-06-18 15:06:23 -07:00
2026-03-28 11:23:07 -06:00
2026-04-20 20:46:55 -07:00
2026-06-19 21:37:01 -07:00
2026-06-10 11:24:29 -07:00
2026-06-05 15:32:43 -04:00
2026-06-01 11:49:14 -03:00
2026-05-27 16:18:24 -03:00
2026-05-10 20:42:11 +00:00
2026-05-27 20:14:55 +00:00
2026-06-12 17:33:43 -07:00
2026-06-16 09:09:24 -07:00
2026-04-17 08:39:37 -07:00
2026-06-05 17:23:45 -07:00
2026-03-28 11:23:07 -06:00
2026-06-10 17:55:49 -07:00
2026-05-26 20:59:47 -07:00
2026-05-26 20:59:47 -07:00
2026-06-15 21:39:21 -07:00
2026-05-08 07:56:13 -07:00
2026-04-20 00:37:40 +00:00
2026-06-15 08:23:02 -07:00
2026-06-16 09:09:24 -07:00
2026-03-28 11:23:07 -06:00
2026-05-27 16:45:10 +00:00
2026-05-27 20:14:55 +00:00
2026-04-25 17:09:29 -07:00
2026-06-12 09:26:08 -07:00
2026-06-12 09:26:08 -07:00
2026-06-12 09:26:08 -07:00
2026-03-28 11:23:07 -06:00
2026-04-25 22:00:32 -03:00
2026-06-11 09:23:08 -07:00
2026-06-11 18:16:39 -07:00
2026-05-13 14:19:05 -07:00