Skip to content

fix(agent): Sessions nach exaktem Host, Provider, Konto und ID auflösen #133

Description

@iret77

fix(agent): Sessions nach exaktem Host, Provider, Konto und ID auflösen

Parent: Zaplex 1.0 Epic #124

Problem und Nutzerauswirkung

Session-IDs können zwischen Konten oder Providern kopiert sein. Eine lose
Suche kann dann das falsche Pane fokussieren oder den falschen Agenten
fortsetzen. Eine laufende, aber lokal nicht auffindbare Session darf nicht
blind dupliziert werden.

Scope

  • Zentraler Session-Key aus Host, Provider, Konto/Config und Session-ID.
  • Bekanntes Pane in jedem Sessionzustand fokussieren.
  • Nur tatsächlich ruhende Session resümieren.
  • Active/Waiting/Monitor ohne lokalisierbares Pane sichtbar als nicht
    verfügbar behandeln.
  • Klick, Row-Menü, Attention-Inbox, Next-Waiting und Slash-/Jump-Einstiege
    verwenden denselben Open-Plan.

Nicht-Ziele

  • Kein cwd-basiertes Matching.
  • Kein Protokoll-Reattach ohne das PTY-Bindungs-Arbeitspaket.

Abhängigkeiten und Referenzen

  • Abhängig vom verlustfreien Startup-Command-Arbeitspaket.
  • Referenziert #110; dauerhaftes Restart-Reattach bleibt fachlich bei der
    Vorgeschichte #116, wird hier aber nicht dupliziert.

Konkrete Abnahmekriterien

  • Keine Cross-Account-, Cross-Provider- oder Cross-Host-Auflösung.
  • Live-Session wird ohne sichere Route niemals dupliziert.
  • Jeder Einstiegspunkt liefert für denselben Snapshot denselben Open-Plan.
  • Nutzer erhält bei fehlender Route eine sichtbare Erklärung.

Zwingende Rot-Tests

  • session_identity_matching_never_crosses_provider_or_account_boundaries
  • terminal_host_matching_never_crosses_local_or_remote_boundaries
  • open_plan_focuses_known_terminal_for_every_session_state
  • open_plan_refuses_to_duplicate_an_unlocated_live_session
  • only_a_dormant_session_can_be_resumed
  • next_waiting_distinguishes_copied_ids_between_accounts
  • row_menu_resolves_copied_id_to_exact_account

Befehlsidee: pure Capability-/OpenPlan-Tests plus Workspace-Lookup mit zwei
gleichen IDs. Rot-Nachweis durch Entfernen je eines Key-Bestandteils.

Dateidomäne und Hotspots

app/src/{cockpit,workspace,terminal/cli_agent_sessions},
crates/zaplex_cockpit/src/{conductor.rs,sessions.rs,*tests.rs}. Hotspot:
Bestandsdaten ohne vollständige Kontoangabe.

Modelle

  • Implementierung: gpt-5.6-sol, Effort high
  • Kritisches Review: gpt-5.6-sol, Effort high

Gates

Kontrollierte Rot-Mutation jedes Identitätsbestandteils und unabhängiges
Routingreview vor Commit. Kein Push, PR, CI, DMG, Tag, Publish oder Release.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions