# Tolaria — Data Model **Datum:** 2026-08-24/25 · **Autor:** Red Queen · **Modus:** READ-ONLY --- ## 1. Speicherarchitektur Tolaria verwendet **kein klassisches DB-Schema** (keine SQLite/Postgres-Tabellen für Wissen). Der Wissensbestand ist ein **Git-basierter Markdown-Vault** unter `/app/vault/`. | Schicht | Ort | Zweck | |---------|-----|-------| | **Vault (Wissen)** | `/app/vault/` | Git-versionierte `.md`-Dateien; Source of Knowledge | | **Cache** | `~/.laputa/cache/.json` | Vault-Index außerhalb des Vaults (ADR-0024) | | **App-Config/Settings** | `~/.config/com.laputa.app/` | App-Einstellungen (ADR-0004, ADR-0177) | > **EVIDENCE:** ADRs 0004, 0024, 0177; Vault-Liste `/api/vault/list`. > **INFERENCE:** Der Vault ist das primäre Speichermedium; App-Settings und Cache sind sekundär und nicht Teil des Wissens. --- ## 2. Dateiformat - **Markdown** (`.md`) - **YAML-Frontmatter** (optional, bei organisierten/typisierten Notizen): ```yaml type: title: tags: [tag1, tag2] created: YYYY-MM-DD _organized: true ``` - **Wikilinks** `[[note-name]]` (Beziehungen, werden dynamisch erkannt) - System-Eigenschaften im Frontmatter mit `_`-Präfix (z. B. `_organized`, `_icon`) --- ## 3. Entity-/Typmodell (abgeleitet aus tatsächlichen Daten) Im aktuellen Bestand vorgefundene `type`-Werte: | `type` | Beispiel | Anmerkung | |--------|----------|-----------| | `Start` | `notes/start.md` | Vault-Home | | `Projekt` | `notes/projects/projekte.md` | Projekt-Hub | | `Bereich` | `notes/trading/trading.md` | Themenbereich | | `Agent` | `notes/ai-agents/ai-agents.md` | Agent-Übersicht | | `Referenz` | `notes/reference/vps-infrastruktur.md` | Referenz/Infra | | `Note` | `notes/trading/second-brain/Phase10c_Slippage_Deterministic.md` | Allgemeine Notiz | | `ADR` | `docs/adr/*.md` (App-intern) | Architecture Decision Record | | `Trading-Modul-System` | `system-docs/README.md` | Organisierte Systemdoku | > **INFERENCE:** Das Typmodell ist **dynamisch/frei** — `type` ist ein Freitext-Frontmatter-Feld, kein festes Enum. Die Hubs sind typisiert, die Root-Modul-Dokus sind **nicht** typisiert (kein Frontmatter). > **UNKNOWN:** Ob weitere Typen im ADR-/Schema-Code fix definiert sind (nur aus Vault-Daten ableitbar, nicht aus dem Produktcode ohne Source-Read). --- ## 4. Beziehungen - **`[[wikilinks]]`** werden dynamisch als Relationships erkannt (ADR-0010 "Dynamic Links"). - **Frontmatter-Relationship-Felder** (`belongsTo`, `relatedTo`, `isA`) existieren im Entry-Endpunkt, sind aber im aktuellen Bestand **nicht belegt** (Module haben `relatedTo=[]`). - **Ist-Zustand:** Nur Hub-Notizen (`start`, `trading`, `ai-agents`) sind untereinander verlinkt. Die 19 Modul-Module sind untereinander **komplett unvernetzt** (keine Wikilinks). --- ## 5. Indizes / Constraints - Kein explizites DB-Schema, keine SQL-Constraints. - Git-Commit-Historie = impliziter Versions-/Änderungs-Index. - Vault-Cache-Index (ADR-0024) für schnelle Listen/Suche. - Frontmatter `_organized: true` markiert organisierte/typisierte Dateien. --- ## 6. Source / Timestamps - **Erstell-/Freigabe-Daten** stehen im Markdown-Body (z. B. `FREIGEGEBEN (20.08.2026)`) oder Frontmatter (`created:`). - **Root-Import-Zeitstempel:** Dateien im Vault-Root tragen eine einheitliche Batch-Mtime (`2026-08-22 18:21`) → Import-Zeitpunkt, nicht echter Inhalt. - **Git-Historie** des Repos `trading-system-docs` liefert versionierte Wahrheit. > **INFERENCE:** `created` ist Frontmatter-datiert; `modified` ist über die einheitliche Root-Mtime nicht je Datei verlässlich. Aktualität ist am ehesten aus Body-Datumsangaben und Git-Historie ablesbar.