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
The one-time install beacon now retries reliably (it was trapped in the first-run block). The beacon (a disclosed, opt-out-independent "an install exists" marker: random id + version + date) was sent only by the /consort:start first-run disclosure step, which runs only while acknowledged is false and never re-runs after acknowledgment. So a first beacon POST that missed (e.g. an Azure cold start over the client's 5s timeout) never retried, beacon_sent stayed false, and the install — even as it ran many drives — was never counted (telemetry.installs read 6 vs 10 real installs). beginTelemetryRun now fires the beacon best-effort on EVERY run (before the consent gate, so it still fires when a user opted out of run telemetry — the beacon is disclosed and opt-out-independent), gated on acknowledged (never before disclosure) and idempotent via beacon_sent, so a missed first POST retries until it lands. Complements the ingest-side fix that derives installs from run traces (deployed to consort-telemetry-ingest-v2). Regression-guarded (install-beacon.test.ts).