feat: add session titles and migration

This commit is contained in:
2026-07-30 19:42:32 +02:00
parent 00a5a6ce8c
commit 112ae6d1da
5 changed files with 227 additions and 25 deletions
+9 -9
View File
@@ -116,7 +116,8 @@ Rootserver:
- plattformunabhängige Pfade und zentrale Konfiguration
- Modell-Provider als kleine austauschbare Schnittstelle
- Ollama-Provider akzeptiert nur lokale HTTP-Loopback-Adressen
- SQLite-Sitzungsspeicher mit atomaren Benutzer-/Assistentenpaaren
- SQLite-Sitzungsspeicher mit atomaren Benutzer-/Assistentenpaaren, neutralem
Starttitel, lokaler sicherer Titelerzeugung und zuletzt genutztem Provider
- Streaming wird erst nach vollständigem Abschluss atomar gespeichert; bei Abbruch
bleibt weder die Benutzerfrage noch eine unvollständige Antwort im Verlauf.
- Laufzeitdaten außerhalb von Git über `JAVIS_DATA_DIR` oder sicheren Plattformstandard
@@ -169,7 +170,8 @@ Rootserver:
- Lesender Ollama-Status prüft nur Loopback-Erreichbarkeit und Modellliste.
- Sicheres PowerShell-Startskript und kompakte Startdokumentation ergänzt; keine
PATH-, Registry-, Autostart-, Dienst- oder Richtlinienänderung.
- Medizinische Inhalte vor Cloudclient-Erstellung strikt auf `never` gesetzt.
- Medizinische Inhalte vor Cloudclient-Erstellung strikt auf `never` gesetzt;
bestehende SQLite-Daten transaktional und wiederholbar um Titel/Provider migriert.
- Echtes Ollama-/Gemini-Streaming, providerübergreifendes Fallback vor der ersten
Ausgabe und sicheren Streaming-Abbruch nach Teilausgabe implementiert.
- CLI-Streaming mit lesbarer Markdown-Bereinigung und sicherem Strg+C ergänzt.
@@ -187,8 +189,8 @@ Letzter bestätigter Projektstand:
- uv-Lock und `uv sync --dev`: bestanden
- Python in `.venv`: 3.12.13
- Ruff in `.venv`: 0.16.0
- Unit-Tests: 82 bestanden; medizinisches `never`, Streaming, Gedankenfilter,
Cloudclient-Sperre, Fallback und atomarer Strg+C-Abbruch abgedeckt
- Unit-Tests: 85 bestanden; zusätzlich Titelbildung und verlustfreie,
idempotente Migration alter SQLite-Datenbanken abgedeckt
- PowerShell-Syntax des Startskripts: erfolgreich geparst
- Ruff Lint: bestanden
- Ruff Formatprüfung: bestanden
@@ -233,14 +235,12 @@ Abnahmestatus:
- aktueller Arbeitsbranch: `feat/chat-comfort`
- stabiler Ausgangsstand: `main` bei `77b510b`
- medizinischer Datenschutz-Fix: `9148193`
- Provider- und CLI-Streaming: `00a5a6c`
- Feature-Branch ist als `7a14fe8` zu
`origin/feat/gemini-privacy-router` gepusht
- konfliktfreier Merge nach `main`: `564a3fd`
- 66 Unit-Tests, Ruff und Strukturprüfung auf dem gemergten `main` bestanden
- `main` erfolgreich zu `origin/main` gepusht; Remote-Tracking ist synchron
- Grundgerüstcommit: `6d04171`
- letzter Commit vor der Handoff-Verdichtung: `0e82748`
- Handoff-Verdichtung auf `main`: `e6eb995`
- Python-Entwicklungsumgebung auf dem Feature-Branch: `fa90a5c`
- Laufzeit-/Modelldokumentation: `10d7cd7`
- Chatkern und CLI: `ec9b2f9`
@@ -289,8 +289,8 @@ Abnahmestatus:
## Nächster sinnvoller Auftrag
Auf `feat/chat-comfort` als Nächstes SQLite-Titelmigration, lokale automatische
Titel sowie `/rename`, `/sessions`, `/load` und `/search` umsetzen.
Auf `feat/chat-comfort` als Nächstes `/rename`, nummerierte `/sessions`,
`/load` per Nummer/ID-Präfix und `/search` umsetzen.
Medizinische Antwortqualität bleibt ein späteres Sicherheits-/Systemprompt-Thema.
Noch keine Obsidian-Integration oder Tools beginnen.