Skip to content

feat(flags): launch the insights-visual experiment at 50/50 - #723

Merged
dash0-dev[bot] merged 2 commits into
mainfrom
feat/launch-insights-visual-experiment
Oct 22, 2026
Merged

dash0-dev[bot] merged 2 commits into
mainfrom
feat/launch-insights-visual-experiment

Conversation

@dash0-dev

@dash0-dev dash0-dev Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Why

The visual Insights page (#714) and its measurement (#716) are live, but the experiment was declared with enabled: false, so every user still gets the original page. This starts the 50/50 split.

What changed

  • insights-visual: experiment.enabled: true — each signed-in user gets on or off by a hash of their user id (same arm on every device); a developer override still wins. Weights stay 50/50 with on listed first, so a later ramp only adds users to on.
  • Regenerated flags.manifest.json; updated the flag description and docs/feature-flags.md ("runs", not "not running").
  • New registry-derived test in client.spec.ts: every running experiment reports SPLIT and stays within ±5 points of its weights over 2,000 users.
  • New fixture test in provider.spec.ts: a disabled experiment (enabled: false) sends every user back to the default variant with reason STATIC — the rollback path, pinned independently of the live registry now that no registry flag is dark.

How to verify

  • cd packages/feature-flags && npx vitest run and node --experimental-transform-types scripts/codegen/gen-feature-flags.mjs --check

Notes for reviewers

Both arms render the Insights h1 the e2e specs assert, so a test user in either arm passes. User-facing docs and llms.txt are unchanged on purpose: the pages that mention Insights describe the cost line and the delivered × chosen grid, which both arms show. To stop the experiment, set enabled back to false.

Switch insights-visual's experiment on: each signed-in user is assigned
the visual or the original Insights page by a hash of their user id, and
a developer override still wins. Regenerates the flag manifest, updates
the flag description and docs, and adds a registry-derived test that every
running experiment reports SPLIT and stays near its declared weights.

Co-authored-by: dash0-dev[bot] <257284812+dash0-dev[bot]@users.noreply.github.com>
@dash0-dev

dash0-dev Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor Author

✅ No issues found

Zero-delta re-check at e7471ad: the edited PR body now lists the provider.spec.ts rollback test, clearing the only open gate. No open threads, CI green, code unchanged since the last review.

Progress: open review threads 1 → 0 → 0 across the last 3 reviews

Review details
Gate Details
Description vs. code ✅ Body now lists all five changes, including the provider.spec.ts disabled-experiment (rollback) test; matches the diff.
Prior review feedback ✅ Earlier review comments are resolved.
Documentation ✅ Body covers why, what, how to verify and how to stop; flag description and docs updated.
Self-review signals ✅ No debug logs, leftover TODOs, or unreviewed stubs.
Code review ✅ The multi-lens review found no blocking issues.
Run Details
Mode incremental · 0 lines in delta · tier standard · depth checkout
Reach 1 changed file imported by 5 files, not traced
packages/feature-flags/src/registry.ts — imported by 5 files
Found produced 0 → posted inline 0 · cleared 0 · carried forward 0 · deferred 0 · below-bar 0
Integrations none
Memories skipped (zero-delta fast path)

Nothing to report — standards (skipped), measurability (skipped), severity, 0 files skipped.

pr-reviewer · commit e7471ad · no code changes since e7471ad, gate checks only · how these findings are produced · updated Oct 22, 2026 6:01am UTC

Comment thread packages/feature-flags/src/client.spec.ts
…der fixture test

Addresses dash0-dev's comment: #723 (comment)

Refs: #723
Co-authored-by: dash0-dev[bot] <257284812+dash0-dev[bot]@users.noreply.github.com>
@dash0-dev
dash0-dev Bot marked this pull request as ready for review October 22, 2026 06:02
@dash0-dev
dash0-dev Bot requested a review from mthines as a code owner October 22, 2026 06:02
@dash0-dev
dash0-dev Bot merged commit 5889c4a into main Oct 22, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant