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_valuesist eine nicht-leere Map- jede Werte-Gruppe ist eine nicht-leere Map
- fuer jede
adaptation_surface-Gruppe existiert eine passendeconfiguration_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_surfacehat 11 Gruppenconfiguration_valueshat 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