mirror of
https://github.com/supabase/supabase.git
synced 2026-10-09 03:15:06 +03:00
## Linked Issue Closes #6362 ## Description The failure fallback in four reranker providers (Cohere, HuggingFace, SentenceTransformer, ZeroEntropy) was writing `rerank_score = 0.0` directly onto the input dicts, while every success path copies before attaching the score (LLMReranker even copies on its per-document failure path). Since `Memory.search()` hands its live result list to `rerank()` (`mem0/memory/main.py:1458`, async twin near line 3096), one transient provider failure permanently stamped the caller's memory dicts from a call that looked successful. This copies each dict in the fallback loop before setting the sentinel, matching the success-path contract. Fallback behavior is otherwise untouched: original order, 0.0 sentinel, config `top_k` slice. The new test file is parametrized over all four providers and proves the regression both ways: all 12 cases fail on main and pass with the fix. Providers are constructed via `object.__new__` with stubbed attributes so the tests run without the optional heavy deps (cohere, transformers, sentence-transformers, zeroentropy) installed. ## Type of Change - [x] Bug fix (non-breaking change that fixes an issue) - [ ] New feature (non-breaking change that adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactor (no functional changes) - [ ] Documentation update ## Breaking Changes N/A ## Test Coverage - [x] I added/updated unit tests - [ ] I added/updated integration tests - [x] I tested manually (describe below) - [ ] No tests needed (explain why) Ran `make lint` (clean) and `make test-py-3.11` (1687 passed; the two Redis e2e failures are pre-existing on main and only trigger because a local Redis happens to be reachable on my machine, they are skipped in CI). Also verified the new tests fail without the provider changes. ## Checklist - [x] My code follows the project's style guidelines - [x] I have performed a self-review of my code - [x] I have added tests that prove my fix/feature works - [x] New and existing tests pass locally - [x] I have updated documentation if needed --- quick note: I'm a college freshman trying my best to contribute for the greater good :) this fix came out of a session with Claude Code (it did the heavy lifting, I read through the diff and ran the gates locally), so apologies in advance if anything looks off. if there are mistakes I would genuinely love to learn from them. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved the Vercel integration page layout by applying the integration window consistently to the new-project deployment flow. * Prevented duplicate or incorrect layout wrapping on other Vercel integration pages. * Preserved dedicated interstitial layouts for installation and project-selection screens. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: ayaangazali <ayaan.gazly@gmail.com>