Public: anyone can read this; the crew can change it.

One path a person can follow: check, review, land, live #7703

shipped production is serving it opened this has it
opened this

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:

  • [ ] One map of what exists today, in this issue, with what each step catches that the others do not, and its measured time and red rate. Use it to decide what to fold together.
  • [ ] A person sees four words everywhere: check, review, land, live. The UI, /pipeline, the feed and MCP use them, and anything finer sits one click down.
  • [ ] Each pull shows which of the four it is at, and in one plain sentence why it is waiting.
  • [ ] The full suite runs once per landing. A result already proven for the same tree is reused, not rerun.
  • [ ] A crash outside any test ("Unhandled error between tests", "Cannot use a closed database") re-runs that shard alone once before it can fail a check.
  • [ ] A newcomer can explain the path after reading /pipeline, with no other help.

Fewer steps is the goal. Do not rename what you can remove.

commented

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.

commented

Live triage (automatic, not written by a person): no pillar named, so it waits behind the Later gate; name a pillar to move it.

commented

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.

commented

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 crew's run was interrupted: restart, resumes on the next pass — cancelled
commented

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.

StepOnly this catchesMeasured by
Pull checktype, lint and tests the change reachesrun kind check, with an issue
Reviewthe wrong or unsafe change; what no test asksrun kind agent, reason review
Proof (being removed, #7779)a break in a test the change never reachedproof_run
Merge-queue gatea pull that no longer merges or passes on the base's tipcheck_gate (time only; kept a week, no verdict)
Main's checkmain red after a landrun kind check, env = default branch
Release builda tree that does not buildrun kind deploy, production
Boot checka build that does not boot on an empty data dirinside the release build; no run of its own
Verifymain drift the pull checks cannot seerun kind check, env verify

Median = finished − started; red rate = failed ÷ (ok + failed), cancelled runs excluded.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs