# RetrieX Patch p20l - Original Prompt Shop History Guard

## Ziel
Fix fuer die Regression, bei der eine neue Standalone-Shopfrage wie:

```text
zeige mir Anschlusskabel fuer pH/Redox
```

faelschlich mit altem Verlaufskontext optimiert wurde und dadurch als Shop-Suchquery z. B. `testomat 808 indikator` erzeugte.

## Ursache
Der bisherige Guard pruefte die finale Shop-Suchquery gegen den `routingPrompt`. Dieser kann durch LLM-/Fuzzy-Normalisierung leicht vom Original abweichen. Dadurch konnte eine eigentlich neue Standalone-Anfrage intern wie eine referenzielle Anfrage behandelt werden, und alter Commerce-Verlauf durfte in Optimizer/Query einfliessen.

Besonders kritisch: Die Entscheidung, ob Verlauf fuer die Shop-Query benutzt werden darf, darf nicht von einer normalisierten Variante abhaengen, sondern vom originalen Nutzereingabetext.

## Aenderung
Nur `src/Agent/AgentRunner.php` wurde geaendert.

1. `resolveShopQueryHistoryContext()` verwendet jetzt den `originalPrompt` als Autoritaet fuer die Entscheidung, ob Commerce-History genutzt werden darf.
2. `guardFinalStandaloneShopSearchQuery()` prueft finale Shop-Suchqueries ebenfalls gegen den `originalPrompt`.
3. Wenn eine Standalone-Query fremden Kontext einfuehrt, faellt RetrieX auf den aktuellen `routingPrompt` zurueck, nicht auf alten Verlaufskontext.

## Erwartetes Verhalten

```text
zeige mir Anschlusskabel fuer pH/Redox
```

Erwartete Suchquery sinngemaess:

```text
anschlusskabel ph redox
```

Nicht mehr:

```text
testomat 808 indikator
```

Weiterhin erlaubt:

```text
welche grenzwerte kann der testomat 808 messen
die tabelle mit preisen
```

Dieser Follow-up bleibt referenziell und darf den Verlauf fuer `testomat 808 indikator` nutzen.

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

Bei aktivem OPcache/PHP-FPM bitte PHP-FPM bzw. Container neu laden.
