100 lines
4.0 KiB
Markdown
100 lines
4.0 KiB
Markdown
# Branch Merge Commit Message: WP4d
|
|
|
|
```
|
|
feat: Section-basierte Links, Atomic Section Chunking & Registry-First Profiling (v2.9.1)
|
|
|
|
## Graph Topology & Edge Management
|
|
|
|
### Section-basierte Links (Multigraph-Support)
|
|
- Split `[[Note#Section]]` Links in `target_id="Note"` und `target_section="Section"`
|
|
- Edge-ID enthält nun `variant` (Section), ermöglicht mehrere Kanten zwischen denselben Knoten
|
|
- Semantische Deduplizierung basiert auf `src->tgt:kind@sec` Key
|
|
- Behebt "Phantom-Knoten" durch korrekte Trennung von Note-Name und Abschnitt
|
|
|
|
**Geänderte Dateien:**
|
|
- `app/core/graph/graph_utils.py`: `parse_link_target()` für Section-Extraktion
|
|
- `app/core/graph/graph_derive_edges.py`: `target_section` in Edge-Payload
|
|
- `app/core/database/qdrant.py`: Keyword-Index für `target_section`
|
|
- `app/core/database/qdrant_points.py`: Explizites Durchreichen von `target_section`
|
|
- `app/models/dto.py`: `EdgeDTO` mit `target_section` Feld
|
|
|
|
### Extraction & Parsing Verbesserungen
|
|
- Multi-line Callout-Blocks korrekt verarbeitet (stop-check logic)
|
|
- Robuster Fallback für "headless" Blocks (split chunks)
|
|
- Liberalisierte Regex für Umlaute und Sonderzeichen in Targets
|
|
|
|
**Geänderte Dateien:**
|
|
- `app/core/graph/graph_extractors.py`: Multi-line Callout-Parser, erweiterte Regex
|
|
|
|
## Chunking & Ingestion (v3.9.9 / v2.13.12)
|
|
|
|
### Atomic Section Logic (v3.9.9)
|
|
- Vollständige Implementierung des "Pack-and-Carry-Over" Verfahrens (Regel 1-3)
|
|
- Sektions-Überschriften und Inhalte bleiben atomar in Chunks
|
|
- H1-Context Preservation: Dokumenttitel als Breadcrumb in Embedding-Fenster
|
|
- Signature Alignment: Parameter-Synchronisierung (`context_prefix` statt `doc_title`)
|
|
|
|
**Geänderte Dateien:**
|
|
- `app/core/chunking/chunking_strategies.py`: Atomic Section Logic implementiert
|
|
|
|
### Format-agnostische De-Duplizierung
|
|
- Prüfung auf vorhandene Kanten basiert auf Ziel (`target`), nicht String-Match
|
|
- Verhindert Dopplung von Kanten, die bereits via `[!edge]` Callout vorhanden sind
|
|
- Global Pool Integration für unzugeordnete Kanten
|
|
|
|
**Geänderte Dateien:**
|
|
- `app/core/chunking/chunking_propagation.py`: Ziel-basierte Prüfung
|
|
|
|
### Registry-First Profiling (v2.13.12)
|
|
- Korrekte Hierarchie: Frontmatter > types.yaml Typ-Config > Global Defaults
|
|
- Hard-Fallback auf `sliding_standard` nur wenn keine Konfiguration existiert
|
|
- Automatische Anwendung korrekter Profile basierend auf Note-Typ
|
|
|
|
### Deterministic Hashing
|
|
- `full`-Hash inkludiert strategische Parameter (`split_level`, `strict_heading_split`)
|
|
- Konfigurationsänderungen im Frontmatter lösen zwingend Re-Import aus
|
|
|
|
**Geänderte Dateien:**
|
|
- `app/core/ingestion/ingestion_processor.py`: Registry-First Profiling, Deterministic Hashing
|
|
|
|
## Impact & Breaking Changes
|
|
|
|
### Migration erforderlich
|
|
**WICHTIG:** Vollständiger Re-Import erforderlich für bestehende Vaults:
|
|
```bash
|
|
python3 -m scripts.import_markdown --vault ./vault --prefix "mindnet" --apply --force
|
|
```
|
|
|
|
**Grund:**
|
|
- Behebt "Phantom-Knoten" durch korrekte Aufteilung von `[[Note#Section]]` Links
|
|
- Konsolidiert Edge-Struktur mit `target_section` Feld
|
|
- Aktualisiert Chunking basierend auf neuen Strategien
|
|
|
|
### Fixes
|
|
- ✅ Resolves: Mehrere Links zur gleichen Note in einem Callout-Block wurden zu einer Kante gemergt
|
|
- ✅ Resolves: "Phantom-Knoten" durch Einbeziehung des Anchors in `target_id`
|
|
- ✅ Resolves: Redundante `[[rel:...]]` Links in Chunks
|
|
- ✅ Resolves: Inkonsistente Metadaten in Qdrant durch Registry-First Profiling
|
|
|
|
## Dokumentation
|
|
|
|
Alle relevanten Dokumente aktualisiert:
|
|
- `03_tech_data_model.md`: Edge Payload Schema mit `target_section`
|
|
- `02_concept_graph_logic.md`: Section-basierte Links & Multigraph-Support
|
|
- `03_tech_ingestion_pipeline.md`: Chunking-Strategien, Registry-First Profiling
|
|
- `03_tech_api_reference.md`: EdgeDTO mit `target_section`
|
|
- `01_knowledge_design.md`: Deep-Links dokumentiert
|
|
- `00_glossary.md`: Neue Begriffe ergänzt
|
|
- `04_admin_operations.md`: Migration-Hinweis
|
|
|
|
## Versionen
|
|
|
|
- Graph Topology: v2.9.1
|
|
- Chunking Strategies: v3.9.9
|
|
- Ingestion Processor: v2.13.12
|
|
- API DTO: v0.6.7
|
|
|
|
Closes #[issue-number]
|
|
```
|
|
|