# RetrieX Patch p43L - Language Cleanup Protected Term Default

Kleiner Abschluss-/Konsolidierungsschritt nach p43K.

## Ziel

Weitere YAML-Listen-Duplikate reduzieren, ohne fachliche Runtime-Logik, Scoring, Retrieval, Prompt-Regeln oder Admin-UI zu ändern.

## Änderung

In `config/retriex/language.yaml` wurden vier redundante lokale Profilangaben entfernt:

```yaml
protected_term_groups:
  - protected_terms
```

Betroffen waren die Cleanup-Profile:

- `commerce_query`
- `rag_evidence`
- `retrieval_reference_cleanup`
- `shop_context_fallback`

`LanguageCleanupConfig::getProtectedTermsForProfile()` hatte bereits vor diesem Patch das identische Fallback-Verhalten: Wenn ein Profil keine `protected_term_groups` setzt, werden automatisch die zentralen `protected_terms` verwendet.

Damit bleiben lokale Overrides weiterhin möglich: Ein Profil kann `protected_term_groups` bei Bedarf wieder explizit setzen.

## Nicht geändert

- Keine PHP-Runtime-Logik geändert
- Keine fachliche Regel geändert
- Keine Prompt-Regel geändert
- Keine Retrieval- oder Scoring-Änderung
- Keine Admin-UI
- Keine neue harte Liste im PHP-Core

## Effektive Werte

Die effektiven Cleanup-Profile bleiben gegenüber p43K identisch:

- `commerce_query`: 92 Stopwords, 10 Phrases, 0 Meta Terms, 14 Protected Terms
- `rag_evidence`: 68 Stopwords, 0 Phrases, 0 Meta Terms, 14 Protected Terms
- `retrieval_reference_cleanup`: 60 Stopwords, 0 Phrases, 12 Meta Terms, 14 Protected Terms
- `shop_context_fallback`: 109 Stopwords, 10 Phrases, 6 Meta Terms, 14 Protected Terms

## Lokale Prüfungen

Ausgeführt:

```bash
php -l src/Config/LanguageCleanupConfig.php
php -l src/Config/GovernanceConfig.php
php -l src/Config/AgentRunnerConfig.php
php -l src/Config/PromptBuilderConfig.php
php -l src/Config/SearchRepairConfig.php
python3 YAML parse check for config/retriex/*.yaml
python3 effective p43K-vs-p43L cleanup profile comparison
```

Ergebnis: grün.

## Nicht lokal ausführbar

Die Symfony-Console-Checks konnten in dieser Umgebung nicht ausgeführt werden, weil der ZIP-Stand kein `vendor/` enthält:

```text
Dependencies are missing. Try running "composer install".
```

Bitte nach Einspielen im Projekt erneut ausführen:

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