mindnet/docs/03_Technical_References/03_tech_configuration.md
2025-12-19 09:02:49 +01:00

7.1 KiB

doc_type audience scope status version context
technical_reference developer, admin configuration, env, registry, scoring active 2.7.2 Umfassende Referenztabellen für Umgebungsvariablen, YAML-Konfigurationen und die Edge Registry Struktur.

Konfigurations-Referenz

Dieses Dokument beschreibt alle Steuerungsdateien von Mindnet. In der Version 2.7 wurde die Konfiguration professionalisiert, um die Edge Registry und dynamische Scoring-Parameter (Lifecycle & Intent) zu unterstützen.

1. Environment Variablen (.env)

Diese Variablen steuern die Infrastruktur, Pfade und globale Timeouts.

Variable Default Beschreibung
QDRANT_URL http://localhost:6333 URL zur Vektor-DB API.
QDRANT_API_KEY (leer) Optionaler Key für Absicherung.
COLLECTION_PREFIX mindnet Namensraum für Collections (erzeugt {prefix}_notes etc).
VECTOR_DIM 768 Muss 768 sein (für Nomic Embeddings).
MINDNET_VOCAB_PATH (Pfad) Neu (WP-22): Absoluter Pfad zur 01_edge_vocabulary.md. Definiert den Ort des Dictionarys.
MINDNET_VAULT_ROOT ./vault Basis-Pfad für Datei-Operationen. Dient als Fallback-Basis, falls MINDNET_VOCAB_PATH nicht gesetzt ist.
MINDNET_TYPES_FILE config/types.yaml Pfad zur Typ-Registry.
MINDNET_RETRIEVER_CONFIG config/retriever.yaml Pfad zur Scoring-Konfiguration.
MINDNET_DECISION_CONFIG config/decision_engine.yaml Pfad zur Router & Intent Config.
MINDNET_PROMPTS_PATH config/prompts.yaml Pfad zu LLM Prompts.
MINDNET_LLM_MODEL phi3:mini Name des Chat-Modells (Ollama).
MINDNET_EMBEDDING_MODEL nomic-embed-text Name des Embedding-Modells (Ollama).
MINDNET_OLLAMA_URL http://127.0.0.1:11434 URL zum LLM-Server.
MINDNET_LLM_TIMEOUT 300.0 Timeout in Sekunden (Erhöht für CPU Cold-Starts).
MINDNET_API_TIMEOUT 300.0 Frontend Timeout (Erhöht für Smart Edge Wartezeiten).
MINDNET_LLM_BACKGROUND_LIMIT 2 Traffic Control: Max. parallele Hintergrund-Tasks (Semaphore).
MINDNET_CHANGE_DETECTION_MODE full full (Text + Meta) oder body (nur Text).

2. Typ-Registry (types.yaml)

Steuert das Import-Verhalten, Chunking und die Kanten-Logik pro Typ.

2.1 Konfigurations-Hierarchie (Override-Logik)

Seit Version 2.7.0 gilt für chunking_profile und retriever_weight folgende Priorität:

  1. Frontmatter (Höchste Prio): Ein Wert direkt in der Markdown-Datei überschreibt alles.
  2. Type Config: Der Standardwert für den type aus types.yaml.
  3. Global Default: Fallback aus defaults in types.yaml.

2.2 Typ-Referenztabelle (Vollständig)

Typ (type) Chunk Profile (Standard) Retriever Weight ($W_{type}$) Smart Edges? Beschreibung
decision structured_strict 1.00 Ja Entscheidungen. Atomar.
value structured_strict 1.00 Ja Werte/Prinzipien. Atomar.
project sliding_smart 0.97 Ja Aktive Vorhaben.
experience sliding_smart 0.90 Ja Persönliche Learnings.
concept sliding_smart 0.60 Ja Abstrakte Begriffe.
principle structured_L3 0.95 Nein Prinzipien (Tiefer Split).
belief sliding_short 0.90 Nein Glaubenssätze.
risk sliding_short 0.90 Nein Risiken.
journal sliding_standard 0.80 Nein Logs / Dailies.
person sliding_standard 0.50 Nein Profile.
source sliding_standard 0.50 Nein Externe Quellen.
glossary sliding_short 0.40 Nein Begriffsdefinitionen.
default sliding_standard 1.00 Nein Fallback für alle anderen.

Richtwert für W_{type}: 0.1 (minimale Relevanz/Filter) bis 1.0 (maximale Relevanz).


3. Retriever Config (retriever.yaml)

Steuert die Gewichtung der Scoring-Formel und die neuen Lifecycle-Modifier.

scoring:
  semantic_weight:   1.0  # Basis-Relevanz (Cosine Similarity)
  edge_weight:       0.7  # Einfluss des Graphen (Bonus)
  centrality_weight: 0.5  # Einfluss von Hubs (Zentralität)

# WP-22 Lifecycle Modifier (Multiplikativ auf Semantik)
lifecycle_weights:
  stable: 1.2   # Bonus: Geprüftes Wissen wird 20% höher gewichtet
  draft:  0.5   # Malus: Entwürfe werden auf 50% gedämpft
  system: 0.0   # Ausschluss aus dem Index

# Kanten-spezifische Basis-Gewichtung (Ohne Intent-Boost)
edge_weights:
  depends_on: 1.5         # Harte Abhängigkeiten stark gewichten
  blocks: 1.5             # Blocker/Risiken stark gewichten
  caused_by: 1.2          # Kausalitäten moderat stärken
  based_on: 1.3           # Werte-Bezug stärken
  related_to: 0.5         # Weiche Assoziation schwächen
  references: 0.8         # Standard-Referenzen

4. Edge Typen & Registry Referenz

Die EdgeRegistry ist die Single Source of Truth für das Vokabular.

4.1 Dateistruktur & Speicherort

Die Registry erwartet eine Markdown-Datei an folgendem Ort:

  • Standard-Pfad: <MINDNET_VAULT_ROOT>/01_User_Manual/01_edge_vocabulary.md.
  • Custom-Pfad: Kann via .env Variable MINDNET_VOCAB_PATH überschrieben werden.

4.2 Aufbau des Dictionaries (Markdown-Schema)

Die Datei muss eine Markdown-Tabelle enthalten, die vom Regex-Parser gelesen wird.

Erwartetes Format:

| System-Typ (Canonical) | Erlaubte Aliasse (User) | Beschreibung |
| :--- | :--- | :--- |
| **`based_on`** | `basiert_auf`, `fundament` | Fundament: B baut auf A auf. |
| **`caused_by`** | `ausgelöst_durch`, `wegen` | Kausalität: A löst B aus. |

Regeln für die Spalten:

  1. Canonical: Muss fett gedruckt sein (**type** oder **type**). Dies ist der Wert, der in der DB landet.
  2. Aliasse: Kommagetrennte Liste von Synonymen. Diese werden beim Import automatisch zum Canonical aufgelöst.
  3. Beschreibung: Rein informativ für den Nutzer.

4.3 Verfügbare Kanten-Typen (System-Standard)

Kind (Canonical) Symmetrisch? Herkunft Bedeutung
references Nein Wikilink Standard-Verweis ("Erwähnt X").
belongs_to Nein Struktur Chunk gehört zu Note.
caused_by Nein Inline Kausalität: A löst B aus.
based_on Nein Matrix Fundament: A fußt auf B.
blocks Nein Inline Blocker: A verhindert B.
solves Nein Inline Lösung: A ist Lösung für Problem B.
next / prev Ja Struktur Sequenzielle Lesereihenfolge.

5. Decision Engine (decision_engine.yaml)

Steuert den Hybrid Router und das dynamische Intent-Boosting (WP-22).

Beispielauszug für Intent-Boosting:

intents:
  EMPATHY:
    description: "Emotionaler Support / Werte-Fokus"
    boost_edges:
      based_on: 2.0      # Verdoppelt den Einfluss von Werte-Kanten
      related_to: 1.5    # Stärkt assoziative Bezüge
    inject_types: ["experience", "belief"]

  WHY:
    description: "Ursachenanalyse (Kausalität)"
    boost_edges:
      caused_by: 2.5     # Massiver Boost für Kausalitätsketten
      derived_from: 1.8  # Fokus auf die Herkunft

Richtwert für Kanten-Boosts: 0.1 (Abwertung) bis 3.0+ (Dominanz gegenüber Text-Match).