chore: initialize safe Javis project scaffold
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# Architektur
|
||||
|
||||
## Ziel
|
||||
|
||||
Javis beginnt als modularer Monolith. Module besitzen klare Zuständigkeiten und kommunizieren über kleine, typisierte Schnittstellen. Erst reale Betriebsgründe rechtfertigen später separate Dienste.
|
||||
|
||||
## Vorgesehene Ebenen
|
||||
|
||||
1. Interface: CLI, später Sprache, Mobilzugriff und Living Mind.
|
||||
2. Core: Gesprächsablauf, Sitzungszustand und Orchestrierung.
|
||||
3. Providers: austauschbare lokale und optionale Cloud-Modellanbindungen.
|
||||
4. Memory: strukturierte Laufzeitdaten und regenerierbarer semantischer Index.
|
||||
5. Obsidian: zunächst lesender Adapter, später eng begrenzte Entwürfe.
|
||||
6. Tools und Status: feste Schemas, Allowlists, Timeouts und bereinigte Ausgaben.
|
||||
7. Security: Freigaben, Secret-Provider und Berechtigungsprüfung.
|
||||
8. Audit: nachvollziehbare Aktionen ohne geheime Inhalte.
|
||||
|
||||
## Plattformgrenzen
|
||||
|
||||
- Pfade werden später per Konfiguration und `pathlib` aufgelöst.
|
||||
- Betriebssystemspezifische Funktionen liegen hinter Adaptern.
|
||||
- Produktname, Datenpfade und Provider werden zentral konfiguriert.
|
||||
- Laufzeitdaten liegen außerhalb von Git.
|
||||
|
||||
## Noch nicht implementiert
|
||||
|
||||
Es existieren nur Paketgrenzen und Dokumentation. Es gibt keinen Chat, Provider, Speicher, Toolaufruf oder Netzwerkdienst.
|
||||
Reference in New Issue
Block a user