diff --git a/app/core/retriever.py b/app/core/retriever.py index a7e7a7f..f7b2640 100644 --- a/app/core/retriever.py +++ b/app/core/retriever.py @@ -141,8 +141,14 @@ def _build_hits_from_semantic( edge_bonus = 0.0 cent_bonus = 0.0 if subgraph is not None: - # WICHTIG: Knoten im Graphen sind note_ids, nicht chunk_ids. - node_key = payload.get("note_id") + # Standard-Key wie im ursprünglichen Verhalten (für Fakes in Tests): + node_key = payload.get("chunk_id") or payload.get("note_id") + + # Falls es sich um unseren echten Subgraph-Typ handelt, wissen wir, + # dass Knoten als note_id modelliert sind → dann gezielt note_id nutzen. + if isinstance(subgraph, ga.Subgraph): + node_key = payload.get("note_id") + if node_key: try: edge_bonus = float(subgraph.edge_bonus(node_key))