Problem
Three versions of the window/freshness rule exist:
- design doc (
optimizer-mip-formulation.md FRESHt/FRESHs): W ≤ min T / S ≤ min T (bounds only)
candidate_gen.rs: S | gcd(W, t_repeat_gcd)
- engine
window_compatible: W % S == 0 and range % W == 0, no T check
Change
A config is window-compatible with an item (AQE lookback L, repeat interval T) iff:
L % W == 0
T % S == 0
W % S == 0
(tumbling: S = W). These are exactly sketch-bench#129's is_eligible window rules. Apply per item in candidate generation and eligibility; update the design doc to replace the FRESH bounds.
Part of #753.
🤖 Generated with Claude Code
Problem
Three versions of the window/freshness rule exist:
optimizer-mip-formulation.mdFRESHt/FRESHs):W ≤ min T/S ≤ min T(bounds only)candidate_gen.rs:S | gcd(W, t_repeat_gcd)window_compatible:W % S == 0andrange % W == 0, no T checkChange
A config is window-compatible with an item (AQE lookback L, repeat interval T) iff:
L % W == 0T % S == 0W % S == 0(tumbling: S = W). These are exactly sketch-bench#129's
is_eligiblewindow rules. Apply per item in candidate generation and eligibility; update the design doc to replace the FRESH bounds.Part of #753.
🤖 Generated with Claude Code