# RetrieX Patch 20c – Commercial Table Follow-up Fix ## Ziel Patch 20c korrigiert eine Regression aus dem p20/p20b-Normalisierungs- und Routing-Umfeld: kurze referenzielle Nachfragen wie `die tabelle mit preisen` müssen den letzten fachlichen Kontext übernehmen und eine Shop-Suche auslösen. ## Reproduzierter Problemfall 1. `welche grenzwerte kann der testomat 808 messen` 2. RetrieX antwortet korrekt mit Testomat 808 und einer Grenzwert-/Indikatortyp-Tabelle. 3. Folgefrage: `die tabelle mit preisen` Vor p20c blieb die Folgefrage RAG-only bzw. ohne Shop-Suche. Das ist fachlich zu schwach, weil `die tabelle` klar auf die vorherige Indikatortyp-Tabelle referenziert und `mit preisen` aktuelle Shopdaten verlangt. ## Lösung - LLM-Input-Normalisierung aus p20/p20b bleibt erhalten. - Es gibt eine zusätzliche, YAML-konfigurierbare Erkennung für kommerzielle Tabellen-Follow-ups. - Wenn der normale Commerce-Intent ausfällt, kann ein kurzer Tabellen-/Preis-Follow-up anhand vorhandener History-Anker gezielt zu `product_search` hochgestuft werden. - Für Preis-Tabellen-Follow-ups wird vor einer generischen optimierten Suchquery ein kontextueller Shop-Suchbegriff aus der letzten Antwort abgeleitet. - Beim Testomat-808-/Indikatortyp-Fall ergibt der Fallback generisch `Testomat 808 indikator` statt nur `die tabelle mit preisen` oder `Testomat 808`. - Es werden keine konkreten Tippfehlerlisten eingeführt. ## Geänderte Dateien - `src/Agent/AgentRunner.php` - `src/Config/AgentRunnerConfig.php` - `src/Config/RetriexEffectiveConfigProvider.php` - `config/retriex/agent.yaml` - `config/retriex/intent.yaml` ## Pflichtchecks ```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 Regressionen 1. `was kpstet der indikator` - Erwartung: LLM-/Fuzzy-Normalisierung bleibt wirksam. - Shop-Suche wird ausgelöst. 2. `ich suche eine preiswerte Lösung zur messung von pH & Chlor für mein schwimmbad` - Erwartung: beratende Shop-/Produktsuche wird ausgelöst. 3. `welche grenzwerte kann der testomat 808 messen` → `die tabelle mit preisen` - Erwartung: Folgefrage wird als kommerzieller Tabellen-Follow-up erkannt. - Shop-Suche wird ausgelöst. - Gesendete Suchquery sollte sinngemäß `Testomat 808 indikator` sein. - Antwort soll eine Preistabelle der passenden Indikatoren/Zubehörtreffer bilden, soweit Shopdaten vorhanden sind. ## Nicht geändert - Kein Scoring-Umbau. - Keine harte Tippfehlerliste. - Keine Änderung an Retrieval-/Vectorlogik. - Keine Änderung an Shop-Service-Suche selbst.