p59 + p60

This commit is contained in:
team 1
2026-05-07 07:52:52 +02:00
parent 56646a0c3b
commit 87c2134e6c
20 changed files with 808 additions and 1256 deletions

View File

@@ -0,0 +1,133 @@
# RetrieX Patch p60 - Legacy Value Reduction Final
## Ziel
p60 reduziert die nach p59 noch doppelt gepflegten fachlichen Legacy-Werte in den verbleibenden YAML-Dateien.
Die fachlichen Werte bleiben in `config/retriex/genre.yaml` erhalten und werden durch p59 bereits bevorzugt gelesen. Die alten Legacy-Pfade bleiben als Fallback-Struktur bestehen, enthalten aber nur noch leere Platzhalter oder neutrale No-Match-Regex-Platzhalter.
## Wichtig
- Keine PHP-Runtime-Logik geändert.
- Keine neuen harten Token-/Stringlisten im PHP-Core.
- `genre.yaml` bleibt unverändert und enthält weiterhin die fachlichen Werte.
- Technische Verarbeitungsschichten bleiben bestehen.
- Technische Konfigurationen wie Runtime, Model, Vector, Index, Cache, Chunking, Stream Guards und allgemeine Final-Answer-Guards wurden nicht verschoben.
## Geänderte Dateien
- `config/retriex/vocabulary.yaml`
- `config/retriex/search_repair.yaml`
- `config/retriex/retrieval.yaml`
- `config/retriex/language.yaml`
- `config/retriex/prompt.yaml`
- `config/retriex/governance.yaml`
## Reduzierte Bereiche
### vocabulary.yaml
Die durch `DomainVocabularyConfig` bereits aus `genre.yaml` gelesenen Klassen, Views und Maps wurden auf leere Fallbacks reduziert, unter anderem:
- Produktrollen: Device-/Accessory-/Requested-Accessory-Code-Klassen
- Shop-Views: Device-/Accessory-Query, Product, Focus und Semantic-Search-Tokens
- Prompt-Views: Main-Device-/Accessory-/Technical-Product-Keywords
- Search-Repair-Views: Direct-Attribute-, Candidate-, Accessory- und Specificity-Listen
- Retrieval-Views: Generic Product Tokens, Short Model Tokens, Reagent/Safety/Device/Document Looks-Like-Listen
- Measurement-Evidence-Maps und Accessory-Focus-Maps
### prompt.yaml
Die fachlichen Antwortregeln, die seit p59 aus `genre.yaml` gelesen werden, wurden reduziert:
- `output_priority.technical_rules`
- `response_format.technical_rules`
- `response_format.accessory_rules`
- `fact_grounding.technical_rules`
- `fact_grounding.with_shop_rules`
Allgemeine Prompt-Struktur, Labels, Budgets, Shop-Record-Regeln und technische Renderregeln bleiben unverändert.
### search_repair.yaml
Die fachlichen Search-Repair-Listen und Muster wurden reduziert:
- `direct_product_attribute_lookup`
- `specific_model_candidate_patterns`
- genreabhängige Candidate-/Accessory-/Requested-Code-Patterns
Für skalare Regex-Fallbacks werden neutrale gültige No-Match-Platzhalter `/(?!)/u` verwendet, damit YAML-/Regex-Validierung nicht durch leere Strings fehlschlägt.
### retrieval.yaml
Die Exact-Selection-Fachbegriffe wurden reduziert:
- `exact_selection_token_variant_prefixes`
- Indicator-Frage-/Phrase-/Tabellenmuster
- Required-Primary-/Context-Terme
Technische Retrieval-Parameter und nicht genrebezogene Retrieval-Einstellungen bleiben unverändert.
### language.yaml
Die Legacy-`protected_terms` wurden auf einen leeren Fallback reduziert.
Generische Stopword-Gruppen, Cleanup-Profile, Normalisierung, ASCII-Transliteration, Separatoren und Dash-Äquivalente bleiben bewusst in `language.yaml`, weil sie Sprach-/Verarbeitungsschicht und nicht reine Genre-Pflegefläche sind.
### governance.yaml
Die fachlichen Regression-/Guardrail-Erwartungen wurden reduziert:
- `regression_baseline.*` fachliche Token, Werte, Keyword- und Shop-Query-Erwartungen
- `language.protected_stopword_terms`
- `core_pattern_audit.domain_marker_terms`
Technische Audit-Regeln wie Source Roots, excluded paths, suspicious calls, allowed literal patterns und Snippet-Limits bleiben in `governance.yaml`.
## Lokale Validierung
Ausgeführt:
```bash
python3 - <<'PY'
# YAML parse for config/retriex/*.yaml
PY
```
Ergebnis: YAML parse OK.
Zusatzcheck:
- 83 reduzierte Legacy-Pfade geprüft.
- Alle reduzierten Pfade enthalten leere Platzhalter bzw. gültige No-Match-Regex-Fallbacks.
- `genre.yaml` wurde nicht verändert.
Nicht ausführbar in diesem ZIP:
```bash
php bin/console mto:agent:config:validate
```
Grund:
```text
Dependencies are missing. Try running "composer install".
```
## Empfohlene Checks nach Einspielen
```bash
bin/console cache:clear
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
```
## Nächster Patch
Nach grünem p60:
- p61 Genre Source-of-Truth Guard
p61 sollte dann erzwingen, dass neue fachliche Listen nicht wieder außerhalb von `genre.yaml` landen und dass Legacy-Pfade leer/Fallback bleiben.