Files
Jarvis-Ai/docs/PROJECT_STATUS.md
T

138 lines
7.2 KiB
Markdown

# Projektstatus
Stand: Desktop-MVP automatisiert und mit lokalem Modell geprüft, 30.07.2026.
## Erreicht
- Projekt- und Vault-Pfade lesend bestätigt
- Sicherheits- und Architekturgrenzen dokumentiert
- plattformunabhängige Paketstruktur vorbereitet
- Obsidian-Linkregel als verbindliche Entscheidung dokumentiert
- Living-Mind-Bereich als inaktiver Vertrag vorbereitet
- projektinterne Codex-Agentensyntax anhand der aktuellen offiziellen Codex-Dokumentation geprüft
- phasenbezogene Werkzeug- und Plugin-Empfehlungen sowie tokenbewusste Arbeitsregeln dokumentiert
- vollständigen Erst-Handoff archiviert und kompakte laufende Übergabe eingeführt
- uv 0.11.32 und CPython 3.12.13 isoliert unter `D:\Javis-Tools` installiert
- lokale `.venv`, reproduzierbares `uv.lock` und Ruff 0.16.0 eingerichtet
- offizielle VS-Code-Erweiterungen Python, Pylance und Python Environments installiert
- Ollama 0.32.5 portabel und ohne Systemänderungen unter `D:\Javis-Tools` installiert
- `qwen3:8b` (Q4_K_M, 5,2 GB, Apache-2.0) unter `D:\Javis-Data` geladen
- zwei echte deutsche Modellantworten erfolgreich vollständig auf der RTX 3060 erzeugt
- kalter Test 36,19 s, warmer Kurztest 0,56 s; geladene GPU-Belegung 6.842 MiB
- lokaler Ollama-Provider, zentrale Konfiguration und SQLite-Sitzungsspeicher implementiert
- CLI streamt Antworten und unterstützt `/new`, nummerierte `/sessions`,
`/load <NR|ID>`, `/search`, `/rename`, `/clear`, `/help` und `/exit`
- bestehende SQLite-Datenbanken werden automatisch, transaktional und
wiederholbar um Sitzungstitel und zuletzt verwendeten Provider migriert
- lokale Titelbildung ohne Modellaufruf; offensichtliche Secrets und medizinische
Inhalte werden nicht wörtlich in automatische Titel übernommen
- echte CLI-Modellantwort sowie Laden und Fortsetzen derselben Sitzung in einem
neuen Prozess bestätigt
- 101 Tests, Ruff, Struktur-, Gitignore-, Secret- und Auditprüfung erfolgreich
- lokaler Core-Chat am 30.07.2026 zusätzlich von Pascal manuell erfolgreich
geprüft: deutsche Antworten, Sitzungskontext, `/sessions`, `/exit`, Neustart,
`/load <UUID>`, vollständiger Verlauf und Fortsetzung
## Abnahmestatus
- Core-Chat automatisiert durch Codex getestet: ja
- Core-Chat manuell durch Pascal getestet: ja, am 30.07.2026
- Gemini/Datenschutz/Fallback automatisiert durch Codex getestet: ja
- Gemini/Datenschutz/Fallback manuell durch Pascal getestet: ja, am 30.07.2026
- für Merge freigegeben: ja, nach den zwei kleinen Korrekturen
- für produktive Nutzung freigegeben: nicht separat erklärt; keine spätere Tool-,
Obsidian- oder Autonomiefunktion
## Chatkomfort-Meilenstein
- Branch `feat/chat-comfort`
- Ollama und Gemini verwenden denselben optionalen Streamingvertrag; Provider
ohne Streaming bleiben kompatibel
- keine versteckten Gedanken; Terminal-Markdown wird lesbar bereinigt
- vollständige Antwort wird genau einmal gespeichert; Strg+C und Streamfehler
hinterlassen keine unvollständige Nachricht
- medizinische Fragen werden vor jeder Cloudclient-Erstellung zwingend `never`
- Sitzungsliste zeigt Nummer, kurze ID, Titel, Datum, Nachrichtenanzahl und Provider
- Laden per letzter Listennummer oder eindeutigem ID-Präfix; Mehrdeutigkeit wird erklärt
- Suche ist auf 20 Ergebnisse begrenzt, parametrisiert und durchsucht nur Titel
sowie Benutzernachrichten
- echter Ollama-CLI-Streaming-/Neustart-Smoke und echter kleiner
Gemini-Streaming-Smoke mit öffentlichem Inhalt erfolgreich
## Gemini-/Datenschutz-Meilenstein
- Branch `feat/gemini-privacy-router`
- offizielle Gemini-Rahmenbedingungen geprüft; Standardmodell `gemini-3.6-flash`
- `keyring` 25.7.0 mit Windows Credential Locker als normalem Secret-Speicher
- verdeckte Secret-Befehle `set`, `status` und `delete`
- lokaler Datenschutzrouter mit `allowed`, `ask` und nicht übersteuerbarem `never`
- minimale Cloud-Kontextauswahl schließt sensible Verlaufsteile aus
- konservative Nullkosten-Defaults und harte lokale Tages-, Größen-, Timeout-
und Retry-Grenzen
- separates SQLite-Provider-Audit speichert nur Metadaten, keine Inhalte
- isolierter Gemini-Provider mit offiziellem `google-genai` 2.16.0, API `v1`,
begrenztem Timeout, höchstens einem Retry und keinem 429-Retry
- bereinigte, getrennte Fehler für fehlenden/ungültigen Key, Quote, Netzwerk,
Modellverfügbarkeit, Timeout und ungültige Antwort
- Hybridrouter erzwingt vor Cloudaufrufen lokal `allowed`/`ask`/`never`,
Aktivierung, Billing-Bestätigung, Tages-/Größenlimit und minimierten Kontext
- sichtbares lokales Fallback für fehlenden/ungültigen Key, 429, Netzwerk,
Datenschutz und lokale Grenzen; alte Ollama-Sitzungen bleiben ladbar
- lokale nicht geheime TOML-Konfiguration außerhalb von Git; konservativer
Erzeuger überschreibt keine vorhandene Datei
- `javis configure gemini` mit doppelter ausdrücklicher Bestätigung
- echter Chat auf Hybridprovider verdrahtet; Key wird verzögert geladen
- `/provider`, `/privacy` und `/status` geben keine Inhalte oder Keywerte aus
- allgemeine unpersönliche Technikbegriffe werden gezielter `allowed`, während
persönliche, interne oder geheime technische Inhalte `ask`/`never` bleiben
- `/privacy` trennt lokalen Modus von einem technischen Provider-Fallback
- sicheres `scripts/start-javis.ps1` mit relativer Repositoryprüfung,
Loopback-Ollama und überschreibbaren externen Pfaden
- 91 Unit-Tests aktuell erfolgreich; PowerShell-Syntax, Lockfile, Sync,
Strukturprüfung, Secret-Scan, Gitignore, Ruff-Format und Lint sauber
## Nicht implementiert
Obsidian-Adapter, Tools, Serverzugriff, Sprache, Mobile Client,
Living-Mind-Frontend.
## Desktop-MVP
- PySide6-Client verwendet Runtime, Chatservice, Hybridprovider, Datenschutz,
SQLite, Audit und Secret-Provider des bestehenden Kerns
- Sitzungen, Suche, Umbenennen, Markdown, Streaming, Abbruch, Modus,
Dreifach-Freigabedialog und bereinigter Status implementiert
- `uv run javis gui` und `scripts/start-javis-gui.ps1` vorhanden
- Qt-Offscreen-Start und echter lokaler Ollama-GUI-Smoke bestanden
- automatisiert durch Codex getestet: ja
- echter lokaler GUI-Smoke durch Codex: ja; 1 Sitzung, 2 Nachrichten, Ollama
- manuell durch Pascal abgenommen: noch nicht
## Git
- aktueller Branch: `feat/desktop-ui`
- Desktop-Basis: `main` bei `d3e85f2`
- GUI-Grundgerüst: `1658e04`
- Sitzungen/Streaming/Datenschutz: `cf35148`
- Tests/Startskript/Dokumentation: `571969b`
- `feat/desktop-ui` zu Gitea gepusht und synchron verifiziert
- Basis: `main` bei `77b510b`
- medizinisches Routing: `9148193`
- Streaming: `00a5a6c`
- Titelmigration: `112ae6d`
- Sitzungsnavigation: `43c1f76`
- Dokumentation: `328dcd9`
- Feature-Branch zu `origin/feat/chat-comfort` gepusht
- Merge nach `main`: `cbba102`; 91 Tests und Ruff auf `main` erneut bestanden
- `main` bis `3361eae` zu `origin/main` gepusht und synchron verifiziert
- vorheriger Gemini-/Datenschutz-Merge auf `main`: `564a3fd`
## Bekannte Einschränkung
Das Startskript startet Ollama bei Bedarf lokal. Eine Löschfunktion ist nicht
Bestandteil dieses Pakets.
`qwen3:8b` ist nicht automatisch für die GTX 1050 des späteren Zielhosts geeignet.
Der Gemini-Key liegt ausschließlich im Betriebssystem-Keyring; sein Wert wurde
von Codex weder gelesen noch ausgegeben. Pascal hat den echten Cloud- und
Fallbackablauf erfolgreich geprüft.