# Lumi whisper.cpp worker This is the dedicated native inference process used by `WhisperWorkerSupervisor`. It reads the existing length-prefixed metadata/PCM protocol from standard input and emits newline-delimited structured events on standard output. Audio remains in bounded memory and is never written to disk. The build pins whisper.cpp to the commit recorded in `runtime_manifest.json` and nlohmann/json to v3.12.0. CPU is the portable verification target; the Lumi server release uses the CUDA option: ```powershell cmake -S . -B build -G Ninja -DLUMI_WHISPER_CUDA=ON -DCMAKE_BUILD_TYPE=Release cmake --build build ``` The worker keeps at most six seconds per source, attempts an incremental decode around every 600 ms during speech, and finalizes after roughly 750 ms of measured silence. The server-side stabilizer remains authoritative for stable-prefix reconciliation and obsolete-revision suppression. On Windows, the repository setup script builds into a short temporary path and installs the executable where the plugin discovers it automatically: ```powershell powershell -ExecutionPolicy Bypass -File plugins/lumi_transcription/scripts/build-worker.ps1 ``` Pass `-Cuda` only after installing a compatible NVIDIA CUDA toolkit. Lumi prefers the installed CUDA worker and falls back to the CPU worker; `LUMI_TRANSCRIPTION_WORKER` remains an explicit override.