Roadmap and status
What works today, v0's exit test row by row, and what v1 and v2 add.
qq is built in three versions. v0 gives all 13 infra repos a thin, working version on GitHub. v1 makes the daily canary run unattended and opens the dev channel. v2 moves execution to Launchpad, quirq's own cloud, and adds stable and real installs from a channel.
As of 2026-10-13: v0's code is largely built, but its exit test has not passed. v1 and v2 are plans; nothing in them is built.
What works today
| You can | State |
|---|---|
| Install qq and build, test and run xo-space and innernet | works, on Linux x86_64 toolchains |
| Give a repo its own commands | works |
Onboard a new repo with qqsync init | works |
| Land a product change through the gate and merge queue | works; one approval needed |
See whether main is green | works for xo-space and innernet |
| Get lkgr and the canary for xo-space and innernet | works, with a daily backstop for skipped runs |
Resolve what the canary names with qqinstall | works |
| Automatic reverts | not yet: waits on the gardener App |
| Installs that follow a channel | not yet: every install follows main |
v0: the exit test
All five must hold together:
- All 13 repos exist and are public, each with CODEOWNERS, a generated presubmit and a merge queue. Today: partly; the infra repos' presubmits are hand-written.
- xo-space and innernet are gated from their
infra/repo.toml, and a deliberately red pull request is refused in each. Today: partly; CI runs stand-in commands, not the recipes, and no refusal is recorded yet. - A daily canary runs 7 days in a row with no human touch; a planted bad canary is held; a rollback drill takes under 10 minutes. Today: not yet.
- A planted breaking commit is reverted automatically. Today: not started; it needs the gardener App.
- The scorecard is computed by a script, not typed. Today: built.
After v0
| Version | Delivers |
|---|---|
| v1 | an unattended canary with soak time, automatic rollback and a circuit breaker (bar: 14 green canaries in a row with no human touch); the dev channel, promoted weekly with human approval; fuzzing; PostHog as a health signal, never the gate; flake handling; hermetic builds aiming at 90% cache hits |
| v2 | Launchpad and remote execution (bar: gate p50 under 10 minutes and p90 under 20 for 4 weeks); perf bisection of a planted 10% regression; agents on every rotation; stable every two weeks, each promotion approved by suraj; installs that follow a channel |
Decided, and still open
suraj settled the compute ceiling, the canary hour (06:17 UTC) and the revert cap on 2026-10-06; they are not written into config yet. Still open: who uses the canary beyond quirq's test environments, PostHog's plan and scope, and whether an agent may roll stable back alone on a health breach.
Go deeper
- Every v0 work item: infra-config
docs/v0.md. - The full plan: infra-config
docs/plan.md. - Today's canary: release-state reports.