ROADMAP: Phase 6 als erledigt markiert

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Eddy 2026-04-14 13:05:59 +02:00
parent abaf4eb9bf
commit a984a21cfb

View file

@ -30,6 +30,7 @@ Stand: 14.04.2026
| **Subagent-Hierarchie (Phase 5)** | ✅ | 6cfcdb2 | | **Subagent-Hierarchie (Phase 5)** | ✅ | 6cfcdb2 |
| **System-Monitor (Phase 16)** | ✅ | adb11fd | | **System-Monitor (Phase 16)** | ✅ | adb11fd |
| **UI: Code-Copy, Edit, Regenerate (Phase 7)** | ✅ | 9d837ef | | **UI: Code-Copy, Edit, Regenerate (Phase 7)** | ✅ | 9d837ef |
| **Session-Management (Phase 6)** | ✅ | abaf4eb |
--- ---
@ -65,54 +66,32 @@ Stand: 14.04.2026
--- ---
## Phase 6: Session-Management Verbesserungen ## Phase 6: Session-Management Verbesserungen ✅ ERLEDIGT
### Problem > **Commit:** abaf4eb (14.04.2026)
1. Session wird nur geladen wenn SessionList-Panel sichtbar ist
2. `agentId` geht bei DB-Speicherung verloren
3. Kein Compacting — alte Sessions werden unbegrenzt gross
4. `claude_session_id` wird nicht fur SDK-Fortsetzung genutzt
### Aufgaben ### Implementiert
- [ ] **src/routes/+layout.svelte** - ✅ **Session Auto-Load bei App-Start**
- [ ] Session-Auto-Load bei App-Start (nicht nur in SessionList) - `+layout.svelte` lädt aktive Session in `onMount`
```typescript - Session-Stats werden wiederhergestellt (Tokens, Kosten)
onMount(async () => { - Nachrichten aus DB geladen
const active = await invoke('get_active_session');
if (active) {
currentSessionId.set(active.id);
const messages = await invoke('load_messages', { sessionId: active.id });
setMessagesFromDb(messages);
}
});
```
- [ ] **src-tauri/src/db.rs** - ✅ **agent_id in messages-Tabelle**
- [ ] `agent_id` Spalte in `messages` Tabelle - `ChatMessage` Struct erweitert
- [ ] Migration fur bestehende Daten - DB-Schema enthält `agent_id` Spalte
- [ ] `compact_session(session_id, keep_last_n)` Funktion - `DbMessage` Interface angepasst
- [ ] `archive_messages(session_id, before_timestamp)` Funktion
- [ ] **src/lib/stores/app.ts** - ✅ **Session-Compacting**
- [ ] `DbMessage` Interface: `agent_id?: string` - `compact_session(session_id, keep_last)` Funktion
- [ ] `messageToDb()` anpassen - Fasst alte Nachrichten in Summary zusammen
- Standard: 30 letzte Nachrichten behalten
- Tauri Command registriert
- [ ] **Compacting-Logik** ### Noch offen (niedrigere Priorität)
- [ ] Bei > 50 Nachrichten: Altere zusammenfassen
- [ ] Summary-Nachricht: "Bisheriger Kontext: ..."
- [ ] Original-Nachrichten in `messages_archive` Tabelle
- [ ] **Claude-Session-ID nutzen** - [ ] **Claude-Session-ID nutzen** — SDK-Fortsetzung mit `--resume`
- [ ] Bei `send_message`: Session-ID an SDK ubergeben - [ ] **Automatisches Compacting** — Trigger bei > 50 Nachrichten
- [ ] `--resume` Flag nutzen fur Fortsetzung
### Verifikation
```bash
# App starten → Letzte Session automatisch geladen (ohne SessionList)
# 100 Nachrichten senden → Compacting aktiv
# App beenden → Neu starten → Exakt gleicher Stand
```
--- ---
@ -1255,3 +1234,4 @@ CARGO_TARGET_DIR=/tmp/claude-desktop-target nix-shell --run "npx tauri build"
| 14.04.2026 | 6cfcdb2 | **Phase 5:** Subagent-Hierarchie | | 14.04.2026 | 6cfcdb2 | **Phase 5:** Subagent-Hierarchie |
| 14.04.2026 | adb11fd | **Phase 16:** System-Monitor | | 14.04.2026 | adb11fd | **Phase 16:** System-Monitor |
| 14.04.2026 | 9d837ef | **Phase 7:** UI Code-Copy, Edit, Regenerate | | 14.04.2026 | 9d837ef | **Phase 7:** UI Code-Copy, Edit, Regenerate |
| 14.04.2026 | abaf4eb | **Phase 6:** Session-Management, Auto-Load, Compacting |