Short one this week. The theme was pushing Quonfig toward the kind of shape where you can actually rely on it.
What Moved This Week
ForceRank.it is running against production Quonfig. This isn't a dogfood demo — it's a live application serving real users, reading its config from production Quonfig. We wired up a Redis-backed fanout so a git push propagates to every delivery node in a few seconds, and watched a config edit roll out to the live app without a restart. There's a real difference between "we support this" and "we ship with it." We're in the second bucket now.
Load testing got serious. I don't want to find out at 8,000 concurrent SSE connections that something doesn't scale, so we built a dedicated load-gen service — a runner that holds thousands of virtual SDK clients, an HTTP pool that hammers the eval endpoints at target RPS, and a mutator that keeps writing changes while everyone is reading. Every piece emits OTLP metrics into Grafana Cloud, and there's a scripted 4k → 8k → 4k burst test that walks the fleet through a realistic traffic spike. The infra is deployed; the supervised 4k run is what I'm working up to next.
qfg migrate is a real command now. If you're coming from Launch, there is now an actual qfg migrate --from launch CLI with two flows — local datadir for Node/Go, or push-to-cloud for everything else — plus qfg migrate doctor for preflight checks, qfg migrate status for resume state, a MIGRATION_REPORT.md writeup, and deterministic identifier mapping. To stress test it, we ran a full migration of a 4,694-commit real workspace and used every bug it found to harden the migrator. Docs for both flows are up on the site.
The Ruby SDK started moving. sdk-ruby is bootstrapping in the monorepo — CI, test harness, and integration-test-data fixtures all wired in so the Ruby port can validate against the exact same YAML suites the other SDKs run against. The actual evaluator port is the next big push.
OpenFeature got more honest. The Go OpenFeature provider now returns proper reason values — STATIC, TARGETING_MATCH, SPLIT — so when you ask OpenFeature why it chose a variant, you get a real answer instead of a shrug. The same reason logic is threaded through Node and Python telemetry so evaluation analytics line up across SDKs.
Delete a flag by mistake? Click restore. The dashboard now has a one-click restore button for any deleted flag or config. Because everything is in git, the previous content is right there — we just read it from the parent commit and commit it back. It is the sort of thing that is supposed to be free when your backend is a git repo, and now it actually is.
That's the week. Core product bet unchanged: config in git, nice tooling on top. This week was about making it trustworthy at launch scale.
-- Jeff
Want to try it?
Quonfig stores your config in git. Feature flags, dynamic config, log levels, and secrets — all as files you own.