Repository navigation
refactor(cockpit): Sidebar, Verbindungen und Konten entdoppeln #160
Description
Activity
- addedbugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or request
on Aug 19, 2026 Follow-ups aus dem zusammengeführten Codex- und Claude/Fable-xhigh-Review
Die nach dem frischen Vergleich mit
claudeplexundclaudeplex-desktopverifizierten Restlücken sind in eigenständige, deduplizierte Arbeitspakete überführt:P0 – zentrale Paritätslücken
- feat(remote): KI-Konten hostseitig erkennen, auswählen und exakt routen #165 – Remote-Konten hostseitig erkennen, auswählen und routen
- feat(remote-control): Verwaltete KI-Flotte mit RAM-Schutz und Claude-Mobile-Zugriff #168 – verwaltete Remote-Control-Flotte mit RAM-/Headroom-Schutz und Claude Mobile
- fix(cockpit): Transkripte für Claude, Codex und Remote-Sessions ehrlich öffnen #170 – Transkripte für Claude, Codex und Remote-Sessions
- feat(cockpit): GitHub-Issue- und PR-Flows end-to-end verdrahten #161 – GitHub-Issue-/PR-Flows end-to-end verdrahten
P1 – Bedienung und Automation
- feat(command-palette): Cockpit-Konten, Sessions, Projekte und Flows dynamisch anbieten #167 – dynamische Cockpit-Einträge in der Command-Palette
- feat(cli): Versionierten Cockpit-Snapshot als JSON ausgeben #163 – versionierter Cockpit-JSON-Snapshot
- feat(spawn-card): Ordnerhistorie und Mehrkonten-Start ergänzen #164 – Ordnerhistorie und Mehrkonten-Start
- feat(cockpit): Restart, Session-Rename und Stale-Cleanup vervollständigen #162 – Restart, Session-Rename und Stale-Cleanup
Korrektheit und Verifikation
- fix(cockpit): Launch-Intent exakt an die Provider-Session binden #166 – Launch-Intent exakt an Provider-Session binden; ergänzt fix(agent): Sessions nach exaktem Host, Provider, Konto und ID auflösen #133/feat(remote): Agent-Sessions rückwärtskompatibel an PTYs binden und reattachen #134 ohne deren Scope zu duplizieren
- test(cockpit): Paritäts-Audit als ausführbare CI- und Runtime-Matrix etablieren #169 – Paritätsvertrag als ausführbare CI-/Runtime-Matrix
Alle Issues enthalten konkrete Abnahmekriterien und relevante Codepfade.
Signiertes Abnahme-DMG für Main 1971e1b
Der vollständig grüne Test-DMG-Lauf für den gemergten Main-Commit
1971e1bccc0e7f87069cf9187dbe8991555d5f02ist abgeschlossen:- Run: https://github.com/byte5ai/zaplex/actions/runs/32428131359
- DMG-Artefakt: https://github.com/byte5ai/zaplex/actions/runs/32428131359/artifacts/9430637248
- Apple-Notarisierung:
Accepted - Stapling und Ticket-Validierung: erfolgreich
- GitHub-Artefakt-Digest:
sha256:c5b8beae8f462abcec0af6380c223094ca6e2235145381713d130043ed8fe16d
Das Issue bleibt bis zur echten Same-SHA-Zwei-Host-Runtime-Abnahme offen; es wird keine Hardware-Evidenz fingiert.
Signiertes Abnahme-DMG für Main 70fc30b
Der vollständig grüne Test-DMG-Lauf für den gemergten Main-Commit
70fc30b09089d051c56e8d472f80421e5bbe7bc3ist abgeschlossen:- PR-Fix: fix: catch macOS-only compilation regressions #370
- Run: https://github.com/byte5ai/zaplex/actions/runs/34355443739
- DMG-Artefakt: im Bereich „Artifacts“ des Run-Links, Name
zap-test-dmg-aarch64 - Download per CLI:
gh run download 34355443739 --repo byte5ai/zaplex --name zap-test-dmg-aarch64 - Hinweis: Der Download von Actions-Artefakten erfordert eine angemeldete GitHub-Sitzung; der direkte Weblink liefert sonst 404.
- Developer-ID-Code-Signatur: gültig
- Apple-Notarisierung:
Accepted - Stapling und Ticket-Validierung: erfolgreich
- GitHub-Artefakt-Digest:
sha256:d73375c0d6dae2b23df1f62f79b123f1ed906df3e7777bcc8cd0f8bfa34a65e4 - Größe:
192921158Byte - Ablauf des Actions-Artefakts: 2026-09-16
Das Issue bleibt bis zur echten Same-SHA-Zwei-Host-Runtime-Abnahme offen; es wird keine Hardware-Evidenz fingiert.
Signiertes Same-SHA-Abnahme-DMG für main 62393d1
Der vollständig grüne Test-DMG-Lauf für den gemergten Main-Commit
62393d17d725331f0105cf47ab44f0c76a13f339ist abgeschlossen:- Run: https://github.com/byte5ai/zaplex/actions/runs/34644595672
- Artefakt:
zap-test-dmg-aarch64(ID10283109721) - Authentifizierter Download:
gh run download 34644595672 --repo byte5ai/zaplex --name zap-test-dmg-aarch64 - Hinweis: Ein direkter Actions-Artefaktlink erfordert eine angemeldete GitHub-Sitzung und liefert andernfalls 404.
- Developer-ID-Signatur: App und DMG
valid on disk, Designated Requirement erfüllt - Apple-Notarisierung:
Accepted(Submission8f5b112b-346e-45af-b2b8-1d32575bb6af) - Stapling und Ticket-Validierung: erfolgreich
- GitHub-Artefakt-Digest:
sha256:fad4612a4e85d57b1d178447ead3344080a71062ca0ac3dabab56d7f5776386a - DMG-Datei: 187130336 Byte,
sha256:15f2145366dcbec0536c9b8d05ede8412a5159394db0dd787ba807980df5fdb9 - Ablauf des Actions-Artefakts: 2026-09-18T21:48:41Z
Das Issue bleibt bis zur echten Same-SHA-Runtime-Abnahme mit lokalem Claude, lokalem Codex, Remote-Host sowie den geforderten Screenshots offen; es wird keine Hardware-Evidenz fingiert.
UI-Nachtrag zur abgestimmten Implementierung durch GPT-5.6 Sol
Übergeordneter Implementierungsplan: #459. Dieses offene Issue bleibt Owner der gemeinsamen Cockpit-/Connections-/Konto-Darstellung; keine parallele Sidebar-Neuentwicklung.
Zusätzlich verbindliche Abnahme
- Cockpit- und Verbindungs-Sidebar verwenden dieselben Raster-, Header-, Zeilen-, Einrückungs- und Aktionsregeln. Section-Headline, Host, Projekt, Session und Metadaten sind typografisch unterscheidbar, nicht alle gleich formatiert.
- Sidebar als zusammenhängende, gegenüber Arbeits-Panes optisch abgesetzte Fläche; dafür vorhandene Theme-Surface-/Akzentrollen nutzen. Alle Themes einschließlich hell/dunkel und Kontrastvarianten prüfen. Keine hartcodierten Farben oder von der Produktpalette unabhängigen Mockup-RGB-Werte übernehmen.
- Akzent bedeutet Auswahl/Fokus/Handlung; keine dekorativen farbigen Pane-Rahmen. Sidebar bleibt optisch Sidebar, kein zusätzliches Arbeits-Pane.
- Beide Usage-Balken 5 h und Woche untereinander, über die verfügbare Kartenbreite; Werte/Labels sauber ausgerichtet. Unbekannte/geschätzte Werte nicht als gemessene Null ausgeben.
- Große Claude-/Codex-Konto-Pane: dieselbe Identitätshierarchie wie Sidebar, Provider nur einmal, Konto/Plan darunter, gestapelte Limits mit zugeordneten Reset-Angaben. Vorhandene Kosten-/Token-Provenienz und echte Sessionaktionen erhalten.
- Konto-Klick fügt eigene Detailpane hinzu bzw. fokussiert sie im aktuellen Tab; andere Panes bleiben intakt. Gleiche Kontoansicht in verschiedenen Tabs erlaubt. „Alle Konten“ ist beschriftet, kein richtungsloser Pfeil.
- Keine redundanten Links zum Verbindungs-Sidebar-Tab; vorhandenes horizontales Toolbelt bleibt die Navigation. Keine globalen Tabs „Tests“ oder „Dateimanager“.
- Hover ändert Farbe, niemals Inhalte/Geometrie. Repetitive Sekundäraktionen in engen Zeilen icon-only nach CompactRowAction; Identität bekommt Restbreite.
- Puffer-/RAM-Angaben aus der normalen Session-Navigation in explizite Verbindungsdetails verschieben; tatsächlich gemessenen Ausgabepuffer korrekt benennen, nicht „Host-RAM“. Diagnosefähigkeit erhalten. Das löst die ältere pauschale Sichtbarkeit der Ringmetriken ab, nicht deren Datenerfassung.
- Große Cockpit-Panes, minimale Sidebarbreite, lange Identitäten, fokussierte/ungefokussierte Zustände und mehrere Themes als native Screenshots gemeinsam abnehmen.
Weitere ausdrücklich abgelöste Altregel: Favoriten-Hostname verbindet direkt;
⋯öffnet ein seitliches Flyout bei sichtbarem Parent. Umsetzung ist #463, nicht eine zweite Arbeit in #160. #455 besitzt den konkreten schmalen Sessionzeilen-Fix.Die zugehörigen PRODUCT-/TECH-/HTML-Dokumente im Implementierungs-PR synchronisieren. Die übrigen Live-Tree-, Discovery-, Identity-, Capability- und Sicherheitsverträge bleiben bestehen. Keine privaten Accountdaten oder ursprünglichen Screenshots veröffentlichen.
Versionierte Referenz für den Abgleich nach PR #465
Der letzte interaktive Entwurf ist jetzt anonymisiert als Mockup und Vergleichsanleitung mit Referenzbildern veröffentlicht (Commit
bea818ce9, Branchcodex/ui-reference, noch nicht inmain). Die Spezifikation und PRODUCT/TECH sind darauf synchronisiert; die alten statischen Gegenentwürfe sind abgelöst.Wichtig: Der zusätzliche „Shell-Sessions in Verbindungen öffnen“-Link ist im integrierten
app/src/cockpit/panel.rsnoch vorhanden, widerspricht aber der Referenz. Diese Dokumentationsänderung korrigiert die Vorgabe, nicht den Produktcode. Abweichung und native Restabnahme bleiben in #459/#160 offen.Browser- und statische Referenzprüfungen bestanden; das ist keine native Produktabnahme. Kein neuer Build, CI-Lauf, Merge oder Release.
Statusabgleich vom 28.09.2026:
status: blocked.Die Cockpit-/Connections-/Konto-Implementierung und spätere UI-Korrekturen sind über #465 und die Folge-PRs im gemeinsamen #477 gebündelt. Offen bleiben der erfolgreiche Paritätsnachweis #169 und die native Same-SHA-Abnahme für Sidebar/Konten, Themes/Breiten und echte Hosts.
Aktueller technischer Blocker: Der gemeinsame Abnahme-PR #477 ist Draft und enthält laut PR-Beschreibung die Änderungen dieses Issues. Sein aktueller HEAD
5c9c445ba961671583c09981450a7fb79b9c9cfdhat im vollständigen Prüflauf 36354992553 den Statusfailure: Die Schritte „Rust workspace coverage tests“ und „Export coverage and execution evidence“ sind fehlgeschlagen; die separate Nicht-Rust-Suite ist erfolgreich. Eine grüne vollständige Baseline ist damit weiterhin nicht belegt.Der letzte PR-Prüflauf 36353993130 auf dem Vorgänger
710faa3e8scheiterte an Linux-Clippy und „Native subscription Agent layout evidence“ auf macOS. Spätere Quellkorrekturen sind dokumentiert, ein grüner Ersatz für diese Pflichtprüfungen ist beim Statusabgleich nicht vorhanden. Das bedeutet nicht, dass jedes einzelne Issue den gemeinsamen Fehler verursacht.Nächster Schritt: Die fehlgeschlagenen gemeinsamen Prüfungen korrigieren und auf dem aktuellen Stand erfolgreich nachweisen; anschließend die oben genannte individuelle Restabnahme abschließen. Solange technische Gates fehlen, ist dies weder
readynoch ausschließlichneeds-user. Dieser Eintrag aktualisiert den Status; er startet keinen Build und schließt das Issue nicht.- addedstatus: blockedTechnisch blockiert: fehlgeschlagene CI/Abnahme oder externe AbhängigkeitTechnisch blockiert: fehlgeschlagene CI/Abnahme oder externe Abhängigkeitstatus: in-progressIn Bearbeitung; Verifikation noch nicht abgeschlossenIn Bearbeitung; Verifikation noch nicht abgeschlossenstatus: needs-userWartet auf Entscheidung, Test oder Freigabe durch ChristianWartet auf Entscheidung, Test oder Freigabe durch Christianand removedstatus: blockedTechnisch blockiert: fehlgeschlagene CI/Abnahme oder externe AbhängigkeitTechnisch blockiert: fehlgeschlagene CI/Abnahme oder externe Abhängigkeitstatus: in-progressIn Bearbeitung; Verifikation noch nicht abgeschlossenIn Bearbeitung; Verifikation noch nicht abgeschlossen
on Sep 28, 2026 Mit #477 auf
maingemergt (Merge-Commitc0af4484e). Wartet auf Christians Freigabe des ersten Batch-Laufs (release-approve "ci-batch.yml --ref main") und danach auf die native bzw. Laufzeit-Abnahme.Enthalten im Test-DMG aus Lauf 37208729131 (
9ce5af67c), wartet auf Christians Abnahme.Abnahmematrix auf
main(Stand 09.10.2026)Basis:
main0ba54c049. Lücken-PR: #537. Geprüft wurde Code und Test, keine Laufzeit. Legende: erfüllt · Lücke → #537 (im PR behoben) · → #X (gehört zu einem anderen offenen Issue).A. Abnahmekriterien aus dem Issue
Kriterium Status Nachweis Verbindungen, Tab-Favoriten und Cockpit nutzen gemeinsame stabile Host-IDs erfüllt connections_registry_drives_favorite_launch_menu,live_status_enriches_registered_host_without_duplicate,same_display_name_hosts_remain_distinct_by_stable_idLokal immer sichtbar, erster Remote-Open eine Wurzel, letzter Disconnect entfernt sie erfüllt im Code; dass der Remote-Baum zur Laufzeit leer bleibt → #507 Tests 3–6 unten, dazu connected_host_is_visible_before_any_inventory_responseBaum Host → Projekt → PTY-Session → Agenterfüllt (Darstellung B+ über #505); Test geschärft → #537 tree_hierarchy_is_host_project_pty_agentStatus nur als Glyph, Puls max. 2×, Reduced Motion statisch erfüllt; Marke ◆ohne Tooltip war eine Lücke → #537tree_status_is_glyph_only,waiting_pulse_is_fixed_and_capped_at_twice_the_core,waiting_glyph_motion_respects_reduced_motionGroße Claude-/Codex-Ansicht nennt Provider, keine doppelte Kontoidentität erfüllt provider_is_visible_and_account_identity_is_not_duplicated;account_identityspeist Sidebar-Karte und große PaneWartende Tabellenzeilen dezent über die ganze Zeile markiert erfüllt needs_user_session_highlights_the_full_stable_row; Tönung überwith_row_background_fninpane.rsRegistrylose Claude-Historie fortsetzbar, aber nicht im Live-Baum erfüllt; Beleg auf Baumebene ergänzt → #537 legacy_claude_transcript_without_registry_is_resumable,only_a_dormant_session_can_be_resumed, neudormant_account_history_never_enters_local_treeScanfehler nicht als leere Kontenliste erfüllt account_scan_error_is_not_rendered_as_zero_accounts; die Funktion steuert die Kontenansicht (accounts_panel.rs)Paritätsaudits mit SHA-Ledger erfüllt REFERENCE_AUDIT.mdStage 1–8, neu Stage 9 → #537Normale und schmale Breite bestehen Spec- und Screenshot-Prüfung HTML-Screenshot-Vertrag (normal, schmal, Reduced Motion) zuletzt grün im ci-batch 37208729131auf9ce5af67c; native Abnahme entfällt nach neuer Vorgabespecs/parity/cockpit-screenshots.spec.tsB. Zusatzabnahme UI-Nachtrag vom 20.09.
Kriterium Status Nachweis Cockpit und Verbindungen mit gleichen Raster-, Header-, Zeilen- und Aktionsregeln, typografische Stufen Cockpit erfüllt (Stufen aus #505); Verbindungen ohne Sektionskopf und Karte → #455 (in Arbeit) Befund aus #459 vom 06.10. Sidebar als abgesetzte Fläche, nur Theme-Rollen, alle Themes im Code erfüllt; visuell nicht verifiziert #spec A6, Farben nur überappearance.theme()Akzent nur für Auswahl, Fokus, Handlung erfüllt stabile Fokus-Hinterlegung #spec B7, keine Rahmen5 h und Woche untereinander, Schätzung nie als gemessene Null erfüllt Kontokarten in accounts_panel.rs, Markierung~Große Konto-Pane: gestapelte Limits mit zugeordneten Resets, Provenienz erhalten Lücke → #537 (gemeinsame Reset-Zeile, Opus/Sonnet fehlten); Kostenlegende war vorhanden #spec I2, Legendecockpit-pane-provenance-legendKonto-Klick fügt Pane hinzu oder fokussiert sie, „Alle Konten“ beschriftet erfüllt open_cockpit_pane_for(dedupliziert pro Konto im Tab), Kopf „Alle Konten · heute …“Keine redundanten Links, keine globalen Tabs erfüllt Link entfernt in d2183ba1b, siehe DHover nur Farbe, Sekundäraktionen icon-only erfüllt; der Guard dafür war auf mainrot → #537Task-Peek im Baum entfernt (#529), check-compact-row-actionsPuffer/RAM nur in Verbindungsdetails Cockpit zeigt keine Metriken; Verbindungen → #455/#509 (in Arbeit) PRODUCT §2 Native Screenshots entfällt nach neuer Vorgabe — Abgelöst: 3/5-Höhenregel durch #504 (nur noch als „abgelöst“ in PRODUCT §42 und TECH §5 erwähnt). Favoriten-Direktverbindung und Flyout → #463.
C. Die 15 Pflicht-Regressionstests
Test Ort auf mainPrüft das Verhalten? connections_registry_drives_favorite_launch_menuapp/src/workspace/view_test.rs:1461ja: echte SSH-Registry, Umbenennung, Favoriten-Toggle, Menü inkl. „Weitere Hosts“ und Lesefehler cockpit_excludes_registry_only_hostscrates/zaplex_cockpit/src/fleet_tests.rs:503ja local_sessions_remain_visible_without_remote_connectionsfleet_tests.rs:207teilweise: vergleicht zwei Fold-Wege; leere lokale Wurzel deckt der Test darüber ab first_open_remote_session_adds_one_host_rootfleet_tests.rs:229ja auf Fold-Ebene; Modellebene über connected_host_is_visible_before_any_inventory_responselast_open_remote_session_removes_host_rootapp/src/cockpit/model_tests.rs:198ja, ruft die Abgleichsfunktion direkt auf stale_inventory_cannot_readd_disconnected_hostmodel_tests.rs:27war teilweise tautologisch (feste Generationen, Sperre im Test nachgebaut) → #537: über RefreshSingleFlightund Ereignis-Einordnung, plus neuer Test der Zuordnungtree_hierarchy_is_host_project_pty_agentcrates/zaplex_cockpit/src/conductor_tests.rs:448prüfte nur PTY → Agent → #537: alle vier Ebenen tree_status_is_glyph_onlyapp/src/cockpit/panel_tests.rs:167ja; dieselbe Funktion rendert jedes Baum-Glyph waiting_glyph_motion_respects_reduced_motionpanel_tests.rs:227ja; Einstellung kommt aus AccessibilitySettings::reduce_motionprovider_is_visible_and_account_identity_is_not_duplicatedapp/src/cockpit/mod_test.rs:198ja needs_user_session_highlights_the_full_stable_rowapp/src/cockpit/pane_tests.rs:99ja (Prädikat und stabiler Zeilenschlüssel) account_scan_error_is_not_rendered_as_zero_accountspanel_tests.rs:251ja legacy_claude_transcript_without_registry_is_resumablecrates/zaplex_cockpit/src/sessions_tests.rs:307ja, fast deckungsgleich mit dem Test in Zeile 281; das Fortsetzen selbst prüft only_a_dormant_session_can_be_resumedclaude_shell_helper_is_not_a_sessionsessions_tests.rs:245ja dormant_history_never_enters_live_treesessions_tests.rs:790prüfte nur die Trennung im Scan → #537: zusätzlich auf der Baumquelle Alle 15 sind Belege der Paritätsmatrix und laufen im ci-batch.
D. Weitere Prüfpunkte
- Link „Shell-Sessions in Verbindungen öffnen“: existiert nicht mehr. Entfernt in
d2183ba1b(fix: Offene Issues zu SSH, Cockpit und Wiederherstellung absichern #477), kein i18n-Rest;cockpit-screenshots.spec.tsprüft die Abwesenheit. erfüllt - ci-batch auf
b813a4759war rot, bevor Tests liefen: Guard-Muster (Folge von feat(sidebar): KI-Sessions/KI-Konten trennen und Session-Baum nach B+ (#504, #505) #529) und E0599 auf macOS (Folge von fix(file-manager): Verzeichnis beim Verlassen zuverlässig in die Shell übernehmen #521). Beides → fix(cockpit): Restlücken aus #160 schließen und ci-batch-Blocker beheben #537.
E. Paritätsaudit (Stage 9)
Repository Branch SHA zaplex main0ba54c049eff50a904a3b67842abe6b85fa06d10claudeplex main8c2041ff68d97463aed7aeb01da0f16b708b8e22claudeplex-desktop main8c0aad0a944a8f5b6a26636d0827db57ca22d0f3Synchronisiert am 2026-10-09T16:21:43Z per
fetchund Fast-forward; beide Referenzen unverändert seit Stage 8.cockpit-parity-audit validate(107 Tests, 9 Szenarien) undself-test(28 Fälle) bestanden. Ergebnis: Sidebar-Trennung entspricht jetzt der Referenz (Desktop trennt Konten- und Agent-Sidebar); eine Regression gefunden und behoben (Opus-/Sonnet-Teillimits fehlten in der Konto-Pane); Aufmerksamkeitslogik und Ausblenden externer Agents sind bewusste Abweichungen nach Spec. Details inREFERENCE_AUDIT.mdStage 9 (#537).F. Offene Punkte in anderen Issues
#507 (Remote-Inventur), #455 und #509 (Verbindungen), #461 (Pane- und Dateimanager-Titel), #464 (Transferziele), #463 (Favoriten-Flyout), #515 (unbepreiste Modelle), #516 (englische Texte).
Nicht verifiziert: Compile, Clippy, Rust-Tests, Mutationen und Screenshots für den Stand mit #537. Sie laufen erst im nächsten gebündelten ci-batch.
- Link „Shell-Sessions in Verbindungen öffnen“: existiert nicht mehr. Entfernt in
Abschluss
Erledigt: Alle Abnahmekriterien, die Zusatzabnahme vom 20.09. und die 15 Pflichttests sind im Code umgesetzt; die Matrix steht im Kommentar oben. Die Restlücken sind mit #537 geschlossen (Merge
ac693dbd1):- ci-batch-Blocker auf
mainbehoben (Guard-Muster nach feat(sidebar): KI-Sessions/KI-Konten trennen und Session-Baum nach B+ (#504, #505) #529, Kompilierfehler aus fix(file-manager): Verzeichnis beim Verlassen zuverlässig in die Shell übernehmen #521). - Marke
◆mit Tooltip, Reset je Balken und Opus-/Sonnet-Teillimits in der Konto-Pane. - Drei Pflichttests geschärft, die nur Teile prüften; ein Test für feat(sidebar): KI-Sessions und KI-Konten als eigene Sidebar-Ansichten trennen #504 ergänzt.
- PRODUCT, TECH, HTML-Spec und Paritätsaudit (Stage 9) nachgezogen.
Restpunkte in eigenen Issues: #507, #455, #509, #461, #463, #464, #515, #516.
Nicht verifiziert: Compile, Clippy, Rust-Tests, Mutationen und Screenshots laufen erst im nächsten gebündelten ci-batch. Der letzte Lauf auf
b813a4759war aus den zwei in #537 behobenen Gründen rot.Worauf du in der App achten kannst:
- In der Seitenleiste gibt es zwei Einträge: „KI-Sessions“ (der Baum) und „KI-Konten“ (die Kontokarten).
- Wartet ein Agent, während du „KI-Konten“ offen hast, trägt der Eintrag „KI-Sessions“ eine orange Marke.
- Fährst du im Baum über das kleine
◆hinter einem verwalteten Agent, erklärt ein Hinweis, was es bedeutet. - In der großen Kontoansicht steht unter dem 5-h-Balken und unter dem Wochenbalken jeweils, wann er zurückgesetzt wird.
- Meldet ein Claude-Konto Opus- und Sonnet-Limits, erscheinen sie dort als weitere Balken.
Fällt dir etwas auf, öffne das Issue einfach wieder.
- ci-batch-Blocker auf
- removedstatus: needs-userWartet auf Entscheidung, Test oder Freigabe durch ChristianWartet auf Entscheidung, Test oder Freigabe durch Christian
on Oct 9, 2026
Zielbild
Die Sidebar erhält zwei klar getrennte, aber auf demselben Zustandsmodell beruhende Aufgaben:
Die große Claude-/Codex-Ansicht macht Provider, Konto, Sessions und Aufmerksamkeit eindeutig sichtbar, ohne Informationen doppelt anzuzeigen.
Dieses Issue ist eine Folgearbeit zu #136, #141 und #142. Wo ältere Darstellungsregeln widersprechen, gelten die nachfolgenden, später bestätigten Entscheidungen.
Explizit abgelöste Annahmen aus #136
Scope
1. Verbindliche UI-Spezifikation vor Implementierung
docs/ui/festhalten.2. Eigenständiges Sidebar-Element „Verbindungen“
+-Menü. Dessen erste Ebene zeigt nur Stern, Hostname und Submenü-Chevron; konkrete Aktionen erscheinen erst im Submenü.3. Live-Cockpit-Tree
Verbindliche Hierarchie:
Host → Projekt → PTY-Session → Agent4. Status- und Aufmerksamkeitsdarstellung
prefers-reduced-motionstatisch.5. Einheitliche Claude-/Codex-Kontenansichten
ClaudeoderCodex;6. Account- und Session-Discovery vervollständigen
CLAUDE_CONFIG_DIRundCODEX_HOMEmüssen ein Konto gezielt pinnen können.sessions/*.json-Registryzeilen abhängen:statussowie realeinteractive-/bg-Konversationen werden korrekt klassifiziert;7. Wiederholter Regressionsaudit gegen Referenz-Repos
Vergleich gegen die aktuellen Default-Branches von
claudeplexundclaudeplex-desktop.Jeder Auditlauf beginnt zwingend mit einem frischen Checkout oder
fetchplus Fast-forward-only. Ein lokaler, möglicherweise veralteter Stand ist kein gültiger Benchmark. Für alle drei Repositories werden Branch, Commit-SHA und Audit-Zeitpunkt protokolliert.Auditläufe:
Die Matrix umfasst mindestens:
Jede Zeile enthält: Referenzverhalten, Zaplex-Verhalten, verbleibende Regression, bewusste Abweichung oder Fix, sowie reproduzierbaren Nachweis. Die Referenz-Repos bleiben reine Ideen-/Paritätsquellen; keine Runtime-Abhängigkeit und kein Shell-out.
Nicht-Ziele
Abnahmekriterien
Host → Projekt → PTY-Session → Agent.Zwingende Regressionstests
connections_registry_drives_favorite_launch_menucockpit_excludes_registry_only_hostslocal_sessions_remain_visible_without_remote_connectionsfirst_open_remote_session_adds_one_host_rootlast_open_remote_session_removes_host_rootstale_inventory_cannot_readd_disconnected_hosttree_hierarchy_is_host_project_pty_agenttree_status_is_glyph_onlywaiting_glyph_motion_respects_reduced_motionprovider_is_visible_and_account_identity_is_not_duplicatedneeds_user_session_highlights_the_full_stable_rowaccount_scan_error_is_not_rendered_as_zero_accountslegacy_claude_transcript_without_registry_is_resumableclaude_shell_helper_is_not_a_sessiondormant_history_never_enters_live_treeGates