You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit fe6ac08
Browse filesBrowse the repository at this point in the historyBrowse files
fix(onboarding): address bot review findings on #1049
`cubic` (18) and `kilo-code-bot` (1). Four of these are regressions from the
consensus-review fixes in `8e369a8`.
Correctness:
- `app.tsx`: completing setup from the prompt gate before sync hydration settled
made the first-run effect see `onboardingReady()` and return, skipping the
funnel and the scan gate entirely. `setupComplete()` discriminates that case
from a genuine returning user.
- `telemetry/index.ts`: a caller arriving after a shutdown settled but before the
chained `doInit()` finished started a second one, replacing the flush timer.
The chained promise is now published as `initPromise` too.
- `telemetry/index.ts`: `doShutdown()` cleared `cachedLaunchId`, so a long-lived
`serve` process minted a new `launch_id` per prompt. Replaced with a
`resetLaunchIdForTest()` seam.
- `plugin/onboarding-telemetry.ts`: `activation_job_selected` is claimed in
`tool.execute.before`, so a job that throws still records the selection the
docs promise.
- `session/prompt.ts`: an attachment-only message counted as `first_prompt_sent`.
- `app.tsx` / `altimate-onboarding.tsx`: `Escape` and click-away closes recorded
no `scan_gate_choice` / `big_pickle_choice` — only the inline `esc` control did.
- `dialog-model.tsx`: `via_search` was dropped when returning from Big Pickle.
- `context/onboarding-telemetry.tsx`: `try`/`catch` cannot catch an async
tracker's rejection.
Bounds and privacy:
- `cmd/tui.ts`: the exit budget covered only the flush, not the credential read
or `shutdown()`'s await of initialization.
- `telemetry/index.ts`: `shutdown()` awaited an in-flight flush unbounded (10s).
- `worker.ts` / `cmd/tui.ts`: the two halves of the exit budget now share
`Telemetry.TUI_SHUTDOWN_BUDGET_MS`.
- `sample-setup.ts`: the `sample_source_missing` output embedded absolute paths.
Tests: activation-event tests drive both tool hooks rather than `.after` alone,
plus coverage for a tool that throws. The launch-correlation test redirects
`HOME` so real `init()` no longer writes `~/.altimate/machine-id`.
Declined: the stale `commandSubmission` flag after a failed slash command. There
is no `command.execute.after` hook to clear it from, it suppresses at most one
event in a session where the command already failed, and dropping the guard
would mis-record the scan gate's synthetic `/onboard-connect` as a typed prompt
in every fresh onboarding.
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018SLUQF3xgZHsGZHSjxe7vb
Copy file name to clipboardExpand all lines: docs/docs/reference/telemetry.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,7 +61,7 @@ We collect the following categories of events:
61
61
|`activation_menu_shown`| The activation menu was (very likely) rendered. `variant` is `warehouse` or `no_data`. **Derived** — see the note below. |
62
62
|`activation_job_selected` / `first_job_completed`| Which activation job the user started and, where observable, finished. Completion is reported only for the job that was actually selected, so the two form a coherent pair. **Derived** — see the note below. |
63
63
|`first_prompt_sent`| The user's first typed message in an onboarding session. Slash commands are excluded, so the hidden `/onboard-connect` submission does not count. |
64
-
|`onboarding_abandoned`| The CLI exited during a first run without connecting. `last_stage` is the furthest point reached: `started`, `model_picker`, `provider_setup`, `big_pickle_confirm`, `gateway_auth`, or `connected`. Only emitted for a genuine first run — opening `/connect` as an existing user does not enter the funnel, and abandonment after setup completes is out of scope by definition. |
64
+
|`onboarding_abandoned`| The CLI exited during a first run without connecting. `last_stage` is the furthest point reached: `started`, `model_picker`, `provider_setup`, `big_pickle_confirm`, or `gateway_auth`. (`connected` is a funnel position but never a `last_stage` — reaching it means the run completed, which is not an abandonment.) Only emitted for a genuine first run — opening `/connect` as an existing user does not enter the funnel, and abandonment after setup completes is out of scope by definition. |
0 commit comments