mirror of
https://github.com/chroma-core/chroma.git
synced 2026-10-28 08:54:55 +08:00
## Description of changes _Summarize the changes made by this PR._ Adds the design/implementation plan for supporting multiple sparse vector indices per collection. This is the root of the PR stack and contains no product code. - New functionality - Adds `plans/multiple_sparse_indices_*.plan.md` describing the end-to-end approach: lift the single-sparse-index cap, make segment storage and the compacted read/query path key-aware (one independent sparse index per metadata key), fuse scores across sparse indices, and update the Python/TS clients — all with backward-compatible reading and lazy migration of existing single-index collections. - Documents the incrementally reviewable PR stack: engine (#7305) → enable (#7306) → fusion (#7307) → clients (#7337). ## Test plan _How are these changes tested?_ - [ ] Tests pass locally with `pytest` for python, `yarn test` for js, `cargo test` for rust - Planning document only — no code and no tests in this PR. Tests land in the downstream implementation PRs. ## Migration plan _Are there any migrations, or any forwards/backwards compatibility changes needed in order to make sure this change deploys reliably?_ None — planning document only. The plan itself describes the lazy, backward-compatible migration that the downstream PRs implement. ## Observability plan _What is the plan to instrument and monitor this change?_ N/A — no runtime change. ## Documentation Changes _Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the [docs section](https://github.com/chroma-core/chroma/tree/main/docs/docs.trychroma.com)?_ None — internal planning doc under `plans/`. User-facing documentation changes land in the implementation PRs.