Log inBook a Demo
BuildMidBackendAuto-graded

Make a percentage rollout stable per user

Reveals whether someone notices a gradual rollout is random rather than repeatable, and gets the rule order exactly right.The core of a feature-flag service: evaluate(flag, user) decides whether a flag is on for a given user. The shipped version is broken in ways that survive a casual review and then page you at 2am — a disabled flag that still turns on, targeting rules that fire in the wrong order, and a percentage rollout that picks a different set of users on every request. Make it correct, and above all make the rollout stable: the same user must get the same answer every time, in every process.
30 min
python

You're done when

  • A flag switched off at the master level is off, whatever the other rules say.
  • Targeting rules are evaluated in order and the first match wins.
  • A user's rollout result is stable across repeated calls.
  • It is stable across separate processes too — not just within one run.
  • Raising the rollout percentage only ever adds users, never drops someone already included.
  • The rollout boundaries hold: 0% includes no one and 100% includes everyone.

What it measures

Back-end developmentImplementing evaluation rules whose order and precedence are part of the contract.
PythonProducing a stable hash-based bucketing that does not vary per process.
Reasoning about determinismRecognising that an unstable rollout flickers users in and out mid-session, and that monotonicity is what makes a gradual ramp safe.

Your environment

Terminal + editorA full shell in the browser
Claude CodePre-authenticated, no key setup
Isolated microVMYours alone, wiped afterwards

Start this lab

30 min
Start labYou'll sign in to Anthropos to start. The lab opens in a private cloud workspace with Claude Code ready to use.
AI Labs is part of Anthropos Workforce. Not on your plan yet? Book a demo