pinstatus names a rollback target nobody validated
The measurement
| pin | lib/rtl root units it cannot compile (of 54) |
|---|---|
| HEAD | 0 |
| v404 (current) | 2 |
| v375 … v403 | 14 |
| v365 | 54 |
v354 — the target pinstatus names |
54 |
Following the advice it prints moves you from 2 broken roots to 54.
Why the tool is not lying, which is the reason it went unnoticed
pin_is_green() asks whether a pin was green when it was taken. That is a
true statement about the past, correctly computed, and recorded at pin time
exactly as the pin grading rules require.
It is printed where a reader needs a different fact: would this pin work NOW. The instrument answered, honestly, about a different question — and the answer wears the shape of an answer to the one that was asked.
A green pin from 2026-08-19 is green about the tree of 2026-08-19. Every builtin minted since is a cliff it cannot cross.
The fix, which is small and does not wait on the design call
pinstatus has the canary's logic available. Either:
- Run it — compile the
lib/rtlroots against the candidate and report the real number beside the name, or - Mark the line UNVALIDATED — say that the grade is historical and has not been checked against the current tree.
Either is acceptable and (1) is better. What is not acceptable is the status quo, because:
A tool naming a target nobody validated is worse than a tool naming none. A named target gets acted on; an absent one prompts a question.
This is the same family as a guard probing a path nothing uses — it passes every job forever on a healthy box and nothing about it looks wrong.
Explicitly NOT in scope
This is not the design question and must not wait on it.
decide-pair-the-pin-with-the-lib-rtl-it-is-coherent-with asks whether a pin
should travel with the lib/rtl it is coherent with. That fork is the owner's
and it is real work. This is a one-line honesty fix to a printed line, and
splitting them is deliberate so the cheap half can land tonight.
And neither is a reason to gate a pin. A valid pin is the self-host fixedpoint; nothing else may block one. If anything, zero rollback depth argues for pinning sooner — the current pin is the best rollback target that exists.