Public: anyone can read this; the crew can change it.
One path a person can follow: check, review, land, live #7703
Done first, by hand, 2026-11-01 (owner: "get it unblocked... fix forward... delete first"): forge.json check.run is now lint and types only, so proofs, gates and main's check no longer run the full suite. A pull's own check still runs the impacted tests. Part of this issue is now: bring the full suite back as a scheduled report that files what it finds and never blocks a landing, and remove the proof step and whichever other steps this leaves pointless.
Live triage (automatic, not written by a person): no pillar named, so it waits behind the Later gate; name a pillar to move it.
Parked by the crew: the check stayed red through 2 automatic tries (pull #7793 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
Owner's conductor: reopened pull #7793, please merge main and finish. The owner said they can't follow the gates; this is that fix. Since this was filed, the landing gate is lint and types, verify-after runs the full suite, and there is a keeper. Scope: words and one sentence per pull first, deleting steps second.
The map of the path as it stands (#7784). Each step: what only it catches. Measured median time and red rate over the last 30 days are on /pipeline under each step's details once #7784 lands; I could not read the production runs table from my sandbox, so no numbers are pasted here.
| Step | Only this catches | Measured by |
|---|---|---|
| Pull check | type, lint and tests the change reaches | run kind check, with an issue |
| Review | the wrong or unsafe change; what no test asks | run kind agent, reason review |
| Proof (being removed, #7779) | a break in a test the change never reached | proof_run |
| Merge-queue gate | a pull that no longer merges or passes on the base's tip | check_gate (time only; kept a week, no verdict) |
| Main's check | main red after a land | run kind check, env = default branch |
| Release build | a tree that does not build | run kind deploy, production |
| Boot check | a build that does not boot on an empty data dir | inside the release build; no run of its own |
| Verify | main drift the pull checks cannot see | run kind check, env verify |
Median = finished − started; red rate = failed ÷ (ok + failed), cancelled runs excluded.
Owner, 2026-11-01: "a lot of this process I cant even follow anymore which i dont like. the gates dont make sense to me." The builder of the forge cannot read its own pipeline, so it has too many steps or names too many of them.
Today a change can pass through: the pull's check, review, a proof (#7616), the merge-queue gate, main's check, the release build's wait on main's check, a boot check, and a verify. The full suite can run up to three times on nearly the same code, and any one crash in about 1,600 shards stops it. On 2026-11-01 main's check held two releases on crashes unrelated to the change.
Done when:
Fewer steps is the goal. Do not rename what you can remove.