← The Machine
The measurement · shipos-gate.yml

ShipOS gate

Is tested-and-green work waiting past budget anywhere in the estate.

.github/workflows/shipos-gate.yml

What it does

The workflow runs Gate A across the estate: it asks whether any tested-and-green change has waited more than 48 hours without being parked, and reports the ranked list of what is waiting and why it matters.

It runs on a schedule because staleness is a function of time, not of pushes — the founding failure was a branch nobody touched, which no push-triggered workflow would ever have looked at.

It refuses to declare a partial universe clear: if part of the estate was unreadable, the gate goes red rather than green, exactly as it did during an Actions billing outage. A gate that can see only one repository would fail its own unreadable-universe rule, so it needs a token covering the repositories it judges.

When it runs
Every six hours, and on demand. On a schedule because staleness is a function of time, not of pushes — a branch nobody touches is exactly what a push trigger never sees.
What it emits
A pass or a fail with the reason in the log: a change waiting past budget, named and ranked, or a universe the gate could not fully read and therefore would not clear.

What a stranger can verify

That green means the whole estate was seen and nothing is stuck, not that the part it could reach looked fine. A red run names the change and the budget it blew, or names the unreadable universe it refused to pass — the gate never averages the gap away.

Questions

What does the ShipOS gate check?
Whether any tested-and-green change has waited past a 48-hour budget across the estate without being parked, and it reports a ranked list of what is waiting and why it matters, every six hours.
Why does the ShipOS gate run on a schedule?
Because staleness is a function of time, not of pushes. The founding failure was a branch nobody touched, which no push-triggered workflow would ever have looked at — so it polls on a clock instead.
What does the gate do when part of the estate is unreadable?
It goes red. It refuses to declare a partial universe clear, exactly as it did during an Actions billing outage — a gate that quietly passes on the part it could see is a gate that hides the part it could not.

Keep reading

Read the workflow — it hides nothing ↗How the estate stays honest — all of it
Also in the measurement
RegistrySurfacesEstate graphAdoption signalHygieneScoreboardFlashyOS branch mesh sync