Skip to content

test: add historical index persistence compatibility coverage - #138

Merged
gouyt13 merged 1 commit into
mainfrom
test/historical-persistence-compatibility
Oct 9, 2026
Merged

gouyt13 merged 1 commit into
mainfrom
test/historical-persistence-compatibility

Conversation

@gouyt13

@gouyt13 gouyt13 commented Oct 9, 2026

Copy link
Copy Markdown
Member

Summary

Add regression coverage to ensure current readers can load and search indexes produced by v0.5.2. Freeze 12 index/reference pairs covering IVF quantized/raw storage, HNSW, and SymphonyQG raw/4-bit/8-bit storage under L2 and inner product, with the historical 128-dimensional padding for 65-dimensional inputs and persisted removal markers where supported.

C++ and Python tests check reference query results, resave/load migration, and malformed-file handling. Record the historical writer commit, generator, platform, and SHA-256 manifest so fixtures remain independent of the current writer. Document the coverage and regeneration procedure.

Only tests, test configuration, fixtures, and documentation change. Public APIs, production save/load implementations, persisted formats, and dependencies remain unchanged. Coverage does not imply that old readers can load new formats; historical IVF HNSW routing at 20,000 clusters is outside these small fixtures.

Testing

Validated the exact file contents committed in cd0cca6 on Linux x86-64 with GCC 14.3, Python 3.13, and RABITQ_ENABLE_NATIVE_OPTIMIZATION=OFF:

  • Historical C++ tests: 12 passed.
  • Full C++ suite: 332 passed, 1 conditional skip; the independent OpenMPBinding test passed.
  • Historical Python tests: 20 passed.
  • Full Python suite using the rebuilt extension and rebuilt C++ examples: 988 passed, 2 platform-specific repaired-wheel checks skipped.
  • All 24 frozen fixture/reference hashes match the manifest.
  • Full core/binding and historical-test clang-tidy, C++ formatting, Python formatting/lint, strict MkDocs build, and git diff --check: passed.

Windows, macOS, and native ARM64 were not executed locally and remain for CI validation.

@gouyt13
gouyt13 merged commit f321a60 into main Oct 9, 2026
37 checks passed
@gouyt13
gouyt13 deleted the test/historical-persistence-compatibility branch October 9, 2026 07:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant