# RetrieX Patch p43G - Measurement Evidence Context Fallback Consolidation

## Ziel

p43G setzt die p43-Reihe zur Config-/Logik-Reduktion fort. Der Patch entfernt doppelte Measurement-Evidence-Kontextlisten aus einzelnen Prompt-Parameterdefinitionen und nutzt stattdessen die bereits vorhandenen generischen Kontextlisten als Fallback im `PromptBuilderConfig`-Accessor.

Der Patch ist bewusst klein gehalten:

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

## Änderungen

### `config/retriex/prompt.yaml`

Aus `measurement_evidence_guard.parameters` wurden redundante Listen entfernt:

- `positive_context_terms` bei `ph`
- `positive_context_terms` bei `redox`
- `positive_context_terms` bei `free_chlorine`
- `negative_context_terms` bei `redox`
- `negative_context_terms` bei `free_chlorine`

Diese Listen waren 1:1 identisch mit:

- `measurement_evidence_guard.generic_positive_context_terms`
- `measurement_evidence_guard.generic_negative_context_terms`

Die pH-spezifischen `negative_context_terms` bleiben lokal erhalten, weil sie zusätzliche pH-spezifische Ausschlusskontexte enthalten.

### `src/Config/PromptBuilderConfig.php`

`getMeasurementEvidenceParameters()` ergänzt nun fehlende parameterlokale Kontextlisten über die generischen Listen:

- fehlende `positive_context_terms` -> `getMeasurementEvidenceGenericPositiveContextTerms()`
- fehlende `negative_context_terms` -> `getMeasurementEvidenceGenericNegativeContextTerms()`

Lokale Overrides bleiben weiterhin möglich. Wenn ein Parameter eine eigene Liste setzt, wird diese unverändert verwendet.

## Effektive Listen

Die effektiven Measurement-Evidence-Parameterlisten sind gegenüber p43F identisch geblieben:

- `generic_positive_context_terms`: identisch
- `generic_negative_context_terms`: identisch
- effektive `measurement_evidence_guard.parameters`: identisch

Reduktion expliziter Parameterlisten:

- explizite `positive_context_terms`: 3 -> 0
- explizite `negative_context_terms`: 3 -> 1

## Lokale Prüfungen

Ausgeführt:

```bash
php -l src/Config/PromptBuilderConfig.php
php -l src/Config/SearchRepairConfig.php
php -l src/Config/AgentRunnerConfig.php
python3 YAML parse check for config/retriex/*.yaml
python3 effective p43F-vs-p43G measurement evidence comparison
```

Ergebnis: grün.

Nicht lokal ausführbar:

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

Grund: Der ZIP-Stand enthält kein `vendor/`; `bin/console` bricht mit `Dependencies are missing. Try running "composer install".` ab.

## Erwartete Pflichtchecks beim Anwender

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