sayan-oai
b43de77679
Scope environment readiness config to thread attachments ( #38067 )
...
## Why
Threads that share an executor environment can require different capability roots and login-shell policies. Treating readiness configuration as executor-wide can expose one thread's settings to another.
## What changed
- Add `CodexThread::environment_ready` and `EnvironmentConfig` so hosts can install capability roots and login-shell policy for an exact thread, environment, and working-directory attachment.
- Validate attachment readiness updates, merge ready attachment roots with persisted thread roots, and refresh MCP capabilities when those roots change.
- Preserve installed environment policy across thread settings updates and child-thread inheritance while resetting it when the selected working directory changes.
## Testing
- Cover attachment config inheritance and reset behavior.
- Verify that threads sharing an executor retain independent model-visible capability roots and login-shell tool schemas across updates.
GitOrigin-RevId: 60e7a296b3e41b835b0413aa2837451e8a55c230
2026-08-11 19:58:10 +00:00
..
2026-07-29 13:53:15 +00:00
2026-06-09 12:48:04 -07:00
2026-07-23 19:19:35 +00:00
2026-07-21 22:44:43 +00:00
2026-08-11 19:52:54 +00:00
2026-07-29 13:53:15 +00:00
2026-08-11 19:30:12 +00:00
2026-08-04 15:23:43 +00:00
2026-07-21 08:50:21 +00:00
2026-08-11 19:30:12 +00:00
2026-07-30 19:47:30 +00:00
2026-08-10 03:28:19 +00:00
2026-07-29 18:29:26 +00:00
2026-08-10 18:44:58 +00:00
2026-08-10 01:39:55 +00:00
2026-06-11 18:16:39 -07:00
2026-07-30 21:49:53 +00:00
2026-08-11 03:39:02 +00:00
2026-06-13 21:43:39 -07:00
2026-08-11 19:16:15 +00:00
2026-08-11 19:41:23 +00:00
2026-08-11 01:05:48 +00:00
2026-08-05 18:09:26 +00:00
2026-07-21 08:28:51 +00:00
2026-06-11 18:16:39 -07:00
2026-08-11 17:31:11 +00:00
2026-08-11 17:31:11 +00:00
2026-08-11 17:31:11 +00:00
2026-08-05 16:09:01 +00:00
2026-08-11 19:35:05 +00:00
2026-07-30 21:49:53 +00:00
2026-08-07 18:33:46 +00:00
2026-06-15 20:10:53 -07:00
2026-08-11 16:31:30 +00:00
2026-08-04 22:58:02 +00:00
2026-08-11 13:52:48 +00:00
2026-08-07 00:23:38 +00:00
2026-08-03 11:39:51 +00:00
2026-08-11 19:58:10 +00:00
2026-08-11 19:58:10 +00:00
2026-08-11 19:26:41 +00:00
2026-08-07 11:30:17 +00:00
2026-06-05 15:41:13 -07:00
2026-08-11 19:16:15 +00:00
2026-08-11 17:47:22 +00:00
2026-08-09 03:05:10 +00:00
2026-07-20 06:13:29 +00:00
2026-08-11 19:52:54 +00:00
2026-08-11 19:30:12 +00:00
2026-08-11 19:16:15 +00:00
2026-08-07 19:56:29 +00:00
2026-07-31 21:37:56 +00:00
2026-07-23 23:35:29 +00:00
2026-05-28 23:09:55 -07:00
2026-08-10 15:50:53 +00:00
2026-08-11 19:30:12 +00:00
2026-08-10 11:22:55 +00:00
2026-08-07 18:33:46 +00:00
2026-08-10 22:12:14 +00:00
2026-06-12 19:52:49 +00:00
2026-08-11 15:52:59 +00:00
2026-07-22 04:17:34 +00:00
2026-08-11 19:04:07 +00:00
2026-08-06 03:11:42 +00:00
2026-08-11 19:30:12 +00:00
2026-07-17 20:52:42 +00:00
2026-08-05 14:20:59 +00:00
2026-08-04 22:07:56 +00:00
2026-08-05 20:03:13 +00:00
2026-08-11 18:21:34 +00:00
2026-07-30 04:26:36 +00:00
2026-08-11 19:26:41 +00:00
2026-08-10 14:25:13 +00:00
2026-05-25 17:26:10 -03:00
2026-07-22 19:14:11 +00:00
2026-08-11 15:40:52 +00:00
2026-08-07 18:33:46 +00:00
2026-08-11 18:35:03 +00:00
2026-08-11 19:30:12 +00:00
2026-08-06 03:11:42 +00:00
2026-08-11 17:47:22 +00:00
2026-05-26 20:59:47 -07:00
2026-08-10 15:43:10 +00:00
2026-08-08 16:58:26 +00:00
2026-08-08 16:58:26 +00:00
2026-08-10 06:47:21 +00:00
2026-08-11 19:30:12 +00:00
2026-08-04 03:49:53 +00:00
2026-08-11 19:16:15 +00:00
2026-08-11 19:30:12 +00:00
2026-08-05 20:03:13 +00:00
2026-08-11 19:16:15 +00:00
2026-08-10 14:25:13 +00:00
2026-07-22 16:18:08 +00:00
2026-06-13 21:43:39 -07:00
2026-07-24 00:16:42 +00:00
2026-08-11 19:48:38 +00:00
2026-08-08 17:18:02 +00:00
2026-07-09 17:31:44 -07:00
2026-08-11 19:52:54 +00:00
2026-08-11 03:39:02 +00:00
2026-07-28 20:49:22 +00:00
2026-07-11 03:27:51 +00:00
2026-07-29 13:53:15 +00:00
2026-07-30 04:26:36 +00:00
2026-06-04 09:16:03 -07:00
2026-05-26 20:59:47 -07:00