Zuruck zum Uberblick
Level 1 — Vertiefung

Knowledge Graph Pipeline

Phase 0 bis Phase 7: Vom Pre-flight-Check zum fertigen Knowledge Graph mit 16 Node-Typen und 29 Edge-Typen.

Auf dieser Seite
  • Phase 0: Pre-flight — Git-Status, Config, Incremental-Check
  • Phase 1-2: Scan & Analyze — Dateien entdecken, Batches analysieren
  • Phase 3: Assemble Review — Graph zusammenbauen
  • Phase 4-5: Architecture & Tour — Layer und Lernpfad
  • Phase 6: Review — Validierung
  • Phase 7: Save — Speichern und Cleanup
01
Phase 0: Pre-flight
Git-Status, Konfiguration, Incremental-Check

Bevor die eigentliche Analyse startet, pruft Phase 0 die Voraussetzungen. Der Incremental-CheckPruft, ob bereits ein knowledge-graph.json existiert und ob sich seit dem letzten Lauf Dateien geandert haben (via Git-Diff). Bei inkrementeller Analyse werden nur geanderte Dateien neu analysiert. ist besonders wichtig: Existiert bereits ein Knowledge Graph? Wenn ja, welche Dateien haben sich seit dem letzten Lauf geandert?

# Phase 0: Pre-flight Checks pre_flight: steps: - check_git_status # Gibt es uncommitted changes? - load_config # .claude-learning/config.json - check_existing_graph # knowledge-graph.json vorhanden? - compute_diff # git diff --name-only seit letztem Run - decide_mode # full vs. incremental output: mode: "full" | "incremental" changed_files: string[] config: Config

Was passiert? Phase 0 pruft, ob ein vorheriger Graph existiert. Falls ja, werden nur geanderte Dateien (via Git-Diff) neu analysiert. Das spart bei grossen Projekten erheblich Zeit.

Der Output von Phase 0 bestimmt, ob ein Full-Run (alles neu) oder ein Incremental-Run (nur Anderungen) durchgefuhrt wird. Die Konfiguration aus .claude-learning/config.json wird geladen, falls vorhanden.

02
Phase 1-2: Scan & Analyze
Dateien entdecken, in Batches aufteilen und parallel analysieren

Phase 1 (SCAN) dispatcht den project-scanner-Agent, der alle Code-Dateien inventarisiert. Ergebnis: Ein JSON mit Dateipfaden, Zeilenanzahlen, Sprachen und Frameworks.

Phase 2 (ANALYZE) teilt die Dateien in Batches von 20-30 Stuck auf und dispatcht bis zu funf file-analyzer-Instanzen parallel. Jede Instanz erzeugt einen Teil-GraphEin JSON-Objekt mit nodes und edges, das nur die Dateien eines Batches abdeckt. Cross-Batch-Referenzen werden als "pending" markiert und in Phase 3 aufgelost. mit Nodes und Edges.

Phase 1-2 Flow
P0
Pre-
flight
P1
Scan
project-scanner
P2
Analyze
5x file-analyzer
P3
Assemble
merge
P4
Arch
layers
P5
Tour
path
P6
Review
validate
P7
Save
persist
03
Phase 3: Assemble Review
Graph zusammenbauen mit merge-batch-graphs.py

In Phase 3 werden die Teil-Graphen aller Batches zu einem einzigen Graphen zusammengefuhrt. Der assemble-reviewerNimmt alle Batch-Ergebnisse (batch-1.json bis batch-N.json) und merged sie zu einem assembled-graph.json. Dabei werden doppelte Nodes dedupliziert und Cross-Batch-Edges aufgelost. lost dabei drei Hauptprobleme: Deduplizierung von Nodes (gleiche Datei in mehreren Batches referenziert), Auflosung von Cross-Batch-Edges (Import von Batch 1 zeigt auf Datei in Batch 3), und Konsistenz-Checks.

# merge-batch-graphs.py — Kernlogik def merge_graphs(batch_files): merged = {"nodes": [], "edges": []} seen_ids = set() for batch in batch_files: for node in batch["nodes"]: if node["id"] not in seen_ids: merged["nodes"].append(node) seen_ids.add(node["id"]) for edge in batch["edges"]: # Cross-Batch-Edges aufloesen if edge["source"] in seen_ids: merged["edges"].append(edge) return merged

Das Ergebnis — assembled-graph.json — enthalt alle Nodes und Edges, aber noch keine Layer-Zuordnung und keinen Lernpfad. Diese werden in Phase 4 und 5 hinzugefugt.

04
Phase 4-5: Architecture & Tour
Layer zuordnen, Lernpfad erstellen

Phase 4 (ARCHITECTURE) dispatcht den architecture-analyzer, der den assemblierten Graph analysiert und 3-10 logische Layer identifiziert. Jeder file-Node wird genau einem Layer zugeordnet.

Phase 5 (TOUR) dispatcht den tour-builder, der einen geordneten Lernpfad erstellt. Der Pfad beginnt typischerweise beim Haupteinstiegspunkt und fuhrt durch die wichtigsten Komponenten.

// Nach Phase 5: Graph-Struktur { "nodes": [/* 16 Typen, 50-500 Nodes */], "edges": [/* 29 Typen, 100-2000 Edges */], "layers": [ { "name": "Core", "nodes": ["..."] }, { "name": "API", "nodes": ["..."] }, { "name": "UI", "nodes": ["..."] } ], "guided_tour": { "steps": [ { "order": 1, "node_id": "src/index.ts", "why": "..." } ] } }
05
Phase 6: Review
Inline-Validierung oder LLM-Review

Phase 6 fuhrt die abschliessende Qualitatsvalidierung durch. Der graph-reviewerPruft Schema-Konformitat (erlaubte Node/Edge-Typen), referentielle Integritat (keine dangling references) und Vollstandigkeit (jede Datei hat mindestens einen Node). pruft den Graph gegen drei Dimensionen: Schema, Integritat und Vollstandigkeit.

Es gibt zwei Review-Modi: Inline-Validierung (schnell, regelbasiert, fur kleine Projekte) und LLM-Review (grundlicher, fur grosse oder komplexe Projekte). Die Wahl wird automatisch getroffen basierend auf der Graph-Grosse.

Validierungs-Checks
Check 1
Schema-Validierung
Nur erlaubte Node-Typen (16) und Edge-Typen (29)?
Check 2
Referentielle Integritat
Alle source/target-IDs in Edges verweisen auf existierende Nodes?
Check 3
Vollstandigkeit
Jede Datei aus dem Inventar hat mind. einen Node im Graph?
Check 4
Layer-Coverage
Jeder Node ist genau einem Layer zugeordnet?
Check 5
Tour-Validierung
Alle Tour-Steps verweisen auf existierende Nodes?
06
Phase 7: Save
knowledge-graph.json speichern, Intermediate-Dateien aufraumen

Die letzte Phase speichert den validierten Graph als knowledge-graph.json in .claude-learning/. Danach werden die Intermediate-Dateien (Batch-JSONs, assembled-graph.json) aufgeraumt — sie werden nicht mehr benotigt, da der finale Graph alle Daten enthalt.

Optional wird ein HTML-Dashboard automatisch generiert und im Browser geoffnet. Das Dashboard bietet eine interaktive Visualisierung des Graphen mit Suchfunktion, Layer-Filtern und der gefuhrten Tour.

# Phase 7: Save + Cleanup save: steps: - write_knowledge_graph # .claude-learning/knowledge-graph.json - generate_dashboard # .claude-learning/dashboard.html - cleanup_intermediate # batch-*.json, assembled-graph.json - update_config # Letzte Lauf-Zeitstempel - auto_launch_dashboard # open dashboard.html
Graph-Schema vertiefen
Weitere Entwickler-L1-Seiten