fix(index): make IVF-PQ test training deterministic - #8767
fix(index): make IVF-PQ test training deterministic#8767lance-gatefixer[bot] wants to merge 8 commits into
Conversation
|
Blocked: The current-head Typo checker fails on an unchanged typo inherited from main. Remote head cbe9bad contains current base dafa464, and the failing “Spell Check with Typos” Check reports python/src/object_store.rs:154 ( |
|
Blocked: The current-head Spell Check with Typos check fails on an unchanged typo inherited from main. Remote head a1b17be contains current base dafa464. The live check reports python/src/object_store.rs:154 ( |
|
Blocked: The current head is blocked by an inherited typo-check failure and Gatekeeper’s explicit manual-review requirement. Remote head a1b17be contains current base dafa464. “Spell Check with Typos” reports python/src/object_store.rs:154 ( |
|
Does this also cover the python torch one-pass IVF_PQ path? |
|
No code change: this PR does not cover the Python Torch one-pass sampler. The |
There was a problem hiding this comment.
✅ Gate recommendation: approve.
The remaining nondeterministic fixture path is closed: IVF training now scans the complete lightweight fixture before seeded k-means, and repeated end-to-end builds verify stable IVF and PQ models. This preserves OS entropy by default while making the affected seeded fixtures reproducible end to end.
|
Blocked: The current-head Python Linux 3.13 x86_64 check fails on the unrelated tracked Torch sampler flake. Remote head cd3699c contains current base 87378db. The completed check reports that only |
|
This lands the mechanism, but one fixture family with the same root cause is not covered by it: On 2026-08-27 it was the most frequent Rust failure on
Same shape as #8764. The input is already deterministic, Two things would be needed on top of this PR:
Worth confirming that the seeded draw actually clears 0.5 for this test before relying on it, the same way the validation section here does for the lightweight family. |
|
Addressed in d692d5a: seeded both IVF and PQ training in |
Summary
Root cause
The vector fixtures seeded their input data, but k-means still initialized centroids from OS entropy. Different centroid choices could move the small recall samples below the 0.5 assertion threshold.
Validation
Fixes #8764