The meter reads the week only while a lease is held or was asked for less
than a staleness period ago. A held swarm brake stops the units, so a braked
or quiet swarm spends nothing; the brake path, the duplicate brake type, the
store read, the frozen store fixture and the chrono serde feature are gone.
A request is noted by the QuotaCell for as long as it lives (a 4 h lease
counts) and wakes the meter. A lease asked of a metered cell with no weekly
reading (every restart) waits up to 10 s for the meter's first read before it
is lent, so it is not lent unobserved for its whole life.
A call is a miss only if it left the reading unrefreshed: a rejected turn
that reports its windows and then errors is no miss, so a rejected reading is
kept fresh every period. The failure kind is logged on change.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
--no-session-persistence on the meter's call only: it keeps no handle and
resumes nothing, and every other call is resumed by its session.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A rate_limit_event also names per-model buckets such as
seven_day_overage_included; one of them reading rejected would have closed
every lease through provider_rejects. The old poll took only these two.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The usage endpoint answers 403 to a setup token (inference scope only), so the poll
could never work. The connector's own claude -p call already carries the week in its
rate_limit_event (captured 2026-11-03: seven_day utilization 0.06 and its reset).
The meter makes that call (haiku, no tools, trivial prompt) when the seven_day
reading is 15 minutes stale, only while the swarm brake store reads released, and
backs off per consecutive miss. Deleted usage_poll, the ureq dependency, and the
quota rule that only a polled reading needed (POLLED, rejection-stands).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>