We tried to answer this question empirically: we ran a workspace-level uv venv against stock apt-installed ROS 2 — keeping colcon, ros2 run and ros2 launch in use — catalogued five reproducible failure modes, and measured where the known workarounds stop working (notably: the [build_scripts] shebang mitigation does not cover --symlink-install).
Short version: a workspace-level venv is largely workable today when colcon is launched from the venv’s interpreter with --system-site-packages; the remaining gaps are package discovery, setup.bash venv-awareness, and develop-path shebangs — each of which could be addressed by a small, location-independent, opt-in change in colcon/ament.
Field report and proposals here: Uv on ROS 2: a field report on workspace-level virtual environments — five failure modes and minimal colcon/ament proposals