## Implementation Plan: Fix Incorrect Content-Length Headers via GZipMiddleware ### Change Modify `pyproject.toml` to pin minimum versions for `starlette` and `fastapi` to releases that include the GZipMiddleware `Content-Length` fix. **File:** `pyproject.toml` **Section:** `[project.dependencies]` (or similar, where `fastapi` and `starlette` are listed) **Action:** Replace the bare dependency lines with version-constrained ones: ``` fastapi>=0.110.0 starlette>=0.37.0 ``` If either package appears in multiple dependency groups (e.g., `[project.optional-dependencies]`), apply the same constraint everywhere. ### Verification Steps (Definition of Done) 1. **Apply the change** – edit `pyproject.toml` to add the minimum version constraints as described. 2. **Install updated dependencies** – run: ```bash PIP_REQUIRE_VIRTUALENV=false pip install -e '.[dev]' -q ``` (The environment variable bypasses the PEP 668 restriction that caused previous failures.) 3. **Run the test command** – execute: ```bash make test-unit ``` All tests pass with exit code 0. 4. **Run the lint command** – execute: ```bash pip install -q ruff && ruff check . ``` Ruff exits with code 0 (no linting errors). 5. **Confirm installed versions** – (optional but recommended) run: ```bash pip show starlette fastapi | grep -E "^Version:" ``` Verify `starlette >= 0.37.0` and `fastapi >= 0.110.0`. All steps must succeed without any failures or errors beyond warnings unrelated to code correctness.