From 5c09e17f9c8d812d30c9709207dfbf308838552a Mon Sep 17 00:00:00 2001 From: team 1 Date: Sun, 10 May 2026 09:36:49 +0200 Subject: [PATCH] p80 --- config/retriex/genre.yaml | 2 + ...SELECT_SENSOR_QUERY_PRESERVATION_README.md | 73 +++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 patch_history/RETRIEX_PATCH_80_CHLOR_SELECT_SENSOR_QUERY_PRESERVATION_README.md diff --git a/config/retriex/genre.yaml b/config/retriex/genre.yaml index ef9b3b5..30100e1 100644 --- a/config/retriex/genre.yaml +++ b/config/retriex/genre.yaml @@ -1161,6 +1161,8 @@ parameters: - tc - redox - orp + - select + - sensor - 0,02 stopword_cleanup: origin: genre_native diff --git a/patch_history/RETRIEX_PATCH_80_CHLOR_SELECT_SENSOR_QUERY_PRESERVATION_README.md b/patch_history/RETRIEX_PATCH_80_CHLOR_SELECT_SENSOR_QUERY_PRESERVATION_README.md new file mode 100644 index 0000000..07a9c3d --- /dev/null +++ b/patch_history/RETRIEX_PATCH_80_CHLOR_SELECT_SENSOR_QUERY_PRESERVATION_README.md @@ -0,0 +1,73 @@ +# RetrieX Patch 80 - Chlor Select Sensor Query Preservation + +## Ziel + +Direkte Shop-Suchen nach exakt benannten Sensor-Produkten sollen nicht auf einen zu generischen Messparameter reduziert werden. + +Beispiel vor dem Patch: + +```text +ich suche den chlor select sensor +Gesendete Suchquery: chlor +``` + +Dadurch konnten generische Chlor-Sensoren, z. B. JUMO tecLine CL2, die Shop-Ergebnisse dominieren, obwohl der Shop ein Produkt mit dem Titel `Chlor Select Sensor` enthält. + +## Änderung + +Die bestehende genre-native `shop_query_runtime.current_input_preservation_terms` in `config/retriex/genre.yaml` wurde um zwei Wasseranalyse-/Shop-Titel-relevante Tokens erweitert: + +- `select` +- `sensor` + +Dadurch kann die vorhandene generische Preservation-Logik beide Tokens aus der aktuellen Nutzereingabe in die finale Shopquery zurückholen, wenn ein Optimizer oder Cleanup-Schritt die Query bereits zu stark gekürzt hat. + +## Erwartetes Verhalten nach dem Patch + +```text +ich suche den chlor select sensor +Gesendete Suchquery: chlor select sensor +``` + +Der Patch ist bewusst klein und nutzt die bestehende v1.5.6-Architektur: + +- keine PHP-Core-Änderung +- keine neue Sonderlogik für ein einzelnes Produkt +- keine Änderung an Retrieval, Ranking, Scoring, Shop-Matching oder Follow-up-Actions +- fachliche Query-Preservation bleibt in `genre.yaml` + +## Lokale Prüfungen + +Im ZIP ohne `vendor/` wurden ausführbare lokale Prüfungen gemacht: + +```bash +php -l src/Agent/AgentRunner.php +python3 -c "import yaml; yaml.safe_load(open('config/retriex/genre.yaml'))" +``` + +Zusätzlich wurde die bestehende Query-Pipeline logisch simuliert: + +- Routing bereits reduziert auf `chlor` -> Preservation ergibt `chlor select sensor` +- Routing mit Originaleingabe `ich suche den chlor select sensor` -> Stopword/Positive-Filter ergibt `chlor select sensor` + +## In der Zielumgebung ausführen + +```bash +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 +``` + +## Manueller Regressionstest + +```text +ich suche den chlor select sensor +``` + +Erwartung: + +- Gesendete Suchquery enthält `chlor select sensor` +- Shop-Ergebnisse priorisieren den exakt betitelten `Chlor Select Sensor` +- keine Regression bei bisherigen Preis-/Zubehör-/Variantentoken-Flows aus v1.5.6