# Portabilität: SYSTEM
# Zuletzt validiert: 2026-05-17
# Nächste Prüfung: 2026-08-17
# Ressourcen: [context_triggers table, data/context_sources.json]

KONTEXTQUELLEN-SYSTEM (Dynamic Injections)
===========================================

STAND: 2026-05-17

Zentrale Registry für alle Wissensquellen mit dynamischen Triggern.

QUELLEN-KATEGORIEN:
-------------------
1. IMMER VERFÜGBAR (Injektion-Prio 8-10)
   - lessons_learned   Bekannte Fehler & Fixes
   - best_practices    Bewährte Vorgehensweisen
   - problems          Problem Monitor (kritisch/dringend)

2. AUF ANFRAGE / EVENT-BASIERT
   - strategies        Meta-kognitive Hilfen
   - meta_cognitive    Mentale Unterstützung
   - changelog         Historie
   - longterm_memory   Archivierte Sessions
   - contacts          Externe Tools/APIs
   - help              BACH Hilfedateien

DYNAMISCHE TRIGGER
------------------
Trigger sind teils in JSON (word_triggers), teils in DB (context_triggers):
- JSON: data/context_sources.json (9 Quellen, ~45 word_triggers)
- DB: context_triggers table (1012 Einträge - erweiterte Trigger-Logik)
- Typen: tool_discovery, lesson_hit, workflow_guide, theme_packet
- Gewichtung: weight 1-10, Auto-Inject Flag

CLI-BEFEHLE
-----------
  bach sources status             Status aller Quellen (Enabled/Weight)
  bach sources toggle <id>        Quelle an-/ausschalten
  bach sources inject <id>        Auto-Injektion an-/ausschalten
  bach sources get <id> [query]   Inhalt einer Quelle abrufen
  bach sources search <query>     Prüfen, welche Quelle bei Trigger feuert
  bach sources contacts [query]   Kontakte/APIs suchen
  bach sources problems           Fehler-Log prüfen

HINWEIS: "bach sources sync" ist NICHT implementiert im Handler.

KONFIGURATION
-------------
Die globale Steuerung der Quellen erfolgt über `data/context_sources.json`:
- enabled:           Quelle grundsätzlich verfügbar
- injection_enabled: Darf ohne explizite Anfrage injiziert werden
- weight:            Basis-Priorität (1-10)
- word_triggers:     Keywords für Trigger-Matching
- event_triggers:    Event-basierte Triggers (startup, error)

Handler-Pfad: system/hub/sources.py

QUELLEN-INHALTE
---------------
Der Handler kann direkte Inhalte liefern via "bach sources get <id>":
- lessons_learned:   Liefert docs/help/lessons.txt (existiert, aber ist lesson-Doku)
- best_practices:    Liest docs/help/practices.txt (existiert)
- strategies:        Hardcodierte Strategien (blockiert, komplex, unklar, müde)
- help:              Liest docs/help/*.txt Dateien (90+ Dateien vorhanden)
- changelog:         Extrahiert aus SKILL.md (system/SKILL.md)
- problems:          Scannt data/logs/*.log und blockierte Tasks in DB

HINWEIS: "lessons_learned" liefert docs/help/lessons.txt, nicht die Lessons-DB.
Für Lessons-DB verwenden: bach lesson list/search

HINWEIS ZU KONTAKTEN
--------------------
Seit v1.1.84 werden Kontakte in bach.db gespeichert (Tabellen: contacts,
health_contacts). Die alte contacts.json existiert nicht mehr.
Der "bach sources contacts" Befehl nutzt jetzt die DB-Tabellen direkt.

SIEHE AUCH
----------
  --help injectors      Das Injektor-System
  --help consolidation  Vom Ereignis zur Quelle
  docs/help/memory.txt        Kognitives Modell
