chore: pin requirements.txt to known-working versions - #9
Merged
Conversation
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012RttwcxBgsnXH2TwQGQsrp
This was referenced Sep 1, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Pins
requirements.txtto exact, currently-installed-and-working versions instead of unbounded package names. No new dependencies added, no version guessed — every pin below is a version actually installed in a working environment (base conda env, Python 3.13.9) that this session used successfully throughout prior tasks (174/174 tests passing, live API queries working).==0.128.0==0.40.0==2.32.4==1.26.4==1.15.0==5.4.1>=2.8.0==2.10.1numpy==1.26.4satisfies thenumpy<2.0constraint Dockerfile:26 already enforces as a separate pre-install step (pip install --no-cache-dir "numpy<2.0"before-r requirements.txt) — that constraint is untouched and still holds with this pin.Verification
1. Fresh virtualenv install + full test suite
Created a brand-new venv (Python 3.13.9, no pre-existing packages), installed only from the newly pinned
requirements.txt, then ran the full suite:pytest -q: 174 passed — identical to the base-environment baseline (also 174 passed). (Test tooling itself —pytest,pytest-asyncio— isn't inrequirements.txt; installed matching versions from the base env, 9.0.2 / 1.3.0, purely to run the suite in the fresh venv.)2. Manual end-to-end API run
Started
uvicorn api.main:appin the fresh venv against the existing FAISS index and a running Ollama instance, then POSTed a real query:Confirms embedding (Ollama
nomic-embed-text), FAISS retrieval, and LLM generation (Ollamallama3) all work end-to-end with the pinned versions — not just that imports succeed.pip freeze (full output, base environment used as the pinning source)
652 packages — click to expand
Per instructions, this PR is not to be merged automatically. Test results and manual query output are reported above for review — merge only after explicit confirmation.