092f085254
Phase 4 vom Multi-Threading-Redesign — der Voice-Layer routet STT-Text per-Projekt und lässt Meta-Kommandos gar nicht erst ans Brain. Voice-Router in _process_endpoint_text(): - „zurueck zum hauptchat" / „hauptchat bitte" / „aria hauptchat" → Sticky reset, project_changed(exited) broadcasten, KEIN Brain-Call. - „fuer <name>: <text>" (Fuzzy-Match auf Projekt-Namen ≥ 0.6 Score) → Sticky auf gefundene project_id + Rest des Texts geht ans Brain im Projekt-Kontext. project_changed(entered) broadcasten damit App/Diagnostic den Focus mit umschalten. - Sticky-Timeout 30s: eine Voice-Message ohne Prefix innerhalb des Fensters bleibt im Sticky-Projekt, refresht das Timeout. Nach Ablauf → Default Hauptchat. - Meta-Kommandos aendern KEINEN Brain-State — ARIAs Arbeit in laufenden Projekten wird nicht abgebrochen. send_to_core wird jetzt mit dem gerouteten project_id gerufen; das Brain bekommt den Text im richtigen Queue-Kontext. Broadcast-Chain: Voice-Router setzt Sticky → project_changed geht via RVS an App+Diagnostic → Focus-Header/Kontext-Strip wechseln automatisch. Damit ist der komplette Multi-Threading-Redesign abgeschlossen: - Brain: per-Request project_id + per-Projekt Queue + Queue-Aware Prompt - Bridge: Chat-Routing + Voice-Router - App: Focus-One + Drawer + Status-Dots - Diagnostic: Kontext-Strip + Focus-Filter - Voice: Sticky + Meta-Interception Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>