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 sync fetches 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

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.

  1. Get the tools. Install qq and qqsync once.
  2. Build and test locally. qq test builds every target with the repo's pinned toolchains and tests it (your first build).
  3. Send it for review. qq try pushes your branch, opens the pull request and returns at once. The presubmit check runs on GitHub (send a change).
  4. Land it. qq land returns 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 latest main.
  5. After it lands. A post-submit build runs on the new main commit. qq reports whether main is 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.

Common questions