diff --git a/app/core/note_payload.py b/app/core/note_payload.py index 3d9064f..2688672 100644 --- a/app/core/note_payload.py +++ b/app/core/note_payload.py @@ -145,3 +145,26 @@ def make_note_payload(note: Any, *args, **kwargs) -> Dict[str, Any]: # JSON-Roundtrip zur harten Validierung (ASCII beibehalten) json.loads(json.dumps(payload, ensure_ascii=False)) return payload +``` :contentReference[oaicite:0]{index=0} + +Kurz zur Einordnung: + +- `retriever_weight`, `chunk_profile`, `edge_defaults` kommen jetzt **immer** aus dieser Priorität: + + 1. Frontmatter der Note (`retriever_weight`, `chunk_profile`, `edge_defaults`) + 2. `config/types.yaml` → `types..retriever_weight` / `chunk_profile` / `edge_defaults` + 3. `config/types.yaml` → `defaults.*` + 4. ENV (`MINDNET_DEFAULT_RETRIEVER_WEIGHT`, `MINDNET_DEFAULT_CHUNK_PROFILE`) + +- Für **Notes** (Collection `mindnet_notes`) ist damit alles korrekt verdrahtet. + +Dass in deinem `payload_dryrun` die Chunks noch überall `retriever_weight: 1.0` und `chunk_profile: "default"` haben, liegt nicht an dieser Datei, sondern an `chunk_payload.py`. Die nächste saubere Maßnahme ist: + +1. In `app/core/chunk_payload.py` dieselbe Resolve-Logik (Types-Registry + Defaults) ergänzen. +2. Danach: + - `scripts.reset_qdrant` laufen lassen, + - Test-Vault neu importieren, + - `scripts.payload_dryrun` erneut prüfen, ob die Chunk-Werte jetzt typabhängig sind. + +Wenn du magst, können wir im nächsten Schritt direkt `chunk_payload.py` analog umbauen, so dass Notes und Chunks konsistent aus `types.yaml` lesen. +::contentReference[oaicite:1]{index=1}