Compare commits
No commits in common. "5e67cd470cdd2278c756f72a4e6bb81aa0b40ee8" and "d0012355b9fb9cc81af777fca261210270c503de" have entirely different histories.
5e67cd470c
...
d0012355b9
|
|
@ -910,20 +910,9 @@ def build_edges_for_note(
|
||||||
# Schritt 3: ID-Zuweisung nach Scope-Entscheidung
|
# Schritt 3: ID-Zuweisung nach Scope-Entscheidung
|
||||||
final_edges: List[dict] = []
|
final_edges: List[dict] = []
|
||||||
|
|
||||||
# WP-24c v4.5.10: Deterministische Sortierung der semantic_groups für konsistente Edge-Extraktion
|
# WP-24c v4.5.9: Deterministische Sortierung der semantic_groups für konsistente Edge-Extraktion
|
||||||
# Verhindert Varianz zwischen Batches (33 vs 34 Kanten)
|
# Verhindert Varianz zwischen Batches (33 vs 34 Kanten)
|
||||||
# WICHTIG: target_section kann None sein, daher benötigen wir eine benutzerdefinierte Sortierfunktion
|
sorted_semantic_keys = sorted(semantic_groups.keys())
|
||||||
def sort_key_func(key_tuple):
|
|
||||||
"""
|
|
||||||
Sortierfunktion für semantic_keys, die None-Werte korrekt behandelt.
|
|
||||||
None wird als leere Zeichenkette behandelt, um Vergleichbarkeit zu gewährleisten.
|
|
||||||
"""
|
|
||||||
kind, semantic_source, target_id, target_section = key_tuple
|
|
||||||
# Konvertiere None zu leerem String für konsistente Sortierung
|
|
||||||
target_section_safe = target_section if target_section is not None else ""
|
|
||||||
return (kind, semantic_source, target_id, target_section_safe)
|
|
||||||
|
|
||||||
sorted_semantic_keys = sorted(semantic_groups.keys(), key=sort_key_func)
|
|
||||||
|
|
||||||
for semantic_key in sorted_semantic_keys:
|
for semantic_key in sorted_semantic_keys:
|
||||||
group = semantic_groups[semantic_key]
|
group = semantic_groups[semantic_key]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user