The auto-mode permission classifier now has a hard overall deadline, so slow checks can't drag on.
What's wrong with this entry?
The two classifier stages now receive a single budget object with an overall deadline, a per-attempt timeout and, for the first stage, a ceiling computed from the retry count. Retries are bounded by that ceiling rather than only by the per-attempt value, so a slow classifier cannot stretch a decision indefinitely.
- Fields carried:
deadlineMs,scope,attemptTimeoutMs, plusceilingMson stage one. - Stage two now has its own attempt timeout separate from the overall deadline.
attemptTimeoutMs
Strings lifted out of the shipped bundle, so the claim above can be checked against them.