Add bounded CLI and Hub usage telemetry for 0.8.1 - #188
Merged
Conversation
theDakshJaitly
marked this pull request as ready for review
September 9, 2026 17:00
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.
What
Replace attempt-only CLI telemetry with namespaced starts/completions and explicit Hub page, action and job outcomes. CLI and Hub share the approved random installation UUID. Optional context includes the existing random scaffold UUID and a fixed list of configured AI tools; strict catalogs exclude content, paths, queries, project names/remotes, member/artifact IDs and contact details.
Project context is read once per ordinary CLI invocation or Hub lifecycle, without creating identity. Setup/init reread at completion for newly saved configuration. Graph maintenance/status honors its exact local/parent root selection, and Hub capture binds its exact project root. Shared scaffolds are a team-use estimate, and configured tools describe setup rather than the actual invoking agent.
Delivery uses a bounded local outbox and cancellable HTTP/DNS without the PostHog SDK. Opt-out survives concurrent preference writes, and inspection remains read-only.
mex feedbacknow opens the Hub's existing form; the Home card uses “Help shape MEX.”Why
Measure feature adoption, outcomes and returning installations without turning agent command volume or idle Hub polling into engagement. Keep usage analytics separate from voluntary contact collection, and bound the effect of offline telemetry on command latency.
This draft targets
codex/0.8.1, based on graph-performance merged64f171. It does not target or merge main.Type of change
How to test
9cbfab8packed-install smoke covered fresh setup, the production Hub, official skills and temporary real Git repositories; package layout/dependencies are unchanged by this follow-up.9cbfab8: full root regression 222 files, 3,500 passed, one skipped; all CI passed, including Node22/24, macOS/Windows and the pinned release-performance gate.a37277b(run 34378404972): Node 22/24, Windows/macOS portability and packed installs, Hub browser, and the release-performance gate.9cbfab8build with the final metadata build. Metadata lookup p95 is 0.210–0.659 ms; capture-call p95 is at most 2.466 ms, and the longest observed flush is 29.130 ms. Exact existing UUID/tools, private-field rejection, canonical bytes, outputs/exit codes, queued outcomes and socket cleanup all pass. Whole-process differences were noisy (successful healthy command: paired median +7.895 ms, p95 +86.162 ms; disabled failure control p95 +89.533 ms), so these results do not establish zero overhead or a speedup.9cbfab8frontend verification: 434 Hub web tests and two Playwright checks passed. No frontend changes in the follow-up. Expanded standalone benchmark harness: 7 tests pass.9cbfab8, before project context): 16 baseline/candidate × success/failure × transport groups, with five warmups and 20 samples each, plus pristine initialization and capture/flush probes. Healthy loopback delivery adds 3–8 ms paired median; hanging delivery adds 23–27 ms. The old hanging-success path was approximately 645 ms slower. Processes exit naturally with expected output/status and no retained sockets.See the validation record, initial measurements, and project-context measurements. Loopback timings exclude internet/TLS latency and are local characterization, not portable performance budgets. Delivery remains best effort; short-only usage may defer queued events.
Checklist
Code-graph changes
No graph implementation, schema, identity or protocol changes. The real checkout's graph database is unchanged.
mainLanguageExtractororFrameworkResolverinterfacecore / discuss-firstissue is linked above