app/core/note_payload.py aktualisiert
All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 3s

This commit is contained in:
Lars 2025-11-08 21:48:01 +01:00
parent 82151d6bc3
commit a7c5630e5b

View File

@ -196,6 +196,42 @@ def make_note_payload(
for k in ("area", "project", "source", "lang", "slug", "aliases"):
if k in fm:
payload[k] = fm[k]
# --- MINIMAL PATCH: retriever_weight in Note-Payload injizieren (ohne Seiteneffekte) ---
# Annahmen: Variablen `payload`, `parsed_note`, `retriever_weight`, `type_defaults` existieren bereits
# und `payload` enthält die bisherigen Felder wie gehabt.
# Frontmatter defensiv holen, ohne Struktur zu verändern:
fm = {}
try:
fm = getattr(parsed_note, "frontmatter", {}) or {}
except Exception:
pass
if not isinstance(fm, dict):
fm = {}
# Note-Typ möglichst aus Frontmatter oder parsed_note lesen, ohne bestehende Logik zu beeinflussen:
note_type = fm.get("type")
if not note_type:
note_type = getattr(parsed_note, "type", None)
# Wertkaskade: Frontmatter > type_defaults > Funktionsargument > (kein Fallback: wir setzen nur, wenn vorhanden)
rw_val = None
if "retriever_weight" in fm:
rw_val = fm["retriever_weight"]
elif type_defaults and note_type in type_defaults and isinstance(type_defaults[note_type], dict):
if "retriever_weight" in type_defaults[note_type]:
rw_val = type_defaults[note_type]["retriever_weight"]
elif retriever_weight is not None:
rw_val = retriever_weight
# Nur setzen, wenn ein Wert vorhanden ist und robust nach float wandeln:
if rw_val is not None:
try:
payload["retriever_weight"] = float(str(rw_val).replace(",", "."))
except Exception:
# Keine Havarie riskieren wenn nicht konvertierbar, nicht setzen.
pass
# --- END MINIMAL PATCH ---
return payload