Skip to content

Add plugin install suggestion outcome analytics#31432

Open
adaley-openai wants to merge 2 commits into
mainfrom
dev/adaley/plugin-suggestion-outcome-event
Open

Add plugin install suggestion outcome analytics#31432
adaley-openai wants to merge 2 commits into
mainfrom
dev/adaley/plugin-suggestion-outcome-event

Conversation

@adaley-openai

@adaley-openai adaley-openai commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add the codex_plugin_install_suggestion_outcome analytics contract and client/reducer plumbing.
  • Represent offered candidates as tools[] with per-tool selection and completion; derive aggregate completion when any tool completed.
  • Remove the redundant codex.plugins.install_suggestion counter while retaining the structured log and trace event.

Stack

Validation

  • just test -p codex-analytics reducer_ingests_plugin_install_suggestion_outcome_facts (1 passed)

@adaley-openai adaley-openai marked this pull request as ready for review July 7, 2026 21:33
@adaley-openai adaley-openai requested a review from a team as a code owner July 7, 2026 21:33
@adaley-openai adaley-openai force-pushed the dev/adaley/plugin-suggestion-outcome-event branch from 1e0aae6 to 0d107ea Compare July 7, 2026 22:04
@adaley-openai adaley-openai changed the title Track plugin install suggestion outcomes Add plugin install suggestion outcome analytics Jul 7, 2026
@adaley-openai adaley-openai requested review from mzeng-openai and removed request for a team July 7, 2026 22:08
pub(crate) remote_plugin_id: Option<String>,
pub(crate) connector_ids: Vec<String>,
pub(crate) selected: bool,
pub(crate) completed: bool,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could we land the matching server schema before adding tools[].completed here? the current server request model has no nested completed, so Pydantic will drop this field and partial outcomes will still collapse to the top-level bit.

completed: bool,
) {
let completed_tag = if completed { "true" } else { "false" };
self.counter(

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could we keep this counter until the stacked emitter lands? at this head the new analytics method has no caller, so removing the existing outcome metric creates a coverage gap if this slice ships before #31484.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants