fix(telemetry): source frontend app version from build config - #2535
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
The connector usage-limit notice is informational, not a review finding. This PR is being checked through the independent coordinator review path; no code action is requested from this notice. |
Fresh-context review (SC-9 gate — Codex credits exhausted). This is the first review posted on this PR.Verdict: SHIP. No CRITICAL or HIGH. One MEDIUM and two LOWs, all tracked rather than blocking. Reviewed with a release-integrity / supply-chain lens because this is T2 control-plane ( The core question for a version-stamping change is whether the version can come out wrong or empty in a shipped artifact. It cannot, on any lane that ships one:
Telemetry surface is unchanged: no new field, no new recipient, only the value of an existing version stamp. MEDIUM — two independent copies of the version-normalization logic, with nothing asserting they agree
Byte-identical today, so nothing is broken at this head. But the desktop archive now carries a frontend stamped from one derivation and a backend stamped from the other, and nothing compares them — Cheap close, worth a follow-up rather than expanding this PR: have LOW —
|
|
Fresh-context re-review against the moved base (coordinator, 2026-09-06; SC-10 delegated, q-1 = A; read-only Opus 5 reviewer over the diff of the updated head against current VERDICT: SHIP. |
Summary
0.1.0literal with a Vite build-timeVITE_APP_VERSIONvalue0.0.0-devdefaults for local and rehearsal buildsCloses #2182
Verification
npm run test -- src/tests/store/telemetryStore.spec.ts src/tests/api/telemetryApi.spec.ts— 25 passednpm run typecheck— passednpm run build— passedVITE_APP_VERSION=9.9.9-testproduction bundle check — passednode --test scripts/ci/release-cache-contract.test.mjs— 28 passedgit diff --check— passedThe complete release-desktop contract file remains 70 passed / 6 failed on both this worktree and the unchanged primary checkout. The six failures are the existing Windows/WSL validator injection cases; the redirect case created only a disposable test artifact, which was removed. Hosted workflow lint/CI remains the final proof for the workflow edits.