# RetrieX Prompt Precision Priority Fix

This patch intentionally avoids retrieval changes.

It does not add hard-coded keyword lists to the retriever and does not introduce a new core retrieval special case.

## Goal

For technical questions where the retrieved chunk already contains the exact answer plus nearby comparison values, the model should answer the requested fact first and avoid adding runner-up products or adjacent values unless the user explicitly asks for comparison or alternatives.

Example:

- Question: `Was ist der niedrigste Grenzwert fuer die Wasserhaerte, welcher mit einem Testomaten ueberwacht werden kann?`
- Retrieved chunk may contain both `Testomat 808: 0,02 °dH` and `Testomat 2000: 0,05 °dH`.
- Expected answer should focus on `0,02 °dH / Testomat 808` and should not add the runner-up value unless requested.

## Changed files

- `config/retriex/prompt.yaml`
- `src/Agent/PromptBuilder.php`
- `src/Config/PromptBuilderConfig.php`
- `src/Config/RetriexEffectiveConfigProvider.php`

## What changed

- Added configurable `output_priority.technical_rules` in `prompt.yaml`.
- `PromptBuilder` now emits the `OUTPUT PRIORITY` block for technical questions even when no shop results are present.
- The technical priority rules are loaded through `PromptBuilderConfig` with PHP fallback defaults.
- The effective config/regression provider now exposes and guards the technical output-priority rules.

## Not changed

- No retrieval logic changed.
- No vector search logic changed.
- No shop logic changed.
- No core hard-coded domain keyword list added.
- No scoring behavior changed.

## After applying

Run:

```bash
php bin/console cache:clear
php bin/console mto:agent:config:validate
php bin/console mto:agent:regression:test
```
