Aufgefallen beim Nachsehen, warum die GUI bei 29:32 Audio 2h34min Analysezeit zeigte.
1. Ein systemctl restart SIGKILLt alle Kindprozesse, die DB-Zeile blieb aber auf
analysis_status=pending mit gesetztem analysis_started_at. Die GUI zaehlte dadurch
ewig hoch fuer Arbeit, die es nicht mehr gab. db.failStaleJobs() setzt beim Start
pending/transcribing auf error - zum Startzeitpunkt kann kein Job legitim laufen.
2. /api/search/answer lud rkllm und gab es nie frei: 1h48min lang 82,6% RAM belegt,
nur 237 MB verfuegbar. Genau der Zustand, den analyzeRecording und rediarize mit
llm.stopServer() bewusst vermeiden, weil der TitaNet-Helfer daneben an OOM stirbt
(auf #71 seinerzeit 48 Rohsprecher). stopServer() jetzt im finally der Route.