What is qq
qq is quirq's build and release infrastructure, and qq is its command
line. You write code the way you always do, by hand or with an agent. qq
builds and tests it the same way on your laptop and on GitHub, decides
whether it may land, keeps main green, and moves tested commits out to
a release channel.
Three minutes, with sound and captions: the 13 repos, what happens to a
pull request, how main stays green and what ships, and where version zero
stops. Made on 5 October 2026: its on-screen counts and what it says about
the canary and the alpha are as they stood that day. The lines about
getting started, the gardener and reverts were re-recorded on 14 October
to match qq today. On a phone, play it full screen to read the captions.
What qq does for you
- The same tools on every machine. Each repo pins its toolchains (Python,
or Node with pnpm) by the hash of their exact bytes, and
qq syncfetches exactly those bytes, so you and your teammates build with the same tools. - One file per repo. A repo describes itself in
infra/repo.toml: its targets and the toolchains they need. A product repo's CI workflows are generated for it from config, so nobody hand-writes them. - A gate that cannot be talked around. A change lands only through the merge queue, after its required checks pass on the exact merge result. The rules live in one config repo, so they are the same for people and for agents.
- Main stays green, and good commits ship. After a change lands, qq
watches
main, records the newest all-green commit, and once a day builds, starts and probes it before moving the canary channel to it.
Pick your path
I want to try qq
Install it in three commands, then build and run a real app.
I work on a repo that uses qq
Build, test, run, add your own commands, and land a change.
I want to put my repo on qq
Write its infra/repo.toml, test it, then put it behind the gate.
I want to understand the infra
The 13 repos behind qq, what each does, and how they connect.
How it works
One pull request, step by step: you sync, build and test, open the pull
request, the gate decides, you land, main stays green, pins move forward,
and the change ships to the canary. Recorded from a copy of the interactive
infra map
in quirq-ai/research, with depot renamed to qq (its name since 2026-10-09).
The map's content is as of 5 October 2026. Its last step mentions test
installs that follow channels; those are not set up
yet.
This is the whole journey. Each step links to the guide for it.
- Get the tools. Install
qqandqqsynconce. - Build and test locally.
qq testbuilds every target with the repo's pinned toolchains and tests it (your first build). - Send it for review.
qq trypushes your branch, opens the pull request and returns at once. The presubmit check runs on GitHub (send a change). - Land it.
qq landreturns at once; a watcher waits for the gate to pass, then the pull request goes to the merge queue, which tests it on top of the latestmain. - After it lands. A post-submit build runs on the new
maincommit. qq reports whethermainis green, moves lkgr (last known good) forward, and ships lkgr to the daily canary (after it lands).
Today: qq is an alpha (version 0.1.0). Its pinned toolchains exist
for Linux x86_64 only. xo-space and innernet go all the way to the canary;
website is behind the gate but not in the canary. xo joined qq on
2026-10-21: its CI runs qq's generated presubmit and postsubmit, but it is
not behind the gate or in the canary yet, and qq build and qq test
cannot run it locally yet.
Product CI still runs simpler stand-in commands, so a local result can
differ from CI. What is built
and what is next: the roadmap.