include/ definiert die öffentlichen C++-Verträge von ThemisDB.
Die Implementierungen liegen in src/; diese Ebene beschreibt bewusst nur API-/ABI-relevante Schnittstellen.
- stabile Header-Oberflächen für Consumer (
include/<modul>/...) - eindeutige Trennung zwischen öffentlichem Vertrag (
include/) und Implementierungsdetails (src/) - modulweise Navigation über Unterordner (
ai,api,query,storage,llm,graph,rag, ...)
| Surface | Ort |
|---|---|
| Öffentliche Modulverträge | include/<module>/ |
| Feature-nahe Unterflächen | z. B. include/llm/attention/, include/server/rpc/, include/query/functions/ |
| Header-Bezug in Build/Test | tests/CMakeLists.txt (include_directories(... include ...)) |
| Packaging-Ziel | Root-CMakeLists.txt (include/ als SDK-Header-Ziel im Runtime-Layout) |
Das strategische Ziel aus ../FUTURE_PLAN.md (ANN Frontdoor → Tensor Mid-Layer → Graph Truth Layer → LLM/LoRA Final Layer) wird hier als Vertragsgrenze abgebildet:
- ANN-/Search-nahe Verträge:
include/index/,include/search/ - Tensor-/Training-/Inference-nahe Verträge:
include/tensor/,include/training/,include/llm/ - Graph-/Query-/Truth-nahe Verträge:
include/graph/,include/query/ - Final-Layer-/Orchestrierungsverträge:
include/llm/,include/rag/,include/ai/
Diese Zuordnung dokumentiert Schichten und Verantwortungen, ohne eine bereits vollständige Endzustands-Implementierung zu behaupten.
- keine Spezifikation privater Implementierungsdetails aus
src/ - keine Duplizierung von Modul-Roadmaps
- keine Annahme, dass alle strategischen Layer bereits vollständig verdrahtet sind
- Verifiziert:
include/README.mdtests/CMakeLists.txt(Header-Einbindung)CMakeLists.txt(Kommentar zuinclude/als SDK-Header-Ziel)- Verzeichnisstruktur unter
include/(modulweise Header-Verträge)