p74
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# RetrieX Patch p74 - Accessory Identity Shop Result Guard
|
||||
|
||||
## Ziel
|
||||
|
||||
p73 lädt bei generischen Zubehör-Suchanfragen zusätzliche Shopdaten nach, zum Beispiel für:
|
||||
|
||||
```text
|
||||
Suche im Shop nach Testomat Resthärte Indikator
|
||||
```
|
||||
|
||||
Im Test wurden danach zwar Shop-Treffer gefunden, die Antwort blieb aber zu defensiv und sagte sinngemäß, dass keine passende Produktbezeichnung gefunden wurde. Gleichzeitig wurde weiterhin die Folgeaktion `Preis anzeigen` angeboten. Das ist für den Nutzer verwirrend: Wenn das System keine passende sichtbare Produktauswahl nennt, darf keine Preisaktion erscheinen; wenn Shop-Treffer mit passender Zubehör-Identität vorhanden sind, sollen diese bevorzugt als Produktliste genutzt werden.
|
||||
|
||||
## Änderung
|
||||
|
||||
- `AgentRunnerConfig::getDirectShopResultProductIdentityTerms()` ergänzt eine generische Produktidentitäts-Terminologie für direkte Shop-Ergebnisguards.
|
||||
- Diese Terminologie bleibt vollständig YAML-/Genre-basiert:
|
||||
- bestehende Direct-Attribute-Produkttypen
|
||||
- `product_roles.accessory_product_terms.terms`
|
||||
- `product_roles.requested_accessory_code_terms.terms`
|
||||
- `AgentRunner::extractRequestedDirectProductTerms()` nutzt diese erweiterte Identitäts-Terminologie.
|
||||
- Direkte Zubehör-/Produkt-Suchen wie `... Indikator` können dadurch Shop-Treffer mit passender Primary Identity bevorzugen und deterministisch als Shop-Ergebnisliste ausgeben.
|
||||
- Gemischte Anfragen nach Geräten **und** Zubehör werden bewusst nicht auf Zubehör verengt.
|
||||
- Follow-up-Actions der Shop-Ergebnisgruppe werden per YAML ausgeblendet, wenn die Antwort selbst einen No-Match-Zustand formuliert, zum Beispiel `keine Produktbezeichnung`, `keine Treffer`, `keine Produkte`.
|
||||
|
||||
## Warum generisch?
|
||||
|
||||
Der Patch enthält keine Testomat-, Resthärte- oder Indikator-300-Sonderlogik. Er erweitert nur die bestehende direkte Produktidentitätsprüfung um vorhandene Genre-/YAML-Begriffe für Zubehör und Zubehör-Codes.
|
||||
|
||||
## Erwartete Wirkung
|
||||
|
||||
Für:
|
||||
|
||||
```text
|
||||
Suche im Shop nach Testomat Resthärte Indikator
|
||||
```
|
||||
|
||||
soll die Antwort nicht mehr primär Geräte empfehlen oder eine No-Match-Aussage mit Preisaktion erzeugen. Wenn passende Indikator-/Reagenz-Shoptreffer vorhanden sind, sollen diese direkt mit Shopfeldern wie Produktnummer, Preis, Verfügbarkeit und URL gelistet werden.
|
||||
|
||||
## Checks
|
||||
|
||||
Lokal geprüft:
|
||||
|
||||
```bash
|
||||
php -l src/Agent/AgentRunner.php
|
||||
php -l src/Config/AgentRunnerConfig.php
|
||||
python3 YAML parse für config/retriex/chat-messages.yaml, agent.yaml, genre.yaml
|
||||
python3 Smoke: `Indikator` wird als direkte Produktidentität erkannt; No-Match-Action-Pattern matched
|
||||
```
|
||||
|
||||
In der Zielumgebung zusätzlich ausführen:
|
||||
|
||||
```bash
|
||||
bin/console mto:agent:config:validate
|
||||
bin/console mto:agent:regression:test
|
||||
bin/console mto:agent:config:audit-source --details
|
||||
```
|
||||
Reference in New Issue
Block a user