21eac63723
Phase 3 vom Multi-Threading-Redesign. Diagnostic zeigt einen scrollbaren Streifen von Kontext-Karten ueber dem Chat (Hauptchat + Projekte), jede mit Live-Status-Dot. Tap wechselt den Focus, Chat filtert auf diesen Kontext, Sende-Input laeuft mit der Focus-ID durch Bridge → Brain-Queue. index.html: - Neuer <div id="chat-context-strip"> ueber der Chat-Box, horizontal scrollbar. - JS: focusedContextId (in localStorage gespiegelt), diagQueueStatus, diagProjectsCache. renderContextStrip() zeichnet Karten mit Dot + Status-Label. switchDiagFocus(id) wechselt Focus + versteckt Bubbles anderer Kontexte via data-project-id + style.display. - Polling: /api/brain/projects/queue-status alle 2s, /projects/list alle 15s. - addChat: nimmt options.projectId → schreibt data-project-id an die DOM-Node, versteckt sofort wenn Focus abweicht. - Chat-Reception-Handler propagiert p.projectId aus dem RVS-Payload. - testRVS() sendet msg.projectId=focusedContextId mit. server.js: - sendToRVS(text, isTrace, projectId): neuer Param, wird in payload.projectId gesetzt → Bridge routet an /chat body.project_id. - test_rvs-Handler reicht msg.projectId durch. Bewusst nicht drin (Follow-up wenn Stefan mag): - Voller Dashboard-Stack mit stacked Karten die eigene Message-Listen + Input-Felder haben. Aktuelle Variante ist „Kontext-Strip fuer schnellen Wechsel + Focus-One-Rendering" — ~90% des UX-Werts mit ~10% des Aufwands. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>