-
Notifications
You must be signed in to change notification settings - Fork 5
Description
User Story
As a software developer,
I want to pin exact dependency versions in backend/requirements.txt using == syntax
so that deployments remain consistent and avoid unexpected breaking changes from dependency updates.
Background
The current backend/requirements.txt uses loose versioning (e.g., fastapi==0.75.0 is pinned, but future additions might omit this). This risks pulling incompatible dependency versions during rebuilds or new deployments, especially when Docker images are recreated. For example, the docker-compose.yml rebuilds the backend service using requirements.txt, and unpinned dependencies could introduce silent failures in app/main.py or runtime errors in the FastAPI server. This technical debt directly impacts deployment reliability.
Acceptance Criteria
- Modify
backend/requirements.txtto enforce exact versioning for all dependencies using==. - Verify no dependencies in
requirements.txtuse unpinned or range-based specifiers (e.g.,>=,~=). - Test by rebuilding the backend Docker container (
docker-compose down -v && docker-compose up --build backend) and confirming the application starts without errors. - Document the version-pinning policy in
README.mdunder a "Dependency Management" section to prevent regression.