Michael Zeng
18194bfd35
Restrict capability roots to captured turn environments ( #49280 )
...
## Why
Stale thread capability roots can reconnect executors that are not selected for the current turn and shadow selected roots with the same ID.
## What changed
Filter out roots whose environments are absent from the turn snapshot before deduplication and readiness resolution. Update app-server capability tests to explicitly select the executor environments used by each turn, including after resume.
## Testing
Add regression coverage for full-access and workspace-write permissions, verifying that stale roots never connect an unselected executor, selected roots with matching IDs remain available, and turns with no environments expose no roots.
GitOrigin-RevId: afe375047cc5e8aad06df83334149510460dcdcc
2026-09-29 15:10:17 +00:00
..
2026-09-22 16:07:38 +00:00
2026-09-29 13:49:49 +00:00
2026-09-29 00:49:23 +00:00
2026-09-29 15:10:17 +00:00
2026-09-26 23:17:41 +00:00
2026-09-26 18:59:50 +00:00
2026-09-29 14:46:33 +00:00
2026-09-22 06:36:09 +00:00
2026-09-27 19:14:24 +00:00
2026-09-23 18:25:07 +00:00
2026-09-18 00:25:37 +00:00
2026-09-21 22:58:49 +00:00
2026-09-23 00:47:34 +00:00
2026-09-25 00:20:02 +00:00
2026-09-07 16:55:06 +00:00
2026-09-24 00:50:02 +00:00
2026-09-29 14:46:33 +00:00
2026-09-29 13:58:09 +00:00
2026-09-29 03:32:19 +00:00
2026-08-28 19:44:50 +00:00
2026-09-25 16:57:42 +00:00
2026-09-25 16:28:36 +00:00
2026-09-25 15:42:35 +00:00
2026-09-25 20:34:52 +00:00
2026-09-29 01:14:41 +00:00
2026-09-25 00:20:02 +00:00
2026-09-24 01:50:36 +00:00
2026-09-14 19:12:59 +00:00
2026-09-29 14:46:33 +00:00
2026-09-05 01:25:06 +00:00
2026-09-29 14:46:33 +00:00
2026-08-31 21:27:51 +00:00
2026-09-15 18:23:08 +00:00
2026-09-18 22:40:37 +00:00
2026-09-29 15:10:17 +00:00
2026-09-26 23:17:41 +00:00
2026-09-23 22:20:34 +00:00
2026-09-29 13:08:37 +00:00
2026-09-05 12:17:32 +00:00
2026-09-26 23:17:41 +00:00
2026-09-29 04:38:37 +00:00
2026-09-25 18:06:57 +00:00
2026-09-29 12:56:14 +00:00
2026-09-17 04:23:45 +00:00
2026-09-29 13:52:04 +00:00
2026-09-24 17:04:24 +00:00
2026-09-19 01:21:32 +00:00
2026-09-29 04:38:37 +00:00
2026-09-28 17:40:25 +00:00
2026-09-27 20:15:23 +00:00
2026-09-29 04:38:37 +00:00
2026-09-24 14:50:27 +00:00
2026-09-11 21:59:24 +00:00
2026-09-24 18:08:31 +00:00
2026-09-29 11:51:21 +00:00
2026-09-29 04:38:37 +00:00
2026-09-28 14:46:32 +00:00
2026-09-28 06:30:53 +00:00
2026-09-29 04:38:37 +00:00
2026-09-29 01:01:34 +00:00
2026-09-29 02:33:55 +00:00
2026-09-25 19:14:31 +00:00
2026-09-26 23:17:41 +00:00
2026-09-28 00:05:54 +00:00
2026-09-01 17:17:45 +00:00
2026-09-23 22:20:34 +00:00
2026-09-29 01:14:41 +00:00
2026-09-29 01:14:41 +00:00
2026-09-11 03:16:01 +00:00
2026-09-29 01:14:41 +00:00
2026-09-29 14:46:33 +00:00
2026-09-29 04:38:37 +00:00
2026-08-28 01:14:02 +00:00
2026-09-26 23:08:50 +00:00
2026-09-24 18:08:31 +00:00
2026-09-28 15:58:17 +00:00
2026-09-09 04:00:10 +00:00
2026-09-27 03:26:57 +00:00
2026-09-28 23:44:39 +00:00
2026-09-16 09:03:41 +00:00
2026-09-02 18:34:27 +00:00
2026-09-29 13:58:09 +00:00
2026-09-28 13:43:55 +00:00
2026-09-24 20:39:37 +00:00
2026-09-29 13:08:37 +00:00
2026-09-27 19:14:24 +00:00
2026-09-08 00:13:28 +00:00
2026-09-29 04:38:37 +00:00
2026-09-28 00:43:04 +00:00
2026-09-23 04:25:28 +00:00
2026-09-22 23:37:39 +00:00
2026-09-29 13:09:03 +00:00
2026-09-28 19:56:33 +00:00
2026-09-23 00:47:07 +00:00
2026-09-13 18:53:06 +00:00
2026-09-08 21:19:02 +00:00
2026-09-29 14:46:33 +00:00
2026-09-29 13:52:04 +00:00
2026-09-11 06:45:09 +00:00