This commit is contained in:
team 1
2026-05-05 20:10:00 +02:00
parent a04d371ef3
commit 0771614609
3 changed files with 140 additions and 84 deletions

View File

@@ -0,0 +1,64 @@
# RetrieX Patch p43M Vocabulary Map Alias Dedup
## Ziel
Weitere Reduktion doppelter YAML-Maps/Listen ohne fachliche Runtime-Änderung. Der Patch bündelt mehrfach identische Vocabulary-Map-Werte über Alias-Definitionen.
## Änderungen
- `DomainVocabularyConfig::map()` unterstützt zusätzlich zum bestehenden einfachen `key: [values]`-Format ein kompaktes Alias-Format:
- `values`: benannte Wertelisten
- `aliases`: Ausgabe-Schlüssel auf benannte Wertelisten
- Bestehendes einfaches Map-Format bleibt vollständig kompatibel.
- `vocabulary.yaml` nutzt das Alias-Format für:
- `maps.agent.rag_evidence_guard.synonyms`
- `maps.shop.accessory_focus_variants`
- Doppelte Listen für Salinität-, Redox-, Indikator-, Reagenz-, Ersatzteil- und Service-Set-Aliase wurden entfernt.
## Nicht geändert
- Keine neue Fachlogik
- Keine Scoringänderung
- Keine Prompt-Regeländerung
- Keine Retrievaländerung
- Keine Admin-UI
- Keine neuen fachlichen Listen im PHP-Core
## Kompatibilität
Lokale oder bestehende einfache Vocabulary-Maps funktionieren weiterhin. Das Alias-Format wird nur verwendet, wenn sowohl `values` als auch `aliases` vorhanden sind. Andernfalls fällt `DomainVocabularyConfig` auf das bisherige einfache String-List-Map-Format zurück.
## Lokale Prüfungen
Ausgeführt:
```bash
php -l src/Config/DomainVocabularyConfig.php
php -l src/Config/AgentRunnerConfig.php
php -l src/Config/ShopServiceConfig.php
php -l src/Config/SearchRepairConfig.php
php -l src/Config/PromptBuilderConfig.php
php -l src/Config/GovernanceConfig.php
python3 YAML parse check for config/retriex/*.yaml
python3 effective p43L-vs-p43M vocabulary map comparison
```
Ergebnis der lokalen Prüfungen: grün.
Die effektiven Maps blieben gegenüber p43L identisch:
- `agent.rag_evidence_guard.synonyms`: 7 Schlüssel
- `shop.accessory_focus_variants`: 9 Schlüssel
Zusätzlich geprüft: `DomainVocabularyConfig::map()` löst beide neuen Alias-Maps in PHP korrekt auf.
## Hinweis zu Symfony-Checks
Die `bin/console`-Checks konnten in der lokalen Patch-Erstellungsumgebung nicht ausgeführt werden, weil der ZIP-Stand kein `vendor/` enthält und `bin/console` mit fehlenden Dependencies abbricht. Bitte im Projekt mit installierten Composer-Abhängigkeiten prüfen:
```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
```