This commit is contained in:
team 1
2026-05-06 13:48:23 +02:00
parent 6a22e0b4c5
commit 1b261c26d7
2 changed files with 133 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
# RetrieX Patch p50 - pH Buffer Accessory Guard
## Ziel
Behebt eine Regression nach p45/p49 bei direkten Shop-Suchen nach Neomeris-pH-/Redox-Pufferlösungen.
Beispiel:
```text
welche neomeris puffer gibt es für Kalibrierung von pH-Messgeräten
```
Die Shopquery ist korrekt und produktnah:
```text
neomeris puffer kalibrierung ph messgeräten
```
Trotzdem konnten in der Antwort nur pH-Messgeräte oder Messkoffer erscheinen, während die passenden `Neomeris pH-Pufferlösung ...` / `Neomeris Redox-Pufferlösung ...` Treffer aus dem Shop nicht ausgegeben wurden.
## Ursache
Der Nutzer fragt nach einem Zubehör-/Verbrauchsmaterialtyp (`puffer`, `pufferlösung`, `kalibrierpuffer`) für die Kalibrierung von pH-Messgeräten.
Die vorhandenen Shop-Role-Guardrails kannten `puffer` aber noch nicht durchgehend als Zubehör-/Verbrauchsmaterial-Intent. Durch den Ausdruck `pH-Messgeräten` konnte die Anfrage zusätzlich als Gerätebezug interpretiert werden. Dadurch konnten Geräte-/Koffer-Treffer erhalten bleiben, während Pufferlösungen nicht zuverlässig priorisiert oder im direkten Antwortpfad erhalten wurden.
Außerdem muss `puffer` im direkten Produktguard auch zusammengesetzte Produktnamen wie `pH-Pufferlösung` matchen. Diese Compound-Prefix-Erweiterung aus p49 ist in diesem Patch enthalten, damit p50 auch auf dem aktuellen `rag-inprogress.zip` vollständig anwendbar ist.
## Änderung
- `puffer`, `pufferlösung`, `pufferloesung`, `kalibrierpuffer`, `kalibrierlösung`, `kalibrierloesung` werden als Shop-Zubehör-/Verbrauchsmaterialbegriffe ergänzt:
- `shop.accessory_query`
- `shop.accessory_product`
- `shop.accessory_focus`
- `shop.semantic_search_tokens`
- Der direkte Produktguard darf für explizit konfigurierte Terme Compound-Prefix-Matches akzeptieren:
- `puffer` matcht `pufferlösung`
- `kalibrierpuffer` matcht zusammengesetzte Kalibrierpuffer-Begriffe
## Wichtig
- Keine Änderung an der angezeigten Shopquery.
- Keine Änderung an Shopware-Kriterien.
- Keine Neomeris-, pH- oder Redox-Sonderlogik im PHP-Core.
- Die Begriffe sind fachliche Zubehör-/Verbrauchsmaterialbegriffe und bleiben in YAML konfigurierbar.
- Anschlusskabel-Guards aus p45/p46 bleiben unverändert.
## Geänderte Dateien
```text
config/retriex/agent.yaml
config/retriex/vocabulary.yaml
src/Agent/AgentRunner.php
src/Config/AgentRunnerConfig.php
patch_history/RETRIEX_PATCH_50_PH_BUFFER_ACCESSORY_GUARD_README.md
```
## Lokale Checks
Ausgeführt:
```bash
php -l src/Agent/AgentRunner.php
php -l src/Config/AgentRunnerConfig.php
python3 - <<'PY'
import yaml
from pathlib import Path
for f in ['config/retriex/agent.yaml', 'config/retriex/vocabulary.yaml']:
yaml.safe_load(Path(f).read_text())
print('YAML ok')
PY
```
`bin/console` wurde lokal nicht ausgeführt, da im entpackten ZIP kein `vendor/` enthalten ist.
## Nach dem Einspielen prüfen
```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
```
## Erwartete manuelle Tests
```text
welche neomeris puffer gibt es für Kalibrierung von pH-Messgeräten
```
Erwartung:
- Shopquery bleibt: `neomeris puffer kalibrierung ph messgeräten`
- Pufferlösungen werden als passende Produktart erkannt.
- Geräte-/Koffer-Treffer dürfen die Pufferlösungen nicht verdrängen.
- Antwort listet passende Pufferlösungen, z. B. Neomeris pH-Pufferlösung / Redox-Pufferlösung.
Weiterhin prüfen:
```text
zeige mir Anschlusskabel für pH/Redox
zeige mir Anschlusskabel für pH/Redox . ordne die liste nach metern
zeige mir Anschlusskabel für pH/Redox ab 20m
```
Erwartung:
- p45/p46-Verhalten bleibt erhalten.