feat(cli): add os, osVersion, arch to telemetry properties#9761
Open
lambertjosh wants to merge 1 commit intomainfrom
Open
feat(cli): add os, osVersion, arch to telemetry properties#9761lambertjosh wants to merge 1 commit intomainfrom
lambertjosh wants to merge 1 commit intomainfrom
Conversation
Adds explicit OS fields (process.platform, os.release(), process.arch)
to every PostHog event and OTel span via the shared TelemetryProperties
initializer. Previously the 'platform' property double-served as both
client identity ('cli'/'vscode'/'jetbrains') and host OS (via
process.platform fallback). With #9759 collapsing 'platform' to pure
client identity, this restores OS as a first-class dimension for
triage and adoption breakdowns.
Uses non-prefixed field names ('os', 'osVersion', 'arch') to avoid
clashing with PostHog browser SDK's auto-captured '$os'/'$os_version'
properties, which use a different value space ('Mac OS X' vs 'darwin').
Contributor
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (3 files)
Reviewed by gpt-5.5-2026-04-23 · 125,762 tokens |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds explicit
os,osVersion, andarchfields to the shared telemetry props in@kilocode/kilo-telemetry. They're populated once atTelemetry.init()fromprocess.platform,os.release(), andprocess.arch, and flow into every PostHog event and OTel span via the existingtrack()spread.Context: paired with #9759. Today the
platformproperty accidentally double-serves as both client identity (cli/vscode/jetbrains) and host OS (viaprocess.platformfallback whenKILO_PLATFORMis unset). #9759 collapsesplatformto pure client identity; this PR restores OS as a first-class dimension so triage queries, Windows-vs-macOS breakdowns, etc. keep working.Field naming uses non-prefixed
os/osVersion/archinstead of PostHog's$os/$os_versionconventions. The browser SDK auto-captures$oswith a different value space ("Mac OS X","Windows","Linux") while Node'sprocess.platformreturns"darwin"/"win32"/"linux"— mixing them under one name would muddy existing browser-event queries in dbt (stg_posthog__person_identity.sql). Downstream cancoalesce(properties:"$os", properties:"os")if it ever needs a unified view.No embedder changes required: VS Code, JetBrains, cloud code-review, and app-builder all spawn
kilo serveso they inherit these values automatically from the CLI process.