Skip to content

Map CLI agents directly to stable telemetry strings - #16252

Merged
acarl005 merged 4 commits into
masterfrom
factory/cli-agent-telemetry-strings
Oct 2, 2026
Merged

acarl005 merged 4 commits into
masterfrom
factory/cli-agent-telemetry-strings

Conversation

@warp-agent-staging

@warp-agent-staging warp-agent-staging Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Description

Replace CLIAgentType with an exhaustive CLIAgent::telemetry_name() mapping so Rust variant names can change without changing analytics values.

Keep CLIAgent and Option<CLIAgent> throughout all telemetry events and emitters. Convert to static strings only in outbound payloads and field serializers, including notifications and code review. Preserve all 19 values, including Cursor, optional/null fields, and the nested notification key c_l_i_agent. Leave CLIAgent serde and session-sharing serialization unchanged. Notification telemetry is outbound-only and implements Serialize, not Deserialize.

Linked Issue

Approved request; no tracked issue or spec for this scoped refactor.

  • The linked issue is labeled ready-to-spec or ready-to-implement. Not applicable; implementation was approved directly.
  • Where appropriate, screenshots or a short video of the implementation are included below (especially for user-visible or UI changes). Not applicable; telemetry-only change.

Testing

  • cargo check -p warp --tests --locked — passed; existing test targets compile.
  • cargo clippy -p warp --all-targets --tests --locked -- -D warnings — passed.
  • ./script/format and git diff --check — passed.

No new tests: this representation-only refactor preserves emitted behavior. No tests were executed in this validation pass. Checks ran on Linux; cross-platform/workspace CI remains unverified.

  • I have manually tested my changes locally with ./script/run. Not applicable; no rendered behavior changed.

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

CHANGELOG-NONE

Remove the duplicate CLIAgentType enum and use an exhaustive explicit CLIAgent telemetry_name mapping. Preserve every analytics value, optional field, notification JSON wrapper, and session-sharing representation.

Co-Authored-By: Warp Agent <agent@warp.dev>
@cla-bot cla-bot Bot added the cla-signed label Oct 2, 2026
@warp-agent-staging

Copy link
Copy Markdown
Contributor Author

This PR was generated with Warp.

Comment @warp-staging-factory on this PR to send it follow-up work.

View run View conversation View on Slack

@acarl005
acarl005 marked this pull request as ready for review October 2, 2026 05:03
@warp-agent-staging
warp-agent-staging Bot marked this pull request as draft October 2, 2026 05:04
Keep the production mapping and existing tests unchanged; this behavior-preserving representation refactor does not add tests at the requester's direction.

Co-Authored-By: Warp Agent <agent@warp.dev>
@warp-agent-staging
warp-agent-staging Bot requested a review from acarl005 October 2, 2026 05:08
@warp-agent-staging
warp-agent-staging Bot marked this pull request as ready for review October 2, 2026 05:08
@warp-agent-staging
warp-agent-staging Bot requested a review from acarl005 October 2, 2026 05:30
@acarl005 acarl005 self-assigned this Oct 2, 2026
@acarl005
acarl005 enabled auto-merge (squash) October 2, 2026 05:55
@acarl005
acarl005 merged commit 3f37d69 into master Oct 2, 2026
47 of 49 checks passed
@acarl005
acarl005 deleted the factory/cli-agent-telemetry-strings branch October 2, 2026 06:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant