# RetrieX Patch 17 - Accuracy Hotfix

## Purpose

Patch 17 addresses the first concrete accuracy bug set after the YAML-only and governance cleanup.
It keeps the YAML-only policy intact and does not introduce hard domain lists in PHP.

## Covered issue classes

1. Product title anchoring for prompts that mention a product family plus variant suffix but omit an intermediate numeric family token.
   This prevents variant-specific questions from falling back to broader semantic hits.
2. RAG evidence confidence for aggregate/count-style portfolio questions.
   Semantic product hits are no longer enough to mark such answers as `fachlich belegt` unless aggregate evidence terms are present.
3. Commerce intent detection for product-seeking measurement prompts such as wanting to measure a parameter in an application context.
4. Commerce intent/shop query support for cable/accessory searches such as pH/Redox connection cables.
5. Prompt guardrail reinforcement so the model does not transfer accessory roles between separate shop product records.

## Changed files

- `src/Knowledge/Retrieval/NdjsonChunkLookup.php`
- `src/Agent/AgentRunner.php`
- `src/Config/AgentRunnerConfig.php`
- `src/Config/RetriexEffectiveConfigProvider.php`
- `config/retriex/agent.yaml`
- `config/retriex/intent.yaml`
- `config/retriex/commerce.yaml`
- `config/retriex/prompt.yaml`

## Local checks

Run after applying:

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

## Manual accuracy retests

- `qwelche grenzwerte kann der testomat testomat cal messen`
- `wieviele testomat geräte haben wir`
- `ich würde gern chlor im schwinnbad messen`
- `zeige mir Anschlusskabel für pH/Redox` followed by `suche im shop`
- `suche Messgeräte zur wasseranalyse mit dem parameter Carbonhärte (KH)`