patch 20f

This commit is contained in:
team 1
2026-05-02 20:52:38 +02:00
parent 446df191c0
commit dbfc079bde
7 changed files with 534 additions and 41 deletions

View File

@@ -0,0 +1,87 @@
# RetrieX Patch 20e - Force Commercial Table Follow-up Routing
## Ziel
Patch 20e behebt die weiterhin fehlschlagende referenzielle Shop-Nachfrage nach einer zuvor erzeugten Tabelle, z. B.:
```text
welche grenzwerte kann der testomat 808 messen
```
gefolgt von:
```text
die tabelle mit preisen
```
oder:
```text
die tabelle mit shop preisen
```
Diese Follow-ups duerfen nicht mehr in den RAG-only-Pfad fallen.
## Ursache
Die bisherigen p20b/p20c/p20d-Ansaetze waren noch zu fragil, weil die Shop-Promotion entweder zu spaet griff oder indirekt ueber den normalen Commerce-Intent- und History-Anchor-Pfad lief. Wenn diese Route nicht aktiv wurde, blieb der Status bei `Shop-Treffer: nicht angefragt`.
## Aenderungen
- Fuehrt in `AgentRunner` einen expliziten `forcedShopSearchQuery` ein.
- Kommerzielle Tabellen-Follow-ups werden vor der normalen Commerce-Intent-Entscheidung erkannt.
- Wenn ein passender Tabellen-/Preis-Follow-up erkannt wird, wird der Shop-Pfad erzwungen.
- Die konkrete Shop-Query wird aus der Conversation-History abgeleitet.
- Bei Testomat-808-Grenzwert-/Indikator-Tabellen wird bevorzugt eine Query wie `Testomat 808 indikator` erzeugt.
- Wenn kein stabiler Kontext ableitbar ist, bleibt die Anfrage dennoch im Shop-Pfad und nutzt den konfigurierten Fallback `indikator` statt RAG-only.
- Die LLM-Input-Normalisierung aus p20 bleibt erhalten.
- Es werden keine konkreten Tippfehlerlisten eingefuehrt.
- Keine Scoring-/Vector-/Retrieval-Aenderung.
## Geaenderte Dateien
- `src/Agent/AgentRunner.php`
- `src/Config/AgentRunnerConfig.php`
- `src/Config/RetriexEffectiveConfigProvider.php`
- `config/retriex/agent.yaml`
## Pflichtchecks nach Einspielen
```bash
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
```
## Manuelle Regressionstests
```text
was kpstet der indikator
```
Erwartung: Shop-Suche wird ausgeloest.
```text
ich suche eine preiswerte Lösung zur messung von pH & Chlor für mein schwimmbad
```
Erwartung: beratende Shop-/Produktsuche wird ausgeloest.
```text
welche grenzwerte kann der testomat 808 messen
```
gefolgt von:
```text
die tabelle mit preisen
```
Erwartung: Shop-Suche wird ausgeloest, Query sinngemaess `Testomat 808 indikator` oder mindestens `indikator`.
```text
die tabelle mit shop preisen
```
Erwartung: Shop-Suche wird ebenfalls ausgeloest, nicht RAG-only.