Register a Project Virtual Environment as a Named Jupyter Kernel
Register each project's virtual environment as a named ipykernel so Jupyter notebooks execute against the exact interpreter and dependency versions. Covers activation, ipykernel installation, kernelspec registration, verification via sys.executable, and recovery from broken kernels.