cross_reference._clean_dup_targets (cross_reference.py:37) splittet duplicate_path an jedem Komma → ein legitimer Dup-Titel mit Komma wird in mehrere nicht-existente Targets zerlegt.
Repro: _clean_dup_targets("[[Smith, John (2020)]]") → ['Smith', 'John (2020)'] (empirisch, Qwen q3 + Subagent, 1.+2. Durchgang).
Folge: len(targets) > 1 → der Multi-Target-Zweig greift, der echte Einzel-Merge (action=extend) verpufft, und zerstückelte Wikilinks landen in related (Dead-Links).
Fix-Richtung: Komma nur als Trenner werten, wenn die Segmente plausibel separate Titel sind (z.B. nur splitten, wenn der Rohwert mehr als einen [[...]]-Block enthält), oder das LLM-Schema von einem kommaseparierten String auf eine echte Liste umstellen.
cross_reference._clean_dup_targets(cross_reference.py:37) splittetduplicate_pathan jedem Komma → ein legitimer Dup-Titel mit Komma wird in mehrere nicht-existente Targets zerlegt.Repro:
_clean_dup_targets("[[Smith, John (2020)]]")→['Smith', 'John (2020)'](empirisch, Qwen q3 + Subagent, 1.+2. Durchgang).Folge:
len(targets) > 1→ der Multi-Target-Zweig greift, der echte Einzel-Merge (action=extend) verpufft, und zerstückelte Wikilinks landen inrelated(Dead-Links).Fix-Richtung: Komma nur als Trenner werten, wenn die Segmente plausibel separate Titel sind (z.B. nur splitten, wenn der Rohwert mehr als einen
[[...]]-Block enthält), oder das LLM-Schema von einem kommaseparierten String auf eine echte Liste umstellen.