This commit is contained in:
team 1
2026-05-10 09:36:49 +02:00
parent 374c0c1f7f
commit 5c09e17f9c
2 changed files with 75 additions and 0 deletions

View File

@@ -1161,6 +1161,8 @@ parameters:
- tc
- redox
- orp
- select
- sensor
- 0,02
stopword_cleanup:
origin: genre_native

View File

@@ -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