marksteinbrick-oai and GitHub
b39f943a63
[codex-analytics] emit internally started turn events ( #27392 )
...
## Why
Currently, the analytics reducer omits `codex_turn_event` for internally
started subagent turns
- It uses `TurnState.connection_id` to select app-server client and
runtime metadata
- `turn/start` sets this field for client-started turns, while internal
subagent turns bypass that path
- Spawned child threads inherit the correct connection, but turn
emission does not use thread state
## What Changed
- Keeps explicit `TurnState.connection_id` authoritative for
client-started turns
- Falls back to the matching thread’s inherited connection when the turn
connection is absent
- Preserves completeness gates, event schema, and post-emission state
removal
- Extends subagent lifecycle test coverage
## Verification
- `just test -p codex-analytics` (71 tests passed)
- `just fix -p codex-analytics`
- `just fmt`
2026-06-10 15:35:41 -07:00
..
2026-06-08 11:39:08 +02:00
2026-06-09 12:48:04 -07:00
2026-05-26 20:59:47 -07:00
2026-05-07 15:44:17 -07:00
2026-06-10 15:35:41 -07:00
2026-05-07 15:44:17 -07:00
2026-06-10 21:32:29 +00:00
2026-06-10 15:53:15 -04:00
2026-05-25 09:41:12 -07:00
2026-06-10 11:22:12 -07:00
2026-05-28 14:54:39 -07:00
2026-06-05 22:54:57 -07:00
2026-06-01 18:45:07 +00:00
2026-06-03 19:08:19 -07:00
2026-05-07 15:44:17 -07:00
2026-05-08 04:07:59 +00:00
2026-06-05 14:43:44 +00:00
2026-05-05 22:22:01 -07:00
2026-06-09 22:44:16 +02:00
2026-06-10 13:11:09 -07:00
2026-06-02 16:41:48 -07:00
2026-05-07 15:44:17 -07:00
2026-05-07 15:44:17 -07:00
2026-05-07 15:44:17 -07:00
2026-06-04 09:39:20 -07:00
2026-06-10 21:32:29 +00:00
2026-06-01 21:25:42 -07:00
2026-05-26 20:59:47 -07:00
2026-05-07 15:44:17 -07:00
2026-06-10 08:33:21 -07:00
2026-05-07 15:44:17 -07:00
2026-06-10 12:54:21 +02:00
2026-05-28 22:08:05 -07:00
2026-06-03 13:32:55 +02:00
2026-06-10 21:32:29 +00:00
2026-06-09 00:38:35 +00:00
2026-06-10 13:11:09 -07:00
2026-06-09 19:51:54 +02:00
2026-06-05 15:41:13 -07:00
2026-06-09 12:27:10 -07:00
2026-06-09 15:10:17 -07:00
2026-06-07 17:35:33 -07:00
2026-06-07 17:35:33 -07:00
2026-06-10 16:11:20 -04:00
2026-06-04 14:16:03 -04:00
2026-06-08 14:16:32 -04:00
2026-06-10 14:25:04 -04:00
2026-05-26 15:59:25 -07:00
2026-05-07 15:44:17 -07:00
2026-06-01 11:53:31 -07:00
2026-05-28 23:09:55 -07:00
2026-06-08 21:32:46 -07:00
2026-06-02 13:18:59 -07:00
2026-06-03 19:08:19 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 09:34:36 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 17:36:18 -07:00
2026-06-09 12:14:48 +02:00
2026-06-10 08:47:16 -07:00
2026-06-04 09:53:08 -04:00
2026-06-09 23:49:09 +00:00
2026-06-05 17:36:18 -07:00
2026-06-05 17:36:18 -07:00
2026-06-09 13:08:01 -07:00
2026-06-04 09:53:08 -04:00
2026-06-10 21:36:38 +00:00
2026-05-21 16:11:59 -07:00
2026-05-25 17:26:10 -03:00
2026-06-03 13:32:55 +02:00
2026-06-10 15:27:34 -07:00
2026-05-07 15:44:17 -07:00
2026-05-07 15:44:17 -07:00
2026-06-09 15:49:48 -07:00
2026-06-10 11:24:29 -07:00
2026-06-09 12:14:48 +02:00
2026-06-08 14:03:37 -07:00
2026-05-26 20:59:47 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 09:38:26 -07:00
2026-05-07 15:44:17 -07:00
2026-05-28 15:11:11 +00:00
2026-06-10 11:24:29 -07:00
2026-05-07 15:44:17 -07:00
2026-05-13 21:23:19 +00:00
2026-05-07 15:44:17 -07:00
2026-06-10 12:54:21 +02:00
2026-06-10 11:22:12 -07:00
2026-06-10 12:01:03 -07:00
2026-06-10 15:53:15 -04:00
2026-05-07 15:44:17 -07:00
2026-06-10 15:27:34 -07:00
2026-05-18 21:33:05 -07:00
2026-05-06 18:10:30 +00:00
2026-06-04 16:52:10 -07:00
2026-06-10 10:26:53 -07:00
2026-06-09 22:44:16 +02:00
2026-06-08 11:39:08 +02:00
2026-06-04 09:16:03 -07:00
2026-05-26 20:59:47 -07:00