Training progress:
- Show row counts in status messages: "Loaded dataset from HuggingFace:
Open-Orca/OpenOrca (4,233,923 rows)" instead of just the dataset name
- Emit "Formatting dataset (N rows)..." and "Applying chat template
(N rows)..." status updates so users see progress during the
preprocessing stages that previously appeared stuck
Deferred llama.cpp compilation:
- Add LlamaCppBuilder that runs cmake build in a background thread
at server startup if the llama-server binary is missing
- Studio starts immediately and is usable for training/non-GGUF tasks
while llama.cpp compiles in the background
- GGUF model loads wait for the build to finish with a helpful message
- Add /api/inference/llama-cpp-status endpoint for build status
- Frontend shows "Waiting for llama.cpp to compile..." toast when
loading a GGUF while build is in progress