P12: uv Hygiene — fix venv, build system, python resolution

New Issue

Fix the recurring broken-venv issue and modernise all uv usage. The .venv symlinks to /root/ python (inaccessible to kert) broke repeatedly.

Closeout

All 4 issues closed. Added [build-system] with uv_build backend to pyproject.toml, eliminating the need for uv pip install -e .. Python version pins aligned across .python-version, CI workflows, and pyproject.toml requires-python. uv.toml configured with link-mode=copy to prevent broken venv symlinks pointing at inaccessible paths. Pre-commit hook added to auto-recover broken venvs before running checks, ensuring CI and local dev never silently use a stale interpreter.

Issues resolved

  • #58 — Added [build-system] to pyproject.toml, dropped uv pip install -e .
  • #59 — Aligned Python version pins across all config files
  • #60 — uv.toml link-mode=copy prevents broken venv symlinks
  • #61 — Pre-commit hook auto-recovers broken venvs

Residual

None. Venv breakage has not recurred since link-mode=copy was deployed.

No due date
100% Completed
P12: uv hygiene — build-system, link-mode, version pins, auto-recovery
All checks were successful
ci/woodpecker/push/infra-ci Pipeline was successful
ci/woodpecker/pr/infra-ci Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
coverage 99% coverage
ci/woodpecker/pr/ci Pipeline was successful
#62 by kert was merged 2026-03-21 19:34:02 +00:00 5 / 5