This commit is contained in:
team 1
2026-05-06 09:22:10 +02:00
parent 773e93856b
commit dcaadc27a0
5 changed files with 147 additions and 31 deletions

View File

@@ -0,0 +1,104 @@
# RetrieX Patch 43R - Prompt Measurement Context Vocabulary Views
## Ziel
p43R konsolidiert weitere Measurement-Evidence-Termlisten aus `prompt.yaml` in zentrale Vocabulary-Views, ohne fachliche Runtime-Logik, Scoring, Retrieval oder Prompt-Regeln zu ändern.
Der Patch setzt auf dem grün bestätigten p43Q-Stand auf.
## Änderungen
### `config/retriex/prompt.yaml`
Die lokalen Listen wurden aus `measurement_evidence_guard` entfernt und durch Vocabulary-View-Referenzen ersetzt:
- `generic_positive_context_terms`
- `generic_negative_context_terms`
Neu referenziert über:
```yaml
measurement_evidence_guard:
vocabulary_views:
generic_positive_context_terms: prompt.measurement_evidence_guard.generic_positive_context_terms
generic_negative_context_terms: prompt.measurement_evidence_guard.generic_negative_context_terms
```
Lokale Overrides bleiben weiterhin möglich: Wenn die Listen direkt im `prompt.yaml` gesetzt werden, werden diese lokalen Werte bevorzugt.
### `config/retriex/vocabulary.yaml`
Neue zentrale Views:
- `views.prompt.measurement_evidence_guard.generic_positive_context_terms`
- `views.prompt.measurement_evidence_guard.generic_negative_context_terms`
Die Werte wurden aus dem p43Q-Stand 1:1 übernommen.
### `src/Config/PromptBuilderConfig.php`
Die Accessor-Methoden nutzen nun die vorhandene Fallback-Logik:
- `getMeasurementEvidenceGenericPositiveContextTerms()`
- `getMeasurementEvidenceGenericNegativeContextTerms()`
Beide Methoden lösen jetzt auf:
1. lokale Liste im `prompt.yaml`, falls vorhanden
2. sonst zentrale Vocabulary-View
## Bewusst nicht geändert
Die pH-spezifischen `negative_context_terms` bleiben lokal im jeweiligen Parameterblock. Grund: Diese Liste enthält bewusst mehrere Schreib-/Case-Varianten für Prompt-/Matching-Kontext. Würde sie in `vocabulary.yaml` verschoben, könnte die zentrale Config-Validation sie als Duplicate-Warnung melden. Deshalb wird sie nicht im Rahmen dieses reinen Warning-freien Konsolidierungspatches verschoben.
## Effektive Werte
Die effektiven Measurement-Evidence-Kontextlisten bleiben gegenüber p43Q identisch:
- `generic_positive_context_terms`: 19 / identisch
- `generic_negative_context_terms`: 5 / identisch
- `ph.positive_context_terms`: 19 / identisch
- `ph.negative_context_terms`: 15 / identisch
- `redox.positive_context_terms`: 19 / identisch
- `redox.negative_context_terms`: 5 / identisch
- `free_chlorine.positive_context_terms`: 19 / identisch
- `free_chlorine.negative_context_terms`: 5 / identisch
## Nicht geändert
- keine fachliche Runtime-Logik
- keine Scoringänderung
- keine Retrievaländerung
- keine Prompt-Regeländerung
- keine Admin-UI
- keine neuen harten fachlichen Listen im PHP-Core
## Lokale Prüfungen
Ausgeführt:
```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 effective p43Q-vs-p43R measurement evidence context comparison
python3 duplicate check for new vocabulary views
zip -T retriex_p43r_prompt_measurement_context_vocabulary_views_patch_only.zip
```
Alle lokalen Prüfungen waren 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 lokal mit fehlenden Dependencies ab.