FA-74033 / Feature flag rollout bucketing / Member archive
Flag value cache freshness: Staleness masks an active kill switch · case 03
A killed flag is reported as stale, hiding the operator action in diagnostics.
Case contract
Process events in order. ["fetch", t, payload] replaces the whole cache with payload, records t and clears kill switches; ["kill", t, flag] forces that flag to its default; ["get", t, flag, default] returns [default, killed] for killed flags, else [default, stale] if nothing was fetched or t - last fetch >= 30 seconds, else [default, missing] if the flag is not cached, else [value, cache]. Return the list of get results.
Why this case matters
Client SDKs serve cached flags offline; kill switches and staleness decide whether a bad flag keeps serving.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| event stream sample 12 | [[false, "stale"], [false, "stale"], ["dflt", "stale"], [true, "cache"], [true, "cache"]] | [[false, "stale"], [false, "stale"], ["dflt", "killed"], [true, "cache"], [true, "cache"]] | 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 ↗