FA-74069 / Feature flag rollout bucketing / Member archive
Mutually exclusive layer allocation: Range ends are inclusive · case 04
The user at a shared boundary is claimed by the earlier experiment, so adjacent ranges overlap.
Case contract
bucket = int(md5(layer_salt + ":" + user) hex, 16) % 1000. experiments is an ordered list of {name, start, end, paused?} with start/end in percent (one decimal) converted to permille by round(x * 10); ranges are half-open [start, end). The first listed range containing the bucket decides: a paused experiment reserves its range (user gets None). Return [bucket, name or None].
Why this case matters
Layers keep concurrent experiments from overlapping on the same users.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| bucket at range end belongs to next range | [988, "x"] | [988, "y"] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗