Go to file
Lars d0012355b9
All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 4s
Merge pull request 'WP24c - Agentic Edge Validation & Chunk-Aware Multigraph-System (v4.5.8)' (#22) from WP24c into main
feat: Phase 3 Agentic Edge Validation & Chunk-Aware Multigraph-System (v4.5.8)

### Phase 3 Agentic Edge Validation
- Finales Validierungs-Gate für Kanten mit candidate: Präfix
- LLM-basierte semantische Prüfung gegen Kontext (Note-Scope vs. Chunk-Scope)
- Differenzierte Fehlerbehandlung: Transiente Fehler erlauben Kante, permanente Fehler lehnen ab
- Kontext-Optimierung: Note-Scope nutzt Note-Summary/Text, Chunk-Scope nutzt spezifischen Chunk-Text
- Implementierung in app/core/ingestion/ingestion_validation.py (v2.14.0)

### Automatische Spiegelkanten (Invers-Logik)
- Automatische Erzeugung von Spiegelkanten für explizite Verbindungen
- Phase 2 Batch-Injektion am Ende des Imports
- Authority-Check: Explizite Kanten haben Vorrang (keine Duplikate)
- Provenance Firewall: System-Kanten können nicht manuell überschrieben werden
- Implementierung in app/core/ingestion/ingestion_processor.py (v2.13.12)

### Note-Scope Zonen (v4.2.0)
- Globale Verbindungen für ganze Notizen (scope: note)
- Konfigurierbare Header-Namen via ENV-Variablen
- Höchste Priorität bei Duplikaten
- Phase 3 Validierung nutzt Note-Summary/Text für bessere Präzision
- Implementierung in app/core/graph/graph_derive_edges.py (v1.1.2)

### Chunk-Aware Multigraph-System
- Section-basierte Links: [[Note#Section]] wird präzise in target_id und target_section aufgeteilt
- Multigraph-Support: Mehrere Kanten zwischen denselben Knoten möglich (verschiedene Sections)
- Semantische Deduplizierung basierend auf src->tgt:kind@sec Key
- Metadaten-Persistenz: target_section, provenance, confidence bleiben erhalten

### Code-Komponenten
- app/core/ingestion/ingestion_validation.py: v2.14.0 (Phase 3 Validierung, Kontext-Optimierung)
- app/core/ingestion/ingestion_processor.py: v2.13.12 (Automatische Spiegelkanten, Authority-Check)
- app/core/graph/graph_derive_edges.py: v1.1.2 (Note-Scope Zonen, LLM-Validierung Zonen)
- app/core/chunking/chunking_processor.py: v2.13.0 (LLM-Validierung Zonen Erkennung)
- app/core/chunking/chunking_parser.py: v2.12.0 (Header-Level Erkennung, Zonen-Extraktion)

### Konfiguration
- Neue ENV-Variablen für konfigurierbare Header:
  - MINDNET_LLM_VALIDATION_HEADERS (Default: "Unzugeordnete Kanten,Edge Pool,Candidates")
  - MINDNET_LLM_VALIDATION_HEADER_LEVEL (Default: 3)
  - MINDNET_NOTE_SCOPE_ZONE_HEADERS (Default: "Smart Edges,Relationen,Global Links,Note-Level Relations,Globale Verbindungen")
  - MINDNET_NOTE_SCOPE_HEADER_LEVEL (Default: 2)
- config/llm_profiles.yaml: ingest_validator Profil für Phase 3 Validierung (Temperature 0.0)
- config/prompts.yaml: edge_validation Prompt für Phase 3 Validierung

### Dokumentation
- 01_knowledge_design.md: Automatische Spiegelkanten, Phase 3 Validierung, Note-Scope Zonen
- NOTE_SCOPE_ZONEN.md: Phase 3 Validierung integriert
- LLM_VALIDIERUNG_VON_LINKS.md: Phase 3 statt global_pool, Kontext-Optimierung
- 02_concept_graph_logic.md: Phase 3 Validierung, automatische Spiegelkanten, Note-Scope vs. Chunk-Scope
- 03_tech_data_model.md: candidate: Präfix, verified Status, virtual Flag, scope Feld
- 03_tech_configuration.md: Neue ENV-Variablen dokumentiert
- 04_admin_operations.md: Troubleshooting für Phase 3 Validierung und Note-Scope Links
- 05_testing_guide.md: WP-24c Test-Szenarien hinzugefügt
- 00_quality_checklist.md: WP-24c Features in Checkliste aufgenommen
- README.md: Version auf v4.5.8 aktualisiert, WP-24c Features verlinkt

### Breaking Changes
- Keine Breaking Changes für Endbenutzer
- Vollständige Rückwärtskompatibilität
- Bestehende Notizen funktionieren ohne Änderungen

### Migration
- Keine Migration erforderlich
- System funktioniert ohne Änderungen
- Optional: ENV-Variablen können für Custom-Header konfiguriert werden

---

**Status:**  WP-24c ist zu 100% implementiert und audit-geprüft.
**Nächster Schritt:** WP-25c (Kontext-Budgeting & Erweiterte Prompt-Optimierung).
```

---

## Zusammenfassung

Dieser Merge führt die **Phase 3 Agentic Edge Validation** und das **Chunk-Aware Multigraph-System** in MindNet ein. Das System validiert nun automatisch Kanten mit `candidate:` Präfix, erzeugt automatisch Spiegelkanten für explizite Verbindungen und unterstützt Note-Scope Zonen für globale Verbindungen.

**Kern-Features:**
- Phase 3 Agentic Edge Validation (finales Validierungs-Gate)
- Automatische Spiegelkanten (Invers-Logik)
- Note-Scope Zonen (globale Verbindungen)
- Chunk-Aware Multigraph-System (Section-basierte Links)

**Technische Integrität:**
- Alle Kanten durchlaufen Phase 3 Validierung (falls candidate: Präfix)
- Spiegelkanten werden automatisch erzeugt (Phase 2)
- Note-Scope Links haben höchste Priorität
- Kontext-Optimierung für bessere Validierungs-Genauigkeit

**Dokumentation:**
- Vollständige Aktualisierung aller relevanten Dokumente
- Neue ENV-Variablen dokumentiert
- Troubleshooting-Guide erweitert
- Test-Szenarien hinzugefügt

**Deployment:**
- Keine Breaking Changes
- Optional: ENV-Variablen für Custom-Header konfigurieren
- System funktioniert ohne Änderungen
2026-01-12 10:53:19 +01:00
.gitea/workflows .gitea/workflows/deploy.yml aktualisiert 2025-11-07 09:37:02 +01:00
.vscode Neue Dokumentationsdateien 2025-12-07 15:49:44 +01:00
app Add dedicated logging for ID collisions in ingestion_processor.py 2026-01-12 09:04:36 +01:00
config Implement WP-24c v4.2.0: Introduce configurable header names and levels for LLM validation and Note-Scope zones in the chunking system. Update chunking models, parser, and processor to support exclusion of edge zones during chunking. Enhance documentation and configuration files to reflect new environment variables for improved flexibility in Markdown processing. 2026-01-10 21:46:51 +01:00
docker docker/embeddings.Dockerfile aktualisiert 2025-09-04 08:00:52 +02:00
docs Refactor ID collision logging in ingestion_processor.py for improved clarity and structure 2026-01-12 10:07:24 +01:00
scripts Update logging levels in ingestion_processor.py and import_markdown.py for improved visibility 2026-01-12 08:13:26 +01:00
tests Update graph_db_adapter.py, graph_derive_edges.py, graph_subgraph.py, graph_utils.py, ingestion_processor.py, and retriever.py to version 4.1.0: Introduce Scope-Awareness and Section-Filtering features, enhancing edge retrieval and processing. Implement Note-Scope Zones extraction from Markdown, improve edge ID generation with target_section, and prioritize Note-Scope Links during de-duplication. Update documentation for clarity and consistency across modules. 2026-01-10 19:55:51 +01:00
vault vault/leitbild/templates/obsidian_review_daily.md hinzugefügt 2025-11-01 15:08:47 +01:00
vault_master Pfad auflösen zum dictionary 2025-12-18 18:37:23 +01:00
ANALYSE_TYPES_YAML_ZUGRIFFE.md Update type_registry, graph_utils, ingestion_note_payload, and discovery services for dynamic edge handling: Integrate EdgeRegistry for improved edge defaults and topology management (WP-24c). Enhance type loading and edge resolution logic to ensure backward compatibility while transitioning to a more robust architecture. Version bumps to 1.1.0 for type_registry, 1.1.0 for graph_utils, 2.5.0 for ingestion_note_payload, and 1.1.0 for discovery service. 2026-01-09 15:20:12 +01:00
README.md README.md aktualisiert 2025-12-13 06:48:13 +01:00
requirements.txt Anpassung WP20 2025-12-23 15:57:50 +01:00

mindnet API (bundle)

This bundle provides a minimal FastAPI app for embeddings and Qdrant upserts/queries plus a Markdown importer.

Quick start

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

# Environment (adjust as needed)
export QDRANT_URL=http://127.0.0.1:6333
export MINDNET_PREFIX=mindnet
export MINDNET_MODEL=sentence-transformers/all-MiniLM-L6-v2

# Run API
uvicorn app.main:app --host 0.0.0.0 --port 8001 --workers 1

# (optional) Ensure collections exist (or use setup_mindnet_collections.py you already have)
# python3 scripts/setup_mindnet_collections.py --qdrant-url $QDRANT_URL --prefix $MINDNET_PREFIX --dim 384 --distance Cosine

# Import some notes
python3 scripts/import_markdown.py --vault /path/to/Obsidian

Endpoints

  • POST /embed{ "texts": [...] } → 384-d vectors
  • POST /qdrant/upsert_note
  • POST /qdrant/upsert_chunk
  • POST /qdrant/upsert_edge
  • POST /qdrant/query → semantic search over chunks with optional filters

See scripts/quick_test.sh for a runnable example.

Anmerkung: Diese Datei ist veraltet und muss auf Stand 2.6.0 gebracht werden