trading-system-docs/tolaria/DATA_MODEL.md

3.6 KiB

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):
    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/freitype 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.