viyatb-oai
328feb0c29
Track executor registrations across connection refresh and recovery ( #46555 )
...
## Why
An executor can renew its registration while retaining its Noise identity. Connection refresh must distinguish registrations even when their keys match, and a stale registry lookup must not retire a session that recovery has already renewed.
## What changed
- Track the installed session's registration and expose it through `Environment::cached_executor_registration_id()` without connecting. Publish registration changes only when the new connection is installed.
- Require both registration and executor key to match before refresh reuses a session. Retry stale lookups and prevent recovery from installing a connection after retirement.
- Pin session recovery to the original Noise key while allowing registration renewal to preserve the session and running processes.
- Expose `CodexThread::active_turn_environment_selections()` so hosts can authorize steering against the active turn's selections, including starting and failed environments, independently of later settings updates.
## Testing
Add regression coverage for registration replacement, renewal with a running process, stale refresh lookups, missing sessions, and rejection of changed Noise keys. Extend active-turn tests to check selection snapshots across settings updates, deferred startup, and turn completion.
GitOrigin-RevId: 4395bc6c57f137691887e6585f52dcc5b958101c
2026-09-19 01:27:02 +00:00
..
2026-09-18 23:16:56 +00:00
2026-09-17 01:51:14 +00:00
2026-09-02 22:45:19 +00:00
2026-09-11 22:55:38 +00:00
2026-09-19 01:21:32 +00:00
2026-09-10 19:41:14 +00:00
2026-09-11 01:57:54 +00:00
2026-09-16 04:59:23 +00:00
2026-09-16 21:50:07 +00:00
2026-09-17 18:20:28 +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-19 00:18:56 +00:00
2026-09-15 18:23:08 +00:00
2026-08-29 03:44:01 +00:00
2026-08-25 21:34:05 +00:00
2026-09-18 22:29:16 +00:00
2026-09-18 22:29:16 +00:00
2026-09-03 16:21:10 +00:00
2026-08-13 00:00:16 +00:00
2026-09-17 02:18:05 +00:00
2026-09-14 15:06:28 +00:00
2026-08-25 23:42:50 +00:00
2026-09-14 21:33:45 +00:00
2026-09-19 00:46:06 +00:00
2026-09-12 18:41:47 +00:00
2026-09-17 01:38:13 +00:00
2026-09-11 21:32:04 +00:00
2026-09-19 00:18:56 +00:00
2026-09-15 21:19:08 +00:00
2026-09-16 18:54:45 +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-09-13 06:53:20 +00:00
2026-09-19 01:21:32 +00:00
2026-09-19 01:21:32 +00:00
2026-09-01 00:42:19 +00:00
2026-09-09 03:17:48 +00:00
2026-09-11 20:27:37 +00:00
2026-09-18 22:42:46 +00:00
2026-09-05 01:04:12 +00:00
2026-09-15 21:19:08 +00:00
2026-09-17 16:06:11 +00:00
2026-09-17 19:55:20 +00:00
2026-09-17 01:38:13 +00:00
2026-09-15 21:19:08 +00:00
2026-09-11 17:01:17 +00:00
2026-09-18 23:28:13 +00:00
2026-09-17 19:55:20 +00:00
2026-09-10 09:50:59 +00:00
2026-09-16 22:25:29 +00:00
2026-09-19 01:21:32 +00:00
2026-09-17 10:02:38 +00:00
2026-09-19 01:03:55 +00:00
2026-09-19 01:21:32 +00:00
2026-08-30 14:04:06 +00:00
2026-09-13 15:47:59 +00:00
2026-09-17 17:17:10 +00:00
2026-09-08 20:37:30 +00:00
2026-08-25 01:27:18 +00:00
2026-09-15 21:19:08 +00:00
2026-09-01 15:04:11 +00:00
2026-06-15 21:53:47 -07:00
2026-09-15 14:45:35 +00:00
2026-09-17 01:18:37 +00:00
2026-09-17 01:18:37 +00:00
2026-09-14 16:30:00 +00:00
2026-09-16 20:32:52 +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-19 01:21:32 +00:00
2026-09-17 01:18:37 +00:00
2026-09-16 20:32:52 +00:00
2026-09-19 01:21:32 +00:00
2026-09-15 22:52:56 +00:00
2026-09-07 17:26:10 +00:00
2026-09-18 23:28:13 +00:00
2026-05-18 21:03:51 -07:00
2026-09-17 19:12:42 +00:00
2026-08-13 00:00:16 +00:00
2026-09-19 00:18:56 +00:00
2026-09-15 23:39:40 +00:00
2026-09-18 23:26:12 +00:00
2026-09-19 00:18:56 +00:00
2026-08-20 17:46:05 +00:00
2026-08-29 03:28:19 +00:00
2026-09-18 23:47:19 +00:00
2026-09-18 23:16:56 +00:00
2026-08-27 00:02:26 +00:00
2026-09-19 00:00:01 +00:00
2026-09-19 01:21:32 +00:00
2026-08-25 23:42:50 +00:00
2026-09-01 14:43:27 +00:00
2026-06-08 13:55:15 -07:00
2026-09-14 19:39:31 +00:00
2026-09-11 22:55:38 +00:00
2026-09-16 21:01:13 +00:00
2026-09-15 23:39:40 +00:00
2026-09-19 00:14:07 +00:00
2026-09-11 16:41:56 +00:00
2026-09-16 21:01:13 +00:00
2026-07-22 20:23:35 +00:00
2026-09-15 04:20:38 +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-19 00:19:20 +00:00
2026-09-09 18:50:32 +00:00
2026-09-19 01:27:02 +00:00
2026-09-19 00:18:56 +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-15 23:00:48 +00:00
2026-09-18 23:16:56 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-09-15 21:19:08 +00:00
2026-09-10 03:18:28 +00:00
2026-09-10 18:24:13 +00:00
2026-09-17 19:55:20 +00:00
2026-09-15 04:20:38 +00:00
2026-09-17 14:47:42 +00:00
2026-09-19 01:21:32 +00:00
2026-09-11 21:32:04 +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-17 21:25:55 +00:00
2026-09-16 22:25:54 +00:00
2026-09-18 23:16:56 +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-19 01:21:32 +00:00
2026-08-20 17:46:05 +00:00
2026-09-17 01:28:24 +00:00
2026-09-19 01:03:32 +00:00
2026-09-19 00:18:56 +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-18 23:16:56 +00:00
2026-09-18 22:29:16 +00:00
2026-09-18 22:29:16 +00:00
2026-09-17 01:51:14 +00:00
2026-08-28 09:48:13 +00:00
2026-09-11 22:55:38 +00:00
2026-09-02 22:45:19 +00:00
2026-08-30 07:40:36 +00:00
2026-09-19 00:46:06 +00:00
2026-08-20 17:46:05 +00:00
2026-09-13 06:53:20 +00:00
2026-08-30 14:04:06 +00:00
2026-09-16 00:54:58 +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-19 01:21:32 +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-19 00:18:56 +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-19 01:21:32 +00:00
2026-09-19 01:21:32 +00:00
2026-08-20 06:29:32 +00:00