Files
MtoRagSystem/RETRIEX_PATCH_55_SINGLE_GENRE_CONFIG_VALUES_README.md
2026-05-06 16:58:01 +02:00

4.4 KiB

RetrieX Patch p55 - Single-Genre Config Values

Ziel

Dieser Patch ist der erste Schritt nach p54, um RetrieX fuer eine eine Installation = ein Genre-Konfiguration vorzubereiten.

p54 war die Landkarte (adaptation_surface). p55 fuegt nun in config/retriex/genre.yaml eine erste zentrale Werteflaeche hinzu:

retriex.genre.config:
  configuration_values:
    product_roles:
    product_attributes:
    brands_and_canonical_terms:
    intent_and_routing:
    context_resolution:
    shop_query_runtime:
    result_identity_and_answer_policy:
    search_repair:
    retrieval_and_language:
    shop_data_mapping:
    governance_and_regression:

Die Werte sind aus dem aktuellen stabilen Wasseranalyse-/Messgeraete-Genre uebernommen. Dadurch ist erstmals an einer zentralen Stelle sichtbar, welche konkreten fachlichen Werte bei einer spaeteren Umwidmung, z. B. auf Fashion, Moebel, Ersatzteile oder Elektronik, ersetzt werden muessten.

Bewusste Nicht-Ziele

  • Keine Multi-Genre-Loesung
  • Keine Tenant-Logik
  • Keine Runtime-Umschaltung pro Request
  • Keine SaaS-/Host-/API-Key-Auswahl
  • Keine fachliche Logikaenderung
  • Keine neuen fachlichen Tokenlisten im PHP-Core
  • Keine Ranking-, Retrieval- oder Shopware-Kriterienaenderung
  • Keine LLM-Verhaltensaenderung
  • Keine Entfernung alter Config-Pfade
  • Kein p56-Wiring

Die Runtime liest nach diesem Patch weiterhin die bisherigen Config-Dateien und Pfade. configuration_values ist die neue zentrale Pflege-/Migrationsflaeche, aber noch nicht die fuehrende Runtime-Quelle.

Geaenderte Dateien

config/retriex/genre.yaml
src/Config/GenreConfig.php
src/Config/RetriexEffectiveConfigProvider.php
RETRIEX_PATCH_55_SINGLE_GENRE_CONFIG_VALUES_README.md

Wichtigste Aenderungen

config/retriex/genre.yaml

Neu ist der Block:

configuration_values:
  ...

Er enthaelt die aktuellen genreabhaengigen Werte gruppiert nach denselben Bereichen wie adaptation_surface:

  • Produktrollen und Shop-/Prompt-Views
  • Produktattribute und numerische Constraints
  • Marken, Canonical Terms und Query-Enrichment
  • Intent- und Routing-Signale
  • Follow-up-/Kontextanker
  • Shopquery-Runtime
  • Result-Identity und Antwort-/Grounding-Regeln
  • Search Repair
  • Retrieval-/Language-Begriffe
  • Shopdaten-Mapping
  • Governance-/Regression-Guardrails

Jeder Unterbereich enthaelt source_paths, damit nachvollziehbar bleibt, aus welchen bestehenden Runtime-Pfaden die Werte stammen.

GenreConfig

Neue Zugriffsmethoden:

getConfigurationValues(): array
getConfigurationValueGroup(string $group): array

Diese Methoden stellen die neue Werteflaeche bereit, ohne die Runtime bereits darauf umzustellen.

RetriexEffectiveConfigProvider

Die Config-Validierung prueft nun zusaetzlich:

  • genre.configuration_values ist eine nicht-leere Map
  • jede Werte-Gruppe ist eine nicht-leere Map
  • fuer jede adaptation_surface-Gruppe existiert eine passende configuration_values-Gruppe

Fehlende Value-Gruppen wuerden als Warnung sichtbar; strukturell falsche Value-Gruppen als Fehler.

Warum p55 noch kein Wiring macht

p55 soll bewusst risikoarm bleiben. Die alten Pfade bleiben fuehrend, damit bestehende Regressionen und Shop-/RAG-Verhalten unveraendert bleiben.

Der naechste Schritt waere ein separater Patch:

p56 Single-Genre Config Wiring

Dort koennen ausgewaehlte Getter oder ein zentraler Effective-Provider bevorzugt aus genre.configuration_values lesen und bei fehlenden Werten auf die alten Pfade zurueckfallen.

Lokale Pruefungen

Ausgefuehrt im entpackten Patch-Arbeitsstand:

php -l src/Config/GenreConfig.php
php -l src/Config/RetriexEffectiveConfigProvider.php

Ergebnis: beide PHP-Lints gruen.

Zusaetzlich wurden alle YAML-Dateien unter config/retriex/*.yaml per Python/YAML-Parser geprueft.

Ergebnis: YAML-Parsing gruen.

Zusaetzlich wurde geprueft:

  • adaptation_surface hat 11 Gruppen
  • configuration_values hat dieselben 11 Gruppen
  • keine adaptation_surface-Gruppe ohne entsprechende Werte-Gruppe

Nicht lokal ausfuehrbar

bin/console konnte lokal nicht ausgefuehrt werden, weil im ZIP kein vendor/ enthalten ist:

Dependencies are missing. Try running "composer install".

Empfohlene Projektchecks nach dem Einspielen

bin/console cache:clear
bin/console mto:agent:config:validate
bin/console mto:agent:regression:test
bin/console mto:agent:config:audit-source --details
bin/console mto:agent:config:audit-patterns --details