-
Notifications
You must be signed in to change notification settings - Fork 1
Architecture CONTENT MODEL
docs > CONTENT_MODEL Datum: 2026-03-11 Status: stable Primary (Quelle der Wahrheit):
src/README.mdinclude/README.mdexamples/README.mddocs/_standards/DOC_TEMPLATE.mddocs/_standards/doc_header.schema.yml
Bezug / Reference:
- Issue: [META] Dokumentationssystem: Primary β Secondary β Compendium
- Kontext: Dieses Dokument beschreibt das dreistufige Dokumentationsmodell von ThemisDB.
ThemisDB verwendet ein dreistufiges Dokumentationsmodell: Primary Docs (Quellcode-nah in src/, include/, examples/) β Secondary Docs (mehrsprachig, nutzerorientiert in docs/de/, docs/en/) β Compendium (kurierte Gesamtschau in compendium/). PrimΓ€re Docs sind die einzige βSource of Truth". Drift zwischen den Stufen ist gewollt sichtbar.
- Problem: Dokumentation war ΓΌber viele Verzeichnisse verstreut ohne klares Modell, wer welchen Inhalt βbesitzt" und wie Γnderungen flieΓen.
- Ziel: Ein reproduzierbares, wartbares Dokumentationssystem mit klaren Verantwortlichkeiten und automatisierter Drift-Erkennung.
- Nicht-Ziele: VollstΓ€ndige Neuschreibung aller Inhalte; groΓe API/Feature-Γnderungen.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PRIMΓR (Source of Truth) β
β src/** Β· include/** Β· examples/** β
β README.md Β· ARCHITECTURE.md Β· ROADMAP.md Β· CHANGELOG.md β¦ β
β β Implementierungsnah, darf "driften" um Stale-Docs zu zeigen β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
β ableiten / ΓΌberfΓΌhren
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SEKUNDΓR (Nutzerorientierte ErklΓ€rung) β
β docs/de/** Β· docs/en/** Β· docs/fr/** β¦ β
β Jede Datei hat: Breadcrumb Β· Datum Β· Status Β· Primary-Quelle β
β Status: draft β review β stable | drifting | stale | archived β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
β kuratieren / zusammenstellen
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β COMPENDIUM (Whitebook / PDF) β
β compendium/docs/** β
β Kapitel Β· AnhΓ€nge Β· Glossar β
β β Abgeleitet aus PrimΓ€r + SekundΓ€r + examples/** β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Speicherort: src/<modul>/, include/<modul>/, examples/<modul>/
Dateitypen:
| Dateiname | Zweck |
|---|---|
README.md |
Modul-Γbersicht, API-Einstieg |
ARCHITECTURE.md |
Interne Designentscheidungen |
ROADMAP.md |
Geplante Features, Phasen |
CHANGELOG.md |
Versionshistorie |
FUTURE_ENHANCEMENTS.md |
Langfristige Ideen |
Konventionen:
- Jede Datei reprΓ€sentiert implementierungsnahe Wahrheit.
- Bewusstes βDriften" ist erlaubt β veraltete Primary Docs zeigen an, was ΓΌberarbeitet werden muss.
- Ein automatisiertes Inventar wird generiert:
docs/_generated/primary_index.json(viatools/primary_docs_indexer.py).
Inventar aktualisieren:
python3 tools/primary_docs_indexer.py --repo-root . --output docs/_generated/primary_index.jsonSpeicherort: docs/de/<modul>/, docs/en/<modul>/, β¦
Sprachen:
| Verzeichnis | Status |
|---|---|
docs/de/ |
π©πͺ PrimΓ€rsprache (autoritativ) |
docs/en/ |
π¬π§ VollstΓ€ndige Γbersetzung |
docs/fr/ |
π«π· In Entwicklung |
docs/es/ |
πͺπΈ In Entwicklung |
Pflicht-Header (jede Datei in docs/de/ und docs/en/):
[docs](https://github.com/makr-code/ThemisDB/blob/develop/index.md) > [de](https://github.com/makr-code/ThemisDB/blob/develop/docs/index.md) > [<modul>](https://github.com/makr-code/ThemisDB/blob/develop/docs/architecture/index.md) > [<doc_kind>](https://github.com/makr-code/ThemisDB/blob/develop/docs/architecture/<doc_kind>.md)
**Datum:** YYYY-MM-DD
**Status:** draft | review | stable | deprecated | archived
**Primary (Quelle der Wahrheit):**
- `src/<modul>/README.md`
**Bezug / Reference:**
- Issue/PR: #<id>
- Kontext: <1 Satz warum diese Doku existiert>doc_kind Werte:
-
architectureβ Designentscheidungen, interne Architektur -
featureβ Feature-Beschreibungen fΓΌr Endnutzer -
howtoβ Schritt-fΓΌr-Schritt-Anleitungen -
referenceβ API-Referenz, Parameter-Listen -
roadmapβ Geplante Entwicklung -
troubleshootingβ Fehlerdiagnose -
faqβ HΓ€ufige Fragen
Status-Bedeutungen:
| Status | Bedeutung |
|---|---|
draft |
Entwurf, noch nicht ΓΌberprΓΌft |
review |
In ΓberprΓΌfung |
stable |
GeprΓΌft, aktuell |
deprecated |
Veraltet, wird bald entfernt |
archived |
Archiviert, nur noch historisch relevant |
ZusΓ€tzlich wird vom Drift-Detektor automatisch erkannt:
| Status | Drift-Erkennung |
|---|---|
drifting |
Secondary-Doc ist Γ€lter als 90 Tage relativ zur Primary-Quelle |
stale |
Secondary-Doc ist Γ€lter als 180 Tage relativ zur Primary-Quelle |
Speicherort: compendium/docs/
Struktur:
compendium/docs/
βββ cover.md # Titelseite
βββ preface.md # Vorwort
βββ chapter_00_genesis.md # Ursprung und Vision
βββ chapter_01_introduction.md # EinfΓΌhrung
β ...
βββ chapter_42_*.md # Spezialisierte Themen
βββ appendix_d_feature_status.md
βββ appendix_e_incident_runbooks.md
βββ appendix_f_aql_cheatsheet.md
βββ appendix_g_configuration.md
βββ appendix_h_glossary.md
βββ appendix_i_troubleshooting.md
Build:
# MkDocs-basierter Compendium-Build
mkdocs build --config-file compendium/mkdocs-compendium.yml
# Oder mit dem Skript (inkl. PDF-Optimierung):
bash scripts/build_compendium_pdf.shDatei: src/<modul>/README.md (oder ARCHITECTURE.md, ROADMAP.md, β¦)
# Modulname
Kurze Beschreibung des Moduls.
## Features
- Feature A
- Feature B
## API
...python3 tools/primary_docs_indexer.pyErgebnis: docs/_generated/primary_index.json enthΓ€lt den neuen Eintrag.
Datei: docs/de/<modul>/architecture.md
[docs](https://github.com/makr-code/ThemisDB/blob/develop/index.md) > [de](https://github.com/makr-code/ThemisDB/blob/develop/docs/index.md) > [<modul>](https://github.com/makr-code/ThemisDB/blob/develop/docs/architecture/index.md) > [architecture](https://github.com/makr-code/ThemisDB/blob/develop/docs/architecture/architecture.md)
**Datum:** 2026-03-11
**Status:** draft
**Primary (Quelle der Wahrheit):**
- `src/<modul>/ARCHITECTURE.md`
**Bezug / Reference:**
- Issue: #<id>
- Kontext: Architektur-Dokumentation fΓΌr <modul>
---
## TL;DR
...python3 scripts/doc-header-check.py --mode allpython3 scripts/drift-detector.pyFalls relevant: compendium/docs/chapter_<n>_<modul>.md anpassen oder neu erstellen.
Der Pull Request durchlΓ€uft automatisch:
-
docs-lintβ Markdown-Linting -
link-checkβ Interne Links -
toc-validationβ Navigationsstruktur -
metadata-checkβ YAML-Metadaten -
doc-header-checkβ Header-Schema-Validierung -
drift-detectionβ Vergleich Primary vs. Secondary
PR/Push β docs-pipeline.yml β einziger Einstiegspunkt
βββ validate (ruft documentation-validation.yml als reusable workflow)
β βββ docs-lint
β βββ link-check (intern)
β βββ external-link-check (main/develop only)
β βββ toc-validation
β βββ metadata-check
β βββ doc-header-check (changed-only)
β βββ drift-detection
β β βββ [develop only] Issues fΓΌr driftende/stale SekundΓ€rdoku
β βββ validation-summary
βββ build-site (MkDocs ohne PDF)
βββ build-pdf (on-demand / Release-Tags, ENABLE_PDF_EXPORT=1)
βββ deploy-pages (main branch)
Push to main/develop/release/* β primary-docs-index.yml
βββ Update docs/_generated/primary_index.json
Push to develop (src/**/*.md | include/**/*.md) β module-docs-sync.yml
βββ module_docs_builder β docs/de/<modul>/PRIMARY_SOURCES.md
β docs/en/<modul>/PRIMARY_SOURCES.md
β /tmp/module-findings.json
βββ changelog_updater β CHANGELOG.md [Unreleased] fortschreiben
βββ git commit + push β "docs: sync module docs [skip ci]"
βββ module_docs_issue_reporter β Issues fΓΌr neue/underdokumentierte Module
Skripte:
| Skript | Zweck |
|---|---|
scripts/docs-lint.py |
Markdown-Syntax, Heading-Hierarchie, Metadaten |
scripts/link-check.py |
Interne/externe Links |
scripts/toc-check.py |
Navigationsstruktur vs. mkdocs.yml |
scripts/doc-header-check.py |
Header-Schema-Validierung |
scripts/drift-detector.py |
Drift Primary β Secondary |
tools/primary_docs_indexer.py |
Primary-Doc-Inventar generieren |
tools/module_docs_builder.py |
Modulweise PRIMARY_SOURCES.md generieren (DE + EN) |
tools/ci/changelog_updater.py |
CHANGELOG.md [Unreleased] automatisch fortschreiben |
tools/ci/module_docs_issue_reporter.py |
GitHub Issues fΓΌr neue/underdokumentierte Module und Drift |
Drift ist gewollt β er zeigt an, wenn Secondary Docs hinter ihren Primary-Quellen zurΓΌckbleiben.
Workflow:
-
tools/primary_docs_indexer.pyspeichertlast_modifiedjeder Primary-Datei. -
scripts/drift-detector.pyvergleicht die Timestamps von Primary- und Secondary-Docs. - Docs mit Alter > 90 Tage relativ zur Primary-Quelle werden als
driftingmarkiert. - Docs mit Alter > 180 Tage relativ zur Primary-Quelle werden als
stalemarkiert.
Drift-Report lokal ausfΓΌhren:
python3 scripts/drift-detector.py --format textSecondary Doc manuell als drifting kennzeichnen:
**Status:** driftingpip install -r requirements-docs.txtbash scripts/build-docs.sh
# β Output: ./site/ENABLE_PDF_EXPORT=1 bash scripts/build-docs.sh
# β Output: ./artifacts/docs/ThemisDB-Documentation-*.pdfbash scripts/build_compendium_pdf.shbash scripts/validate-docs.sh- Lowercase, Bindestriche statt Leerzeichen:
feature-overview.md - Keine Sonderzeichen auΓer
-und_ - Englische Dateinamen auch in deutschen Docs (Pfade sind sprachunabhΓ€ngig)
Konfiguriert in .markdownlint.json:
- ATX-Style Headings (
#,##, β¦) - 2-Space EinrΓΌckung fΓΌr Listen
- Kein Γberspringen von Heading-Ebenen
Das Header-Schema ist definiert in docs/_standards/doc_header.schema.yml. Es wird von scripts/doc-header-check.py validiert.
Eine Vorlage ist in docs/_standards/DOC_TEMPLATE.md zu finden.
- Sprachstruktur
- Wiki- und Archiv-Strategie (Phase 5)
- DOC_TEMPLATE
- doc_header.schema.yml
- Primary Index
- MkDocs Konfiguration
- Compendium Build
ThemisDB 1.9.0-beta Β· Home Β· Module-Index Β· GitHub Β· Issues
ThemisDB 1.9.0-beta Β· Home Β· Wiki-Index Β· Module-Index Β· FAQ Β· Quick-Reference Β· GitHub Β· Issues Β· Discussions Β· License
- Batch Operations
- Best Practices
- CRUD Tutorial
- Custom Document Ingestion
- Getting Started Tutorial
- Interactive Examples
- Schema Design
- Video Tutorials
- AQL Reference
- AQL Examples
- AQL Overview
- AQL Feature Roadmap
- AQL Geospatial Guide
- AQL LLM Migration Guide
- AQL API
- AQL Grammar (EBNF)
- AQL Root Overview
- AQL Examples (root)
- API Reference
- API Module README
- OpenAPI Overview
- Client SDK Overview
- SDK Overview
- Operations
- Operations Overview
- Operations Runbook
- Operations Handbook
- ThemisCtl Admin Guide
- Pipeline E2E SOPs
- Deploy Overview
- Docker Overview
- Docker Hub README
- Helm Overview
- Packaging Overview
- Operator Overview
- Security Policy
- Production Hardening Checklist
- Security Hardening Guide
- Encryption Key Management
- Access Control Framework
- Zero Trust Policy
- API Authentication & Authorization
- HSM Production Setup
- PKCS11 Integration
- DSGVO / SOC2 Checklist
- Access Model Runbooks
- Access Model Dashboard
- Maturity Automation Runbook
- Access Review Automation
- Access Model Dashboard
- Access Model Runbooks
- Rights Revocation
- Dr Checklists
- Dr Testing
- Incident Response Playbook
- Incident Response Testing
- GPU Oom Recovery
- Grammar Debugging
- Metrics Scrape Troubleshooting
- Model Swap Procedure
- Quota Tuning
- Subagent Deployment
- Logging Configuration
- Content Model
- Crypto & Keys
- Feature Flags Reference
- Modular Architecture Roadmap
- Modularization Guide
- Module Architecture Index
- PostgreSQL Wire Protocol
- Query Scheduling
- Raft Consensus Design
- Resource Pooling
- Source Directory Guide
- Unified Access Model
- E1 001 Layered Retrieval Design
- E1 002 Ann Abstraction Strategy
- E1 003 Tensor Summary Types
- E1 004 Lora Package Distinction
- E1 005 Model Switch Compatibility
- E1 006 Federated Tensor Summaries
- E2 001 Evaluation Framework Design
- E2 002 Hardware Profile Strategy
- E2 003 Query Planner Routing Model
- E2 004 Approximation Governance Rules
- E2 005 Cross Layer Fallback Confidence Policy
- E3 001 Distributed Tensor Design
- E3 002 Manifest Coordination Strategy
- E3 003 Recovery And Erasure Choice
- E3 004 Tensor Fabric Infrastructure
- Contributing
- Contributing (root)
- Code of Conduct
- Support
- Maintainers
- CTest Guide
- Build Quick Reference
- Developer Wiki Index
- Build / Test / CI
- Module Index
- Branching Strategy
- Disabled Stub Policy
- Docs PR Policy
- GA Promotion Sign Off
- Github Milestones Setup
- Maturity Claim Verification Checklist
- Maturity Evidence Registry
- Merge Gate Bot Config
- Merge Gate Status Live
- Phase 1 Closure Report
- Phase Closure Policy
- Phase Dependency Graph
- Phase3 Enforcement Runbook
- Plugin Submodule Rollback
- PR Version Targeting
- PR Version Targeting Backfill
- Production Ready 2026 Delivery Plan
- Query Module Status
- Readme
- Release Promotion Gate Policy
- Release Validation Checklist
- Security Module 5671 Evidence Summary
- Sharding P6 Residual Risk Acceptance
- Sourcecode Compliance Governance
- Updates Development Status Sign Off
- Wave C Implementation Complete
- Blob Storage
- Cuda
- Ethics Ai
- Exporters
- Huggingface
- Image Analysis
- Importers
- RPC
- Scraper
- Themisdb Ai Watermark Detector
- User Storage Encrypted
- Chimera Architecture
- Chimera Future
- Chimera Readme
- Chimera Roadmap
- Covina Fastapi Ingestion Architecture
- Covina Fastapi Ingestion Future
- Covina Fastapi Ingestion Roadmap
- Vcc Base Architecture
- Vcc Base Future
- Vcc Base Roadmap
- Vcc Clara Ingestion Architecture
- Vcc Clara Ingestion Future
- Vcc Clara Ingestion Roadmap
- Vcc Veritas Architecture
- Vcc Veritas Future
- Vcc Veritas Roadmap
- 01 Hello World
- 02 Todo App
- 03 Contact Manager
- 04 Inventory System
- 05 Time Series Monitor
- 06 Graph Social Network
- 07 Vector Search Documents
- 08 Dms Erp System
- 09 Iot Sensor Network
- 10 Drone Image Analysis
- 11 Blog Wiki
- 12 Expense Tracker
- 13 Recipe Manager
- 14 Ecommerce Catalog
- 15 Event Management
- 16 Kanban Board
- 17 Crm
- 18 Realtime Chat
- 19 Recommendation Engine
- 20 Smart Home
- 21 Coding Platform
- 22 AQL Diagram Tool
- 23 Traveling Salesman
- 24 Moral Philosophy Debates
- API Versioning
- Distributed Sharding
- Feedback Plugins
- Geo
- Gnn
- Image Analysis
- Legal Lora Training
- LLM
- Lora Sync
- Migration
- Nlp
- Performance
- Railway
- Replication
- Rope Visualization
- Sample Product Config
- Security
- Client SDK Overview
- Quickstart
- Sdk Enhancements
- Sdk Implementation Summary
- Test Suite Readme
- Go
- Java
- Javascript
- Php
- Python
- Ruby
- Rust
- Typescript
- 01 Grundlegende Operationen
- 02 AQL Queries
- 03 Graph Daten
- 04 Multimodell Anwendung
- 01 Quickstart Guide
- 02 AQL Referenz Kurzuebersicht
- 03 Datenmodellierung Guide
- 04 Uebungsaufgaben
- 05 Best Practices Guide
- Training Documents
- Training Overview
- 01 Einfuehrung Und Uebersicht
- 02 Datenmodelle Und Architektur
- 03 AQL Abfragesprache
- 04 Installation Und Setup
- 05 Anwendungsbeispiele
- Training Presentations
- Dependencies Readme
- Processmonitor Readme
- Themis.admintools.shared Readme
- Themis.aqlquerybuilder Readme
- Themis.aqlquerybuilder Roadmap
- Themis.auditlogviewer Readme
- Themis.auditlogviewer Roadmap
- Themis.classificationdashboard Readme
- Themis.classificationdashboard Roadmap
- Themis.compliancereports Readme
- Themis.compliancereports Roadmap
- Themis.gisviewer.controlpanel Readme
- Themis.gisviewer.controlpanel Roadmap
- Themis.impactanalysisviewer Readme
- Themis.impactanalysisviewer Roadmap
- Themis.ingestiontool Readme
- Themis.ingestiontool Roadmap
- Themis.keyrotationdashboard Readme
- Themis.keyrotationdashboard Roadmap
- Themis.piimanager Readme
- Themis.piimanager Roadmap
- Themis.retentionmanager Readme
- Themis.retentionmanager Roadmap
- Themis.sagaverifier Readme
- Themis.sagaverifier Roadmap
- Themis.usbadmintool Readme
- Themis.usbadmintool Roadmap
- CI Readme
- CI Roadmap
- Compiler Diagnostics Readme
- Compiler Diagnostics Roadmap
- Completion Readme
- Copilot Ollama Router Readme
- Copilot Ollama Router Roadmap
- Gnn Readme
- Gnn Roadmap
- Rope Visualizer Readme
- Rope Visualizer Roadmap
- Tco Calculator Readme
- Tco Calculator Roadmap
- Tests Readme
- Tests Roadmap
- Themis Config Wx Readme
- Themis Docs Builder Readme
- Wikipedia Ingestion Readme