[codex-analytics] emit forked thread id on initialization (#26248)

## Why
- Thread initialization analytics do not identify the source thread for
forked threads.
- The session viewer needs this lineage to construct thread trees.
- Depends on openai/openai#987854. Do not release this change before
that backend schema change is deployed.

## What Changed
- Adds optional `forked_from_thread_id` to `codex_thread_initialized`.
- Populates it from the existing thread fork lineage for app-server and
in-process subagent initialization paths.
- Keeps it null for non-forked threads.

## Verification
- `just fmt`
- `just test -p codex-analytics`
- `just test -p codex-app-server
thread_fork_tracks_thread_initialized_analytics`
This commit is contained in:
kbazzi authored and GitHub committed 2026-06-04 11:24:12 -07:00
1 parent c8fdc74b42
commit 9e41f8ddbe
10 files changed
+119 -1

No files matched your search

@@ -701,6 +701,7 @@ mod thread_processor_behavior_tests {
},
},
session_source: SessionSource::Cli,
forked_from_thread_id: None,
parent_thread_id: None,
thread_source: None,
};