Make the shadow verdict say what it is
Why this is a wording bug and not a reader problem
pin_shadow() is advisory by construction and says so in its own docstring.
would_pin has no readers — one assignment, one comment. pin_is_green is
used once, to name a rollback target, and the owner has since ruled that this
fleet does not roll back.
Three sessions read would_pin: false as a refusal, independently and
carefully, and the fleet went 49 hours without a pin. CLAUDE.md's own conclusion
on the incident: "a verdict nobody may act on gets read as authority anyway, so
the fix is the wording, not the reader."
What it must say
State the fact and the non-implication together. Something in the shape of:
advisory — 12 reds this pin does not have; pinning is NOT blocked
The test for any replacement: a session reading only that line, with no
CLAUDE.md in context, must not be able to construe it as authority. A boolean
called would_pin cannot pass that test whatever its docstring says — the name
carries a verdict — so renaming the field is in scope, not just re-rendering
it.
What must NOT change
pin_shadow() must keep never touching pinned, make pin, or
stable_linux_amd64/**. This ticket makes an advisory line legible; it does not
give it teeth.
Context, decided the same day
The owner ruled that pins happen on a regular cadence green or not, and that
the only thing that gates one is the self-host fixedpoint row. A fleet pinning
on a cadence with reds will read would_pin: false more often, not less —
which is what moves this from a tidy-up to the highest-value item on that
ticket.