Files

29 lines
1.3 KiB
Markdown

# Datenmodell
## Laufzeitdaten
Der erste Chat verwendet SQLite mit zwei Tabellen:
- `sessions`: UUID, Erstellungs-/Änderungszeit, Provider und Modell
- `messages`: Sitzungsbezug, feste Reihenfolge, Rolle, Inhalt und Zeitstempel
Nachrichtenrollen sind auf `user` und `assistant` begrenzt. Ein Benutzer-/
Assistentenpaar wird erst nach erfolgreicher Modellantwort in einer Transaktion
gespeichert. Fremdschlüssel und eine eindeutige Nachrichtenposition sichern die
Reihenfolge.
Der Pfad ist über `JAVIS_DATA_DIR` konfigurierbar. Ohne Override wird unter Windows
`%LOCALAPPDATA%\Javis` und unter Linux `$XDG_DATA_HOME/javis` beziehungsweise
`~/.local/share/javis` verwendet. Die Datenbank liegt nie im Repository.
Aufgaben, Freigaben, Toolaufrufe, Erinnerungen und Quelldokumente sind noch nicht
implementiert und werden erst bei einem konkreten Arbeitspaket modelliert.
## Obsidian
Obsidian bleibt die menschlich lesbare Wissensschicht. Ein Link wird nur erzeugt, wenn die Zielnotiz für das Verständnis, die Herkunft, eine Entscheidung oder eine echte Projektbeziehung relevant ist. Graphästhetik allein ist kein Linkgrund.
## Semantischer Index
Der Index ist jederzeit aus Quellen regenerierbar. Er speichert Quellpfad und Änderungszeit, ist nie die einzige Wissenskopie und gehört nicht in Git.