5.1 KiB
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.yamlInclude-/View-/Map-Kettenprompt.yamlfachliche Antwort-, Format- und Grounding-Regelnsearch_repair.yamlfachliche Suchreparatur-Patterns und Candidate-Termsretrieval.yamlExact-Selection- und fachliche Retrieval-Begriffelanguage.yamlprotected_termsgovernance.yamlfachliche 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:
DomainVocabularyConfigPromptBuilderConfigSearchRepairConfigNdjsonHybridRetrieverConfigLanguageCleanupConfigGovernanceConfigSalesIntentConfigCommerceIntentConfigAgentRunnerConfig
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.yamlodergovernance.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 allgemeinemfinal_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:
genre.yamlist bevorzugte Quelle.- Die bisherigen Legacy-Pfade bleiben Fallback.
- p60 kann danach die verbleibenden doppelten Legacy-Werte sicher reduzieren.
Damit bleibt das Zielbild sauber getrennt:
genre.yamlsagt, was fachlich relevant ist.- Agent/Commerce/Prompt/Retrieval/Search-Repair/Language/Governance sagen, wie diese Werte verarbeitet, validiert oder auditiert werden.
Lokale Pruefung
Durchgefuehrt:
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.
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:
Dependencies are missing. Try running "composer install".
Projektchecks nach dem Einspielen
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.