Files
hq/04-ISSUES/221-a-build-machine-learns-a-new-builder-only-from-a-push/00-report.md
T

1.3 KiB

status, opened, located-in, fixed-by, amended-design
status opened located-in fixed-by amended-design
open 2026-10-04

221 — A build machine learns a new builder only from a push

What was observed

2026-10-04. A controller merge changed how TypeScript bundles are built: one file per entrypoint instead of a package directory. Its plan finished, and six bundles were rebuilt right after. They came out in the old shape, because the build machines still ran the previous builder. They got the new one only from the next push. Rebuilt after that push, the same six came out right.

The same order showed in the bus grants the same night. A push sent while the controller was still the previous build composed grants with the previous code. A second push was needed after the new controller had started.

Why it matters beyond this instance

A merge to the controller is not in effect when its plan says done. Anything built or pushed in the gap uses the old code and looks current. Today only the operator knows to push first and build second, and even the operator forgot.

Where to look

Whether a controller plan should end by delivering itself to the build machines and the control machine, or whether a build should refuse a builder older than the controller that asked for it. How it is checked: after a controller merge, a build asked right after its plan finishes runs the new builder.