diff --git a/apps/backend/app/insights/relationship_diagnostics.py b/apps/backend/app/insights/relationship_diagnostics.py index 8e1a1a9..38e1804 100644 --- a/apps/backend/app/insights/relationship_diagnostics.py +++ b/apps/backend/app/insights/relationship_diagnostics.py @@ -205,6 +205,10 @@ def load_unresolved_relationship_context(db: Session, snapshot_id: str) -> Unres RiObservation.observed_kind == "import_binding", ) ).all(): + # The inner join already excludes a null observation_ref; this + # narrows the nullable column type SQLAlchemy 2.1 now reports. + if observation_ref is None: + continue referent = binding_referent_by_pk.get(observation_ref) if referent is None or not path: continue diff --git a/apps/backend/pyproject.toml b/apps/backend/pyproject.toml index 52312c6..97fd122 100644 --- a/apps/backend/pyproject.toml +++ b/apps/backend/pyproject.toml @@ -39,7 +39,7 @@ test = [ ] dev = [ "mypy==2.3.1", - "ruff==0.16.8", + "ruff==0.16.9", ] [tool.setuptools.packages.find] diff --git a/apps/backend/requirements-dev.txt b/apps/backend/requirements-dev.txt index 6b09ff0..7b069cb 100644 --- a/apps/backend/requirements-dev.txt +++ b/apps/backend/requirements-dev.txt @@ -4,13 +4,13 @@ # only requirements.txt; pytest must never ship in runtime dependencies (issue #185). -r requirements.txt ast-serialize==0.11.2 -coverage==7.16.1 +coverage==7.16.2 iniconfig==2.3.0 -librt==0.15.0 +librt==0.16.0 mypy==2.3.1 mypy_extensions==1.1.0 pathspec==1.1.1 pluggy==1.6.0 pytest==9.1.1 pytest-cov==7.1.0 -ruff==0.16.8 +ruff==0.16.9 diff --git a/apps/backend/requirements.txt b/apps/backend/requirements.txt index 3b03272..71ba91a 100644 --- a/apps/backend/requirements.txt +++ b/apps/backend/requirements.txt @@ -22,7 +22,7 @@ cryptography==50.0.1 cssselect2==0.10.1 dnspython==2.8.0 email-validator==2.3.0 -fastapi==0.141.1 +fastapi==0.142.0 greenlet==3.5.6 h11==0.16.0 html5lib==1.1 @@ -45,7 +45,7 @@ pydantic_core==2.46.5 Pygments==2.21.0 pyhanko-certvalidator==0.32.1 pyHanko==0.37.0 -PyJWT==2.14.0 +PyJWT==2.15.1 pypdf==6.19.0 python-bidi==0.6.11 python-dotenv==1.2.3 @@ -55,8 +55,8 @@ redis==8.1.0 reportlab==4.5.1 requests==2.34.2 six==1.17.0 -SQLAlchemy==2.0.54 -starlette==1.6.0 +SQLAlchemy==2.1.1 +starlette==1.7.0 svglib==2.2.0 tinycss2==1.5.1 tree-sitter==0.26.0 @@ -67,8 +67,8 @@ tzdata==2026.4 tzlocal==5.4.4 uritools==6.1.3 urllib3==2.8.0 -uvicorn==0.53.0 +uvicorn==0.54.0 watchfiles==1.3.0 webencodings==0.6.1 websockets==17.1 -xhtml2pdf==0.2.20 +xhtml2pdf==0.2.21