feat(seats): a pass's share of the windows by the run's effort, the weekly cutoff at 99 %

The 5-hour share of a running pass was a flat 0.25 points; it follows the
run's effort now, as the weekly share already did: 0.5 at max and any other
effort, 0.125 at xhigh - the pooled means of 5438 Opus 5.5 passes on 141
seat-runs (2026-10-12..15), rounded up. The weekly cutoff moves from 95 %
to 99 %: the weekly window is the budget the lenses run out of, and with
the running passes projected against the cutoff the last percent is spent
a pass at a time, not in a burst. REVIEW_GATES_LENS_COST_PCT and
REVIEW_GATES_LENS_COST_7D_PCT still override every effort.
This commit is contained in:
Jorijn van der Graaf 2026-10-31 21:13:55 +01:00
commit ea4d362a10
Signed by: jorijnvdgraaf
GPG key ID: 2937E59CDCC1BCFB
8 changed files with 44 additions and 31 deletions

View file

@ -28,8 +28,12 @@ export namespace Crafter::Review::Seats {
// Fixed rules, not knobs: utilisation is rounded to RankQuantum before
// ranking, and a seat whose 7-day window is at or above LongWindowCutoff is
// out regardless — its reset is days away. The Fable window is exempt here.
// 99 since 2026-10-15 (95 before): the weekly window is the budget the
// lenses run out of, and the pool projects its running passes against the
// cutoff (SeatPool::LensCost7dPct), so the last percent is spent a pass at
// a time, not in a burst.
constexpr std::int32_t RankQuantum = 5;
constexpr std::int32_t LongWindowCutoff = 95;
constexpr std::int32_t LongWindowCutoff = 99;
// JavaScript's Math.round: halves go up, never to even.
double JsRound(double x);