A Rate Limit Is a Scheduling Fact, Not a Verdict
You ask for a specific reviewer and get nothing back — a quota refusal, a crash, a spinner that never resolves. The dangerous move is to record that as a review round, because now the log says the artifact was read and it was not. The other dangerous move is to stop the pipeline, because unavailability is a property of the moment rather than of the work.
For the five weeks it lived, the answer was a ring: an ordered rotation of reviewers, entered at whichever one was requested, walked around exactly once. It has since been retired — the note at the end of this lesson carries the ruling — and what follows here is the measurement half, which survives intact. Every hop is logged with the reason the previous one was skipped. If the ring closes without a reviewer, that is the point where a human decides — and the decision is usually to use a reviewer somebody had informally excluded, which is why the ring has to be written down rather than assembled in the moment. Written down does not mean everyone: a member that misbehaves when named — one that runs alone instead of joining the rotation — is excluded on purpose, and the exclusion is part of the record.
Measuring Availability Without Fooling Yourself
This is where it gets subtle, because every obvious signal lies in a different direction.
Byte count lies. One failure produced over seven thousand characters on the wire and displayed as a handful of spinner frames — control codes and carriage returns, not an answer. Strip the escape sequences and measure the rendered text.
Exit code lies too. Another produced eight thousand characters, exited non-zero, and carried a quota message in its tail. Long, and dead. So a crash whose output matches a limit pattern counts as unavailable at any length.
A short clean exit is not an answer. Exiting zero having said almost nothing means the tool ran and produced no review.
A long clean answer is never second-guessed, whatever words it contains. This one is load-bearing in the other direction: a genuine, substantial review of rate-limit handling code would trip any naive keyword scan, and killing it would be the worst possible false positive.
The Shape That Stays Undetected on Purpose
There is a failure this cannot catch: a reviewer that returns just over the displayed-length floor in plain narration, exits zero, and never uses limit vocabulary. It is not a crash, not a quota message, and not short enough for the length test to convict. Every mechanical detector anyone has proposed for it re-creates the false positive above.
So it is left to the session's own judgment, deliberately and with that written down. The reason to name an undetectable case in a contract is that the alternative is a team believing the detector covers it.