Skip to content

fix(cockpit): Restlücken aus #160 schließen und ci-batch-Blocker beheben - #537

Merged
iret77 merged 7 commits into
mainfrom
fix/160-cockpit-restluecken
Oct 9, 2026
Merged

iret77 merged 7 commits into
mainfrom
fix/160-cockpit-restluecken

Conversation

@iret77

@iret77 iret77 commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

Inhalt

Restlücken aus #160 nach der Abnahmematrix auf main (0ba54c049). Die vollständige Matrix steht als Kommentar in #160.

Blocker im ci-batch auf main

Der letzte ci-batch auf b813a4759 (Merge von #529) war rot, bevor Cargo-Tests liefen:

Cockpit

  • Die Marke ◆ verwalteter Agents im Session-Baum hatte weder Tooltip noch zugänglichen Namen. Sie bekommt einen lokalisierten Tooltip (DE/EN) mit eigenem Maus-Zustand je Agent.
  • Große Konto-Pane: Jede Reset-Angabe steht direkt unter ihrem Balken (UI-Nachtrag in refactor(cockpit): Sidebar, Verbindungen und Konten entdoppeln #160). Die Opus-/Sonnet-Teillimits erscheinen wie in der Flottenkarte und wie in der Kontodetailansicht von claudeplex-desktop.

Tests

  • stale_inventory_cannot_readd_disconnected_host läuft über den echten RefreshSingleFlight und die Einordnung des Trennungs-Ereignisses statt über fest eingesetzte Generationen. Die Ereignis-Zuordnung ist als remote_refresh herausgezogen; neuer Test connection_changes_invalidate_inflight_scans_but_inventory_changes_do_not.
  • Lokale Baumquelle als local_tree_sessions; neuer Test dormant_account_history_never_enters_local_tree.
  • tree_hierarchy_is_host_project_pty_agent prüft alle vier Ebenen statt nur die PTY-Gruppierung.
  • persisted_cockpit_selection_maps_to_sessions_view (feat(sidebar): KI-Sessions und KI-Konten als eigene Sidebar-Ansichten trennen #504): ein vor feat(sidebar): KI-Sessions und KI-Konten als eigene Sidebar-Ansichten trennen #504 gespeicherter Sidebar-Zustand öffnet den Session-Baum.
  • Zwei neue Belege in specs/parity/cockpit-matrix.json.

Spezifikation

  • PRODUCT §3/§4/§16, TECH §1/§2/§5/§7 und docs/ui/cockpit-sidebar-connections.html (C2, neu T8 und I2) sind nachgezogen. C2 und §3 nennen jetzt auch „Weitere Hosts“ aus dem gemeinsamen Startmenü.
  • specs/GH-160/REFERENCE_AUDIT.md: Stage 9 mit SHA-Ledger und Abgleich der Änderungen seit Stage 8 gegen den Referenzcode.

Prüfung

Prüfung Ergebnis
git diff --check ok
check-no-new-cjk, check-persistent-hover-state ok
check-compact-row-actions ohne ripgrep in Python nachgebildet: besteht. Gegenproben: Hostname außerhalb des flexiblen Slots und fester Slot schlagen fehl
check-v1-release-readiness --phase-a ok
cockpit-parity-audit validate / self-test ok (107 benannte Tests, 9 Szenarien / 28 Fälle)
rustfmt --check der geänderten Dateien sauber. pane.rs hat einen bestehenden Formatierungsunterschied in der Kontenliste, nicht aus diesem PR
Codex-Zweitreview, read-only ein Befund (Guard-Muster zu weit), behoben in 4f25d91ee
Compile, Clippy, Rust-Tests, Mutationen, Screenshots nicht gelaufen, keine lokalen Builds. Stehen im nächsten gebündelten ci-batch aus

Bewusst nicht enthalten

Refs #160, #504, #505, #459, #169


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

iret77 added 7 commits October 9, 2026 18:31
Seit #529 umschließt ein Tooltip mit dem vollen Titel den Hostnamen in
der Cockpit-Hostzeile. Der Hostname besitzt weiter die flexible Breite,
das Muster in check-compact-row-actions erwartete aber identity_text als
direktes Kind von Shrinkable. Dadurch scheiterte der ci-batch auf b813a47
an dieser Prüfung, bevor Cargo lief.

Das Muster lässt jetzt den Tooltip-Wrapper zu. Ein Hostname außerhalb des
flexiblen Slots schlägt weiterhin fehl.
ordinary_command_input_is_ready war nur unter cfg(test) definiert, wird seit
#521 (#469) aber in TerminalView::offer_file_manager_directory im Produktcode
aufgerufen. cargo check scheiterte daher im ci-batch auf b813a47 mit E0599.
- Die Marke ◆ verwalteter Agents im Session-Baum hatte weder Tooltip noch
  zugänglichen Namen. Sie bekommt einen lokalisierten Tooltip mit eigenem
  Maus-Zustand je Agent, wie das Status-Glyph (PRODUCT §11, Befund aus #459).
- Die große Konto-Pane zeigte beide Resets in einer gemeinsamen Zeile unter
  den Balken. Jetzt steht jede Reset-Angabe direkt unter ihrem Balken, bündig
  mit dessen Spur (UI-Nachtrag in #160, Referenz premium-workspace.html).
  Die Flottenkarte behält ihre gemeinsame Zeile.
- PRODUCT §3/§4/§16, TECH §1/§2/§5 und cockpit-sidebar-connections.html
  (C2, neu T8 und I2) sind nachgezogen. C2 und §3 nennen jetzt auch das
  Untermenü „Weitere Hosts“ aus dem gemeinsamen Startmenü.
…härfen

- stale_inventory_cannot_readd_disconnected_host prüfte die Generationssperre
  nur mit fest eingesetzten Zahlen. Der Test läuft jetzt über den echten
  RefreshSingleFlight und die Einordnung des HostDisconnected-Ereignisses.
  Dafür ist die Ereignis-Zuordnung als remote_refresh herausgezogen; der
  neue Test connection_changes_invalidate_inflight_scans_but_inventory_changes_do_not
  sichert, dass Verbindungswechsel laufende Scans verwerfen und reine
  Inventaränderungen nicht.
- dormant_history_never_enters_live_tree prüft nur die Trennung im Scan. Die
  lokale Baumquelle ist jetzt local_tree_sessions; der neue Test
  dormant_account_history_never_enters_local_tree belegt, dass ruhende
  Claude-/Codex-Historie eines Kontos nicht in den Live-Baum gelangt.
- tree_hierarchy_is_host_project_pty_agent deckte nur PTY-Gruppierung ab und
  läuft jetzt über alle vier Ebenen Host, Projekt, PTY-Session und Agent.
- persisted_cockpit_selection_maps_to_sessions_view (#504) liest einen vor
  #504 gespeicherten Sidebar-Zustand und belegt, dass er den Session-Baum
  öffnet und die Kontenansicht einen eigenen Namen hat.
- Die beiden neuen Cockpit-Tests sind Belege der Paritätsmatrix.
Die Kontodetailansicht von claudeplex-desktop zeigt neben 5 h und Woche
die wöchentlichen Opus-/Sonnet-Teillimits, sobald der Usage-Endpunkt sie
liefert. Zaplex zeigte sie nur in der Flottenkarte, nicht in der Pane
eines einzelnen Kontos. Gefunden im Paritätsabgleich Stage 9 (#160).
PRODUCT §16, TECH §5 und #spec I2 sind nachgezogen.
- REFERENCE_AUDIT.md: neue Stage 9 mit SHA-Ledger (Zaplex 0ba54c0,
  claudeplex 8c2041ff6, claudeplex-desktop 8c0aad0a9, synchronisiert am
  2026-10-09T16:21:43Z) und Abgleich der Änderungen seit Stage 8 gegen den
  Referenzcode, einschließlich behobener Lücken und offener Punkte mit
  eigenem Issue.
- TECH §7 nennt die neuen Prüfstellen.
Das erste angepasste Muster ließ mit [^;]*? auch Text hinter dem Ende des
Tooltip-Aufrufs zu. Ein Hostname, der als Geschwister außerhalb des
flexiblen Slots steht, wäre so durchgerutscht (Befund aus dem
Codex-Zweitreview). Zwischen Tooltip-Aufruf und identity_text sind jetzt nur
Zeichen ohne Klammern oder einfach geklammerte Ausdrücke erlaubt. Geprüft:
aktueller Header passt, verschobene Identität und fester Slot schlagen fehl.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant