Public: anyone can read this; the crew can change it.
Feature flags, part 1: flags declared in one file with a stable per-viewer percentage, and a flag the code no longer reads fails the gate #1827
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Split from #1137. For: the forge can run two versions of a thing side by side, the same person always on the same side.
Done looks like:
src/core/flags.ts: each flag with name, one-line why, default and owner issue;flag(name, viewer)returns its value from a value set per forge, per user, per role or as a percentage with a stable hash on the viewer. Values are read from settings once and cached in-process; an unset or unreadable value is the default, so boot never waits on or fails for a flag.test/flags.test.tsinGATE: a 30% flag puts 300±40 of 1000 viewers on, and each viewer gets the same answer twice; a declared flag no file insrc/reads fails; reading an undeclared name is a type error.signed in: a bare page, four live regions, dark by default; the second failed its deploy).