# RetrieX Patch p20k - Final Standalone Shop Query Guard

## Ziel
Behebt den Fall, dass eine neue eigenständige Shop-Anfrage wie:

```text
zeige mir Anschlusskabel für pH/Redox
```

nach der Shop-Query-Optimierung fälschlich als alte Kontext-Query wie:

```text
testomat 808 indikator
```

an Shop-Suche und UI-Meta weitergegeben wird.

## Ursache
Der bisherige Guard prüfte den Optimizer-Ausgang zwar im Optimizer-/Resolve-Pfad, aber nicht final direkt vor Preview und Shop-Suche. Wenn später dennoch eine kontextfremde Query in `$shopSearchQuery` landete, wurde sie ungeprüft an `buildSearchQueryPreview()` und `searchShop()` weitergereicht.

## Änderung
Nur `src/Agent/AgentRunner.php` wurde geändert.

Neu:

- finale Validierung direkt nach `resolveShopSearchQuery()`
- vor `buildSearchQueryPreview()` und `searchShop()`
- Wiederverwendung der bestehenden Standalone-Guardlogik
- bei erkannter Kontextverschmutzung wird die Query auf den aktuellen Routing-Prompt zurückgesetzt
- `$optimizedShopQuery` wird geleert, damit UI/Meta nicht weiter „optimiert“ für eine verworfene Query anzeigen

## Erwartung

```text
zeige mir Anschlusskabel für pH/Redox
```

soll nicht mehr als `testomat 808 indikator` gesucht werden, sondern auf Basis des aktuellen Prompts, also sinngemäß:

```text
anschlusskabel ph redox
```

Referenzielle Follow-ups wie:

```text
die tabelle mit preisen
was kostet der indikator
```

dürfen weiterhin Kontext verwenden.

## Checks
Lokal möglich:

```bash
php -l src/Agent/AgentRunner.php
```

Pflichtchecks nach Einspielen:

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

Falls OPcache/PHP-FPM aktiv ist: PHP-FPM bzw. Container neu laden.
