# RetrieX Patch 43P - Prompt Measurement Evidence Duplicate Warning Cleanup

## Ziel

Beseitigt die drei Config-Validation-Warnings aus p43O, ohne fachliche Runtime-Logik, Scoring, Retrieval oder Prompt-Regeln zu ändern.

## Hintergrund

p43O hat Measurement-Evidence-Terme aus `prompt.yaml` nach `vocabulary.yaml` verschoben. Dabei wurden bestehende, normalisiert doppelte pH-Schreibweisen bewusst 1:1 mitgenommen. Die Config-Validation meldet diese Duplikate nun an den zentralen Vocabulary-Maps:

- `vocabulary.maps.prompt.measurement_evidence_guard.request_terms.ph` enthält doppelt normalisiert `pH`
- `vocabulary.maps.prompt.measurement_evidence_guard.request_terms.ph` enthält doppelt normalisiert `ph-wert`
- `vocabulary.maps.prompt.measurement_evidence_guard.positive_terms.ph` enthält doppelt normalisiert `ph-wert`

## Änderungen

Geändert wurde nur `config/retriex/vocabulary.yaml`:

- `request_terms.ph`
  - entfernt: `pH`
  - entfernt: `pH-Wert`
  - behalten: `ph`, `ph-wert`, `ph wert`
- `positive_terms.ph`
  - entfernt: `ph-wert`
  - behalten: `pH`, `pH-Wert`, `ph wert`

## Nicht geändert

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

## Erwartetes Verhalten

Die pH-Erkennung bleibt durch normalisierte, case-insensitive Matching-Logik erhalten. Entfernt wurden nur normalisiert redundante Schreibweisen.

## Lokale Prüfungen

In der Artefakt-Umgebung geprüft:

```bash
php -l src/Config/PromptBuilderConfig.php
php -l src/Config/DomainVocabularyConfig.php
php -l src/Config/AgentRunnerConfig.php
php -l src/Config/SearchRepairConfig.php
php -l src/Config/GovernanceConfig.php
php -l src/Config/LanguageCleanupConfig.php
python3 YAML parse check for config/retriex/*.yaml
python3 duplicate check for prompt.measurement_evidence_guard pH term maps
zip -T retriex_p43p_prompt_measurement_evidence_duplicate_warning_cleanup_patch_only.zip
```

Die Symfony-Console-Checks konnten lokal nicht ausgeführt werden, weil der ZIP-Stand kein `vendor/` enthält und `bin/console` mit fehlenden Dependencies abbricht. Bitte wie üblich im Projekt ausführen:

```bash
bin/console c:cl
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
```
