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:
parent
51bdd6298a
commit
ea4d362a10
8 changed files with 44 additions and 31 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in a new issue