generated from john/python-template
Quality Gate / gate (push) Failing after 47s
The pre-commit hooks declared `language: system` with bare `ruff`/`ty` entries, but both are uv-managed dev dependencies and are not on PATH, so every commit failed with `Executable 'ruff' not found`. Route both through `uv run`; keep ruff blocking and make ty advisory (verbose) until its 18 whole-project diagnostics are cleared. With the gate working, clear `ruff check .` to zero: - 18 auto-fixes (import sorting, blank lines, `max()` simplification, `with` merging, unused imports). - Real defects: `SourceNavigation` annotated but never imported in sources_page; two naive `datetime.now()` calls in migration.py now use `datetime.now(UTC)`. - Dead parameters removed: `source_has_photo_table` (computed, passed, never read), `_serialize_value(key=...)`, and unused `request` on two NiceGUI page handlers where the framework injects it optionally. - Mechanical line-length wrapping and one `startswith` tuple collapse. - `# noqa: PLR0915` / `# noqa: PLR1702` on five long UI/migration functions, following the convention already used in jobs_page and settings_page, rather than refactoring during stabilization. Full suite green (377 tests, `-m "not external"`). Co-authored-by: Copilot App <[email protected]>