81 lines
3.6 KiB
Markdown
81 lines
3.6 KiB
Markdown
# 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/<vault-hash>.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: <Typ>
|
|
title: <Titel>
|
|
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.
|