From 7e71d02610272829e96a50253948fdbfc679db0f Mon Sep 17 00:00:00 2001 From: edwardysun3 Date: Tue, 5 May 2026 00:11:06 -0400 Subject: [PATCH] Add turn_id to Codex skill invocation analytics (#21122) --- codex-rs/analytics/src/analytics_client_tests.rs | 1 + codex-rs/analytics/src/events.rs | 1 + codex-rs/analytics/src/reducer.rs | 1 + 3 files changed, 3 insertions(+) diff --git a/codex-rs/analytics/src/analytics_client_tests.rs b/codex-rs/analytics/src/analytics_client_tests.rs index 80b8e667f..9e0ff9764 100644 --- a/codex-rs/analytics/src/analytics_client_tests.rs +++ b/codex-rs/analytics/src/analytics_client_tests.rs @@ -1837,6 +1837,7 @@ async fn reducer_ingests_skill_invoked_fact() { "plugin_id": null, "repo_url": null, "thread_id": "thread-1", + "turn_id": "turn-1", "invoke_type": "explicit", "model_slug": "gpt-5" } diff --git a/codex-rs/analytics/src/events.rs b/codex-rs/analytics/src/events.rs index 09c55e784..5b606d411 100644 --- a/codex-rs/analytics/src/events.rs +++ b/codex-rs/analytics/src/events.rs @@ -83,6 +83,7 @@ pub(crate) struct SkillInvocationEventParams { pub(crate) plugin_id: Option, pub(crate) repo_url: Option, pub(crate) thread_id: Option, + pub(crate) turn_id: Option, pub(crate) invoke_type: Option, pub(crate) model_slug: Option, } diff --git a/codex-rs/analytics/src/reducer.rs b/codex-rs/analytics/src/reducer.rs index 49245c218..3554e570d 100644 --- a/codex-rs/analytics/src/reducer.rs +++ b/codex-rs/analytics/src/reducer.rs @@ -496,6 +496,7 @@ impl AnalyticsReducer { skill_name: invocation.skill_name.clone(), event_params: SkillInvocationEventParams { thread_id: Some(tracking.thread_id.clone()), + turn_id: Some(tracking.turn_id.clone()), invoke_type: Some(invocation.invocation_type), model_slug: Some(tracking.model_slug.clone()), product_client_id: Some(originator().value),