vinh-gpt
e24ac448b3
Allow thread instruction providers to share updates with subagents ( #46577 )
...
## Why
Subagents inherit applied instruction snapshots, so later provider updates do not reach running descendants. Hosts need an explicit way to share current thread instructions across an agent tree.
## What changed
- Add `ThreadInstructionsProvider::share_with_subagents()`, defaulting to `false`. Opted-in descendants refresh instructions at their next model-request boundary.
- Retain shared providers across root unloads and descendant reloads. Let a resumed root replace the provider for surviving descendants, or preserve their last shared instructions when it supplies a non-sharing provider.
- Keep providers scoped to their root tree and preserve snapshot-only instructions for root forks and isolated sessions, including Guardian reviews.
## Testing
Add coverage for child and grandchild instruction updates and clearing, provider replacement after root restart, lazy descendant reloads, default snapshot inheritance, and isolation between roots and Guardian sessions.
GitOrigin-RevId: 44c9fb7fe9ae1f96156bdf3c47ab6c4a81bd65e9
2026-09-19 02:15:20 +00:00
..
2026-09-19 02:15:20 +00:00
2026-09-19 01:37:14 +00:00
2026-09-17 10:02:38 +00:00
2026-09-18 23:37:35 +00:00
2026-09-01 18:24:56 +00:00
2026-09-19 02:15:20 +00:00
2026-09-09 17:45:37 +00:00
2026-09-14 15:30:22 +00:00
2026-08-21 06:41:28 +00:00
2026-08-31 22:38:23 +00:00
2026-09-19 01:21:32 +00:00
2026-09-19 02:15:20 +00:00
2026-09-19 01:03:55 +00:00
2026-09-19 02:07:58 +00:00
2026-09-19 02:15:20 +00:00
2026-09-19 01:27:26 +00:00
2026-09-19 01:27:26 +00:00
2026-08-25 13:10:24 +00:00
2026-09-19 02:15:20 +00:00
2026-09-19 01:21:32 +00:00
2026-09-16 04:59:23 +00:00
2026-09-17 04:37:54 +00:00
2026-09-02 23:58:24 +00:00
2026-09-14 23:25:09 +00:00
2026-09-09 17:56:06 +00:00
2026-09-17 19:42:56 +00:00
2026-09-19 00:46:30 +00:00
2026-09-19 01:27:26 +00:00
2026-09-19 01:27:26 +00:00
2026-09-19 01:27:48 +00:00
2026-09-17 23:54:31 +00:00
2026-09-09 18:40:53 +00:00
2026-09-09 18:40:53 +00:00
2026-09-16 22:26:40 +00:00
2026-09-17 01:38:13 +00:00
2026-09-17 01:38:13 +00:00
2026-09-19 00:52:56 +00:00
2026-09-16 22:26:40 +00:00
2026-09-10 18:24:13 +00:00
2026-09-19 00:52:56 +00:00
2026-09-01 13:43:27 +00:00
2026-09-17 01:18:37 +00:00
2026-08-25 19:54:52 +00:00
2026-09-19 01:56:57 +00:00
2026-09-15 21:19:08 +00:00
2026-09-15 21:19:08 +00:00
2026-09-03 00:17:19 +00:00
2026-09-01 14:43:27 +00:00
2026-08-20 07:03:02 +00:00
2026-09-01 18:24:56 +00:00
2026-09-19 01:21:32 +00:00
2026-09-19 01:21:32 +00:00
2026-09-18 23:07:36 +00:00
2026-09-18 23:07:36 +00:00
2026-08-25 21:34:05 +00:00
2026-09-14 22:58:51 +00:00
2026-08-21 21:17:42 +00:00
2026-09-17 10:02:38 +00:00
2026-09-17 00:49:12 +00:00
2026-09-17 00:49:12 +00:00
2026-09-19 01:03:55 +00:00
2026-09-19 01:27:26 +00:00
2026-09-11 14:25:56 +00:00
2026-08-29 06:05:28 +00:00
2026-09-19 01:27:26 +00:00
2026-09-17 01:18:37 +00:00
2026-09-01 13:43:27 +00:00
2026-09-19 02:07:58 +00:00
2026-09-16 15:17:41 +00:00
2026-09-09 17:46:00 +00:00
2026-09-04 21:17:25 +00:00
2026-08-18 18:41:40 +00:00
2026-09-08 23:45:10 +00:00
2026-09-15 22:52:56 +00:00
2026-08-31 22:38:23 +00:00
2026-09-15 17:09:11 +00:00
2026-09-10 19:41:14 +00:00
2026-09-19 00:46:30 +00:00
2026-09-19 01:03:55 +00:00
2026-09-02 23:58:24 +00:00
2026-09-02 23:58:24 +00:00
2026-08-31 23:29:20 +00:00
2026-09-17 18:20:28 +00:00
2026-08-23 20:08:40 +00:00
2026-08-24 10:56:54 +00:00
2026-09-14 22:58:51 +00:00
2026-09-19 01:21:32 +00:00
2026-09-19 01:21:32 +00:00
2026-09-19 01:21:32 +00:00
2026-09-09 06:04:59 +00:00
2026-08-20 06:03:25 +00:00
2026-08-20 06:03:25 +00:00
2026-08-27 00:07:26 +00:00
2026-09-13 06:53:20 +00:00
2026-09-13 06:53:20 +00:00
2026-09-11 01:57:54 +00:00
2026-09-19 02:07:58 +00:00
2026-09-19 02:15:20 +00:00
2026-09-10 18:24:13 +00:00
2026-09-18 23:37:35 +00:00
2026-09-17 19:55:20 +00:00
2026-09-17 18:20:28 +00:00
2026-09-17 18:20:28 +00:00
2026-09-05 13:02:49 +00:00
2026-09-04 12:56:26 +00:00
2026-08-25 17:41:22 +00:00
2026-09-18 00:25:37 +00:00
2026-09-19 01:21:32 +00:00
2026-09-19 01:21:32 +00:00
2026-09-09 19:31:12 +00:00
2026-08-20 06:29:32 +00:00