# RetrieX Patch 43I - Input Normalization Fuzzy Routing Vocabulary View

## Ziel

p43I reduziert eine weitere lokale YAML-Begriffsliste ohne fachliche Runtime-Änderung.
Die Canonical Fuzzy-Routing-Terms der Input-Normalisierung werden zentral in `config/retriex/vocabulary.yaml` gepflegt und aus `agent.yaml` nur noch per Vocabulary-View referenziert.

## Änderungen

- `config/retriex/agent.yaml`
  - lokale Liste `input_normalization.fuzzy_routing.terms` entfernt
  - neue Referenz `input_normalization.fuzzy_routing.vocabulary_views.terms` ergänzt
  - Kommentar ergänzt, dass lokale `terms` weiterhin als expliziter Projekt-Override möglich sind

- `config/retriex/vocabulary.yaml`
  - neue Klasse `input_normalization_fuzzy_routing_terms` ergänzt
  - neue View `agent.input_normalization_fuzzy_routing_terms` ergänzt
  - Reihenfolge und Werte entsprechen exakt dem vorherigen p43H-Stand

- `src/Config/AgentRunnerConfig.php`
  - `getInputNormalizationFuzzyRoutingTerms()` nutzt nun `getConfiguredStringListOrVocabularyView()`
  - lokale Override-Liste bleibt möglich

## Nicht geändert

- keine neue Fachlogik
- keine Scoringänderung
- keine Retrievaländerung
- keine Prompt-Regeländerung
- keine Admin-UI
- keine neuen harten Listen im PHP-Core

## Lokale Prüfungen

Ausgeführt:

```bash
php -l src/Config/AgentRunnerConfig.php
php -l src/Config/SearchRepairConfig.php
php -l src/Config/PromptBuilderConfig.php
python3 YAML parse check for config/retriex/*.yaml
python3 effective p43H-vs-p43I fuzzy routing terms comparison
```

Ergebnis: grün.

Die effektive Liste `input_normalization.fuzzy_routing.terms` ist gegenüber p43H identisch geblieben.

## Hinweis zu Symfony-Checks

Die folgenden Checks konnten in dieser Umgebung nicht lokal ausgeführt werden, weil der ZIP-Stand kein `vendor/` enthält und `bin/console` dadurch mit fehlenden Dependencies abbricht:

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

Sie sollen nach dem Einspielen im vollständigen Projekt ausgeführt werden.
