p59 + p60
This commit is contained in:
134
RETRIEX_PATCH_59_COMPLETE_GENRE_WIRING_README.md
Normal file
134
RETRIEX_PATCH_59_COMPLETE_GENRE_WIRING_README.md
Normal file
@@ -0,0 +1,134 @@
|
||||
# RetrieX Patch p59 - Complete Genre Wiring
|
||||
|
||||
## Ziel
|
||||
|
||||
Dieser Patch schliesst die Genre-Verdrahtung weiter ab: noch nicht oder nur indirekt verdrahtete fachliche Parameter lesen nun bevorzugt aus `config/retriex/genre.yaml`.
|
||||
|
||||
Wichtig: p59 loescht keine Werte aus Legacy-YAMLs. Die alten Pfade bleiben als Fallback aktiv. Damit ist der Patch bewusst ein reiner Wiring-Schritt und bereitet p60 vor.
|
||||
|
||||
## Warum dieser Schritt
|
||||
|
||||
p55 bis p58 haben die zentrale Single-Genre-Pflegeflaeche aufgebaut, erste Runtime-Flows an `genre.yaml` angeschlossen und bereits verdrahtete Legacy-Werte kontrolliert reduziert.
|
||||
|
||||
p59 erweitert diese bevorzugte Genre-Leselogik auf die verbliebenen fachlichen Oberflaechen, insbesondere:
|
||||
|
||||
- `vocabulary.yaml` Include-/View-/Map-Ketten
|
||||
- `prompt.yaml` fachliche Antwort-, Format- und Grounding-Regeln
|
||||
- `search_repair.yaml` fachliche Suchreparatur-Patterns und Candidate-Terms
|
||||
- `retrieval.yaml` Exact-Selection- und fachliche Retrieval-Begriffe
|
||||
- `language.yaml` `protected_terms`
|
||||
- `governance.yaml` fachliche Regression-/Guardrail-Erwartungen
|
||||
- fachliche Intent-/Routing-Restwerte fuer Commerce/Sales
|
||||
- Commercial-Table-Follow-up-Anker in `agent.yaml`
|
||||
|
||||
## Was geaendert wurde
|
||||
|
||||
### Genre-Konfiguration
|
||||
|
||||
`config/retriex/genre.yaml` wurde um fehlende, bereits bestehende fachliche Werte ergaenzt. Die Werte wurden aus den bisherigen Legacy-Pfaden uebernommen, nicht neu erfunden.
|
||||
|
||||
Ergaenzt wurden insbesondere:
|
||||
|
||||
- Shop-Semantic-Search-Tokens aus `vocabulary.views.shop.semantic_search_tokens`
|
||||
- technische Prompt-Keywords aus `vocabulary.views.prompt.technical_product_keywords`
|
||||
- Measurement-Evidence-Maps aus `vocabulary.maps.prompt.measurement_evidence_guard`
|
||||
- Safety-Doc-/Safety-Word-Retrieval-Views aus `vocabulary.views.retrieval.*`
|
||||
|
||||
### Runtime-/Config-Facades
|
||||
|
||||
Folgende Config-Klassen lesen neue fachliche Werte bevorzugt aus `GenreConfig` und fallen sonst auf die bestehenden Legacy-Pfade zurueck:
|
||||
|
||||
- `DomainVocabularyConfig`
|
||||
- `PromptBuilderConfig`
|
||||
- `SearchRepairConfig`
|
||||
- `NdjsonHybridRetrieverConfig`
|
||||
- `LanguageCleanupConfig`
|
||||
- `GovernanceConfig`
|
||||
- `SalesIntentConfig`
|
||||
- `CommerceIntentConfig`
|
||||
- `AgentRunnerConfig`
|
||||
|
||||
### Dependency Injection
|
||||
|
||||
`config/services.yaml` injiziert `GenreConfig` nun auch in die neu verdrahteten Config-Facades.
|
||||
|
||||
## Nicht geaendert
|
||||
|
||||
- Keine Legacy-Wertloeschung.
|
||||
- Keine Reduktion von `vocabulary.yaml`, `prompt.yaml`, `search_repair.yaml`, `retrieval.yaml`, `language.yaml` oder `governance.yaml`.
|
||||
- Keine neuen fachlichen Defaults im PHP-Core.
|
||||
- Keine neuen harten Token-/Stringlisten im PHP-Core.
|
||||
- Keine Multi-Genre-/Tenant-Umschaltung.
|
||||
- Keine Aenderung an `model.yaml`, `vector.yaml`, `index.yaml`, `runtime.yaml`, Cache-/Pfad-Konfiguration, LLM-Timeouts, Embedding-Modellen, Chunk-Groessen, technischen Stream Guards oder allgemeinem `final_answer_guard`.
|
||||
- Keine Shopware-Kriterien-, Ranking-, Retrieval-Scoring- oder LLM-Logik-Aenderung.
|
||||
|
||||
## Erwartetes Verhalten
|
||||
|
||||
Das fachliche Antwortverhalten soll unveraendert bleiben. Fuer die verdrahteten Werte gilt nun:
|
||||
|
||||
1. `genre.yaml` ist bevorzugte Quelle.
|
||||
2. Die bisherigen Legacy-Pfade bleiben Fallback.
|
||||
3. p60 kann danach die verbleibenden doppelten Legacy-Werte sicher reduzieren.
|
||||
|
||||
Damit bleibt das Zielbild sauber getrennt:
|
||||
|
||||
- `genre.yaml` sagt, was fachlich relevant ist.
|
||||
- Agent/Commerce/Prompt/Retrieval/Search-Repair/Language/Governance sagen, wie diese Werte verarbeitet, validiert oder auditiert werden.
|
||||
|
||||
## Lokale Pruefung
|
||||
|
||||
Durchgefuehrt:
|
||||
|
||||
```bash
|
||||
php -l src/Config/DomainVocabularyConfig.php
|
||||
php -l src/Config/PromptBuilderConfig.php
|
||||
php -l src/Config/SearchRepairConfig.php
|
||||
php -l src/Config/NdjsonHybridRetrieverConfig.php
|
||||
php -l src/Config/LanguageCleanupConfig.php
|
||||
php -l src/Config/GovernanceConfig.php
|
||||
php -l src/Config/SalesIntentConfig.php
|
||||
php -l src/Config/CommerceIntentConfig.php
|
||||
php -l src/Config/AgentRunnerConfig.php
|
||||
```
|
||||
|
||||
Alle PHP-Syntaxchecks waren gruen.
|
||||
|
||||
```bash
|
||||
python3 - <<'PY'
|
||||
# YAML-Parsing fuer alle Dateien unter config/retriex/*.yaml
|
||||
PY
|
||||
```
|
||||
|
||||
Alle `config/retriex/*.yaml` Dateien konnten geparst werden.
|
||||
|
||||
Zusaetzlich wurde skriptbasiert geprueft, dass die neu verdrahteten Genre-Werte den bisherigen Legacy-Werten entsprechen. Geprueft wurden unter anderem:
|
||||
|
||||
- Vocabulary-Views und Vocabulary-Maps
|
||||
- Prompt-Regeln und technische Keywords
|
||||
- Search-Repair-Patterns und Candidate-Terms
|
||||
- Retrieval-Safety-Views und Language-Protected-Terms
|
||||
- Governance-/Regression-Guardrail-Werte
|
||||
- Sales-/Commerce-Intent-Restwerte
|
||||
- Commercial-Table-Follow-up-Anker
|
||||
|
||||
Ergebnis: `RESULT PASS`.
|
||||
|
||||
`bin/console` konnte lokal nicht ausgefuehrt werden, weil im ZIP kein `vendor/` enthalten ist:
|
||||
|
||||
```text
|
||||
Dependencies are missing. Try running "composer install".
|
||||
```
|
||||
|
||||
## Projektchecks nach dem 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
|
||||
```
|
||||
|
||||
## Naechster Schritt
|
||||
|
||||
Wenn p59 gruen ist, kann p60 folgen: `Legacy Value Reduction Final`. Erst dort werden die verbleibenden doppelten fachlichen Werte aus den Legacy-YAMLs entfernt oder auf leere Fallback-Platzhalter reduziert.
|
||||
Reference in New Issue
Block a user