transcribe: restore scikit-learn after resemblyzer swap dropped it
The resemblyzer removal also silently dropped scikit-learn (plus scipy +
joblib + threadpoolctl) because it was only reachable as a transitive
dep. But apps/speakers/{owner,discovery}.py still import
`from sklearn.cluster import HDBSCAN` — post-swap, any Python import
of owner.py crashed with ModuleNotFoundError.
Add scikit-learn>=1.3 as a direct dep. scipy/joblib/threadpoolctl come
back in transitively. .venv grows from 1.0G to 1.2G (still -4.6G from
the 5.8G baseline, well over the 4G acceptance floor).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>