The configured vxdata-api Ruff task reports success but also says No Python files found under the given path(s). Its [tool.ruff] include = ["src"] setting does not select the Python files with the current Ruff version. An explicit changed-file Ruff invocation was needed for real lint coverage.
PEP 604 and SQLAlchemy fixes exposed type-checker needs. SQLModel model attributes require # type: ignore[union-attr] on .is_(...) expressions for ty to accept them.
Lessons Learned: Improvements
Update the vxdata-api Ruff include configuration to a Python glob such as src/**/*.py, then verify the Nx lint target actually examines files. This should be a separate lint-infrastructure fix because it was outside this PR’s narrow scope.
Document that blocking ast-grep autofixes should be followed by unused-import cleanup, Ruff formatting of changed expressions, and ty suppression checks.