23 KiB
RetrieX v1.6.0 – Konfigurationsanleitung config/retriex/genre.yaml
Stand: Version 1.6.0 auf Basis des aktuellen rag-inprogress.zip.
Diese Anleitung beschreibt, welche fachlichen Werte in config/retriex/genre.yaml gepflegt werden, wie sie in der Runtime wirken und welche Prüfungen nach Änderungen ausgeführt werden müssen.
genre.yaml ist in RetrieX v1.6.0 die zentrale Fachkonfiguration für die aktive Domäne. Im aktuellen Paket ist genau ein Genre aktiv:
id: water_analysis
label: Water analysis / measurement devices
mode: single_installation_single_genre
Wichtig: RetrieX v1.6.0 ist keine Multi-Tenant- oder Multi-Genre-Plattform. Eine Installation steht für ein fachliches Genre. Domainnahe Begriffe, Produktrollen, Query-Guards, Promptregeln, Shop-Matching-Wörter und Regression-Guardrails gehören deshalb hierher, nicht zurück in hart codierte PHP-Listen.
1. Rolle von genre.yaml im System
genre.yaml ergänzt die technischen YAML-Dateien unter config/retriex um eine fachliche Source-of-Truth-Schicht.
In genre.yaml gehören insbesondere:
- Hauptprodukt-, Zubehör- und Verbrauchsmaterialrollen
- Produktattribute, Messparameter, Größen-, Farb- oder Längenbegriffe
- Marken, Kanonisierungen, Schreibvarianten und Synonyme
- Commerce-/Shop-Suchbegriffe und positive Tokenfilter
- Referenzauflösung für Follow-ups aus dem Chatverlauf
- Produktlisten- und Produktlink-Follow-ups
- exakte Zubehör-/Indikatorcode-Guards
- technische Prompt- und Antwortprioritäten
- Measurement-Evidence-Guards
- Search-Repair-Kandidaten und Direct-Attribute-Lookups
- Governance-, Source-of-Truth- und Regression-Anker
Nicht in genre.yaml gehören:
- Datenbankzugangsdaten
- Shopware-Zugangsdaten
- LLM-Endpunkt
- Python-/Vector-Service-Pfade
- Cache-, Lock-, Log- oder Infrastrukturparameter
- konkrete Modell-Samplingwerte wie Temperature oder Top-P
Diese Werte bleiben in .env, services.yaml, model.yaml, vector.yaml, runtime.yaml oder in der Datenbankkonfiguration.
2. Grundstruktur
Die Datei hängt am Symfony-Parameter:
parameters:
retriex.genre.config:
id: water_analysis
label: Water analysis / measurement devices
mode: single_installation_single_genre
description: ...
adaptation_surface: ...
configuration_values: ...
2.1 Metadaten
| Feld | Bedeutung | Anpassung |
|---|---|---|
id |
technischer Genre-Identifier | Nur ändern, wenn die Installation fachlich umgewidmet wird. |
label |
lesbarer Name | Frei sprechend halten. |
mode |
Betriebsmodell | In v1.6.0 bei single_installation_single_genre belassen. |
description |
Kurzbeschreibung | Bei Umwidmung aktualisieren. |
2.2 adaptation_surface
adaptation_surface ist die Landkarte der fachlichen Anpassungsflächen. Sie dokumentiert, welche Runtime-Pfade durch genre.yaml fachlich überlagert oder gespeist werden.
Auswirkung:
- dient Audit, Review und Migration
- ändert normalerweise nicht direkt das Antwortverhalten
- muss zu
configuration_valuespassen - soll keine fachliche Payload enthalten
Ändern nur dann, wenn neue genreabhängige Runtime-Pfade hinzukommen, wegfallen oder umbenannt werden.
2.3 configuration_values
configuration_values enthält die eigentlichen fachlichen Werte. Änderungen hier können Retrieval, Shop-Suche, Commerce-Routing, Promptbau, Search Repair, Follow-up-Auflösung und Regression-Guards unmittelbar beeinflussen.
Grundregel:
- Fachwerte immer hier pflegen.
- Bestehende Gruppenstruktur beibehalten.
source_pathsnicht entfernen.- Nach Änderungen immer Validate, Source-Audit, Pattern-Audit und Regression ausführen.
2.4 source_paths
source_paths verknüpfen Genre-Werte mit den alten oder effektiven technischen Config-Pfaden.
Sie sind wichtig für:
- Nachvollziehbarkeit
- Source-of-Truth-Guardrails
- Migrationssicherheit
- Audit-Ausgaben
Sie liefern nicht selbst den Runtime-Wert. Bei reinen Fachwertänderungen bleiben sie normalerweise unverändert.
3. Runtime-Lesemodell in v1.6.0
Die folgenden Runtime-Klassen lesen fachliche Werte bevorzugt über GenreConfig bzw. genregebundene Konfigurationsviews:
| Klasse / Bereich | Typische Genre-Werte | Wirkung |
|---|---|---|
DomainVocabularyConfig |
Produktrollen, Views, Rollenbegriffe | Geräte-/Zubehörtrennung, Prompt- und Shop-Begriffe |
CommerceQueryParserConfig |
Marken, Canonical Terms, Korrekturen | Shopquery-Normalisierung und Token-Erhalt |
QueryEnricherConfig |
Query-Enrichment-Regeln | Erweiterung oder Fokussierung von Suchanfragen |
CommerceIntentConfig |
Commerce-Signale, Produkt-/Preis-/Shopmuster | Erkennung von Kauf-, Preis- und Shop-Intents |
SalesIntentConfig |
Sales-, Vergleichs-, ROI-Signale | Vertriebsnahe Intent-Erkennung |
AgentRunnerConfig |
Follow-ups, Shopquery-Cleanup, Direct Answer, RAG-Anker | Chatverlauf, Shop-Fallbacks und Antwortsteuerung |
PromptBuilderConfig |
Antwortpriorität, Fact-Grounding, Output-Regeln | Finale Antwortqualität und Grenzen |
SearchRepairConfig |
Repair-Kandidaten, Attribut-Lookup, Zubehörcodes | Reparatur schwacher oder referenzieller Shopanfragen |
NdjsonHybridRetrieverConfig |
Exact Selection, Tabellen-/Indikatormuster | Präzision bei RAG-Fakten und Tabellenextraktion |
LanguageCleanupConfig |
Protected Terms und Cleanup-Profile | Schutz fachlicher Tokens vor Sprachbereinigung |
GovernanceConfig |
Regression- und Audit-Guardrails | Schutz vor Rückfällen in hardcodierte Fachlogik |
Legacy-YAMLs bleiben als technische Verarbeitungsschicht relevant, sind aber nicht mehr der bevorzugte Pflegeort für neue fachliche Domänenwerte.
4. Gruppen in configuration_values
4.1 product_roles
Zweck: definiert, welche Begriffe als Hauptprodukt, Zubehör, Verbrauchsmaterial oder rollenbezogene Prompt-/Shop-Begriffe gelten.
Wichtige Knoten:
primary_product_termsaccessory_product_termsrequested_accessory_code_termsshop_viewsprompt_viewsno_llm_fallback_terms
Auswirkung:
- trennt Geräte/Hauptprodukte von Zubehör und Verbrauchsmaterialien
- beeinflusst Shop-Matching, Promptregeln und No-LLM-Fallbacks
- verhindert, dass Zubehörfragen als Gerätefragen beantwortet werden
- schützt Flows wie Indikator/Reagenz/Zubehör gegen falsche Produktrollen
Anpassung:
- Für ein neues Genre zuerst diese Gruppe überarbeiten.
- Hauptprodukt- und Zubehörbegriffe getrennt halten.
- Realistische Nutzerbegriffe, Umlaute und ASCII-Varianten aufnehmen.
- Keine zu generischen Wörter wie
produkt,artikeloderteilals starke Rollenbegriffe verwenden.
Beispiel Wasseranalyse:
primary_product_terms:
terms:
- messgerät
- analysegerät
- testomat
accessory_product_terms:
terms:
- indikator
- reagenz
- zubehör
4.2 product_attributes
Zweck: definiert fachliche Attribute, Constraints und Vergleichsmuster.
Wichtige Knoten:
direct_attribute_cleanup.product_type_termsdirect_attribute_cleanup.stop_termsdirect_attribute_cleanup.comparative_constraint_patternssize_and_color_termsnumeric_length_constraints
Auswirkung:
- ermöglicht direkte Attributfragen wie „Anschlusskabel länger 20 m“
- steuert Cleanup vor Search Repair
- unterstützt Sortier-/Filterlogik für numerische Längen oder Größen
- kann für andere Genres auf Größe, Farbe, Material, Spannung, Gewinde, Kompatibilität usw. umgewidmet werden
Anpassung:
- Fachliche Produktartbegriffe austauschen, nicht nur ergänzen.
- Stop-Terme nur für Bedienwörter verwenden.
- Regex-Muster vorsichtig ändern und mit echten Prompts testen.
4.3 brands_and_canonical_terms
Zweck: pflegt Marken, Kanonisierungen, Schreibweisen und semantische Synonyme.
Wichtige Knoten:
known_brandscanonical_termsquery_enrichment_rulesaccessory_focus_variantsrag_evidence_synonyms
Auswirkung:
- schützt Markennamen und Modellfamilien in Shopqueries
- normalisiert Tippfehler oder Schreibvarianten
- hält direkte Produktnamen wie
chlor select sensoroder Modellkürzel wietestomat lab clstabil - unterstützt RAG-Evidence-Abgleich über Synonyme
Anpassung:
- Nur etablierte Synonyme und klare Korrekturen eintragen.
- Keine aggressiven Kanonisierungen, die Varianten zusammenwerfen.
- Kürzel wie
CL,TH,SIO2,LAB CLimmer gegen Regression testen.
4.4 intent_and_routing
Zweck: enthält fachliche Werte für Commerce-, Sales- und Routing-Erkennung.
Wichtige Knoten:
fuzzy_routing_termscommerce_intentsales_intent
Auswirkung:
- erkennt Preis-, Shop-, Produkt-, Beratungs- und Vergleichsfragen
- trennt technische Wissensfragen von Produkt-/Kaufintents
- verhindert, dass reine Fachfragen unnötig zu Shop-Suchen werden
Anpassung:
- Starke Shopbegriffe und Beratungssignale sauber trennen.
- Branchen- oder Anwendungskontexte nicht automatisch als Produktbeweis behandeln.
- Für neue Genres typische Kauf-/Vergleichs-/Beratungswörter ergänzen.
4.5 context_resolution
Zweck: löst referenzielle Folgefragen aus Chatverlauf und sichtbaren Antworten auf.
Wichtige Knoten:
commercial_table_follow_upreferential_termshistory_anchor_enrichmentproduct_list_followupmeta_query_guardrag_anchor_enrichment
Auswirkung in v1.6.0:
- Folgefragen wie „was kostet der indikator“ können den letzten Geräte-/Indikatoranker nutzen.
- Produktlisten-Follow-ups wie „gib mir Links zu den Produkten“ können sichtbare Produktnamen extrahieren.
- Mehrprodukt-Follow-ups werden auf einzelne Produktanker vorbereitet.
- Schwache Shopfragen wie „suche im Shop nach der Information“ können auf konkrete History-Anker zurückfallen.
- RAG-Anker wie Messwerte und Produkttitel helfen, Folgefragen fachlich zu fokussieren.
Anpassung:
referential_termssind Pronomen/Füllwörter, keine Produktbegriffe.product_list_followup.anchor_patternsmüssen konkrete Produktidentitäten erfassen.meta_query_guardsollte Bedien-/Meta-Wörter enthalten, die nicht als Suchinhalt dominieren dürfen.- Bei neuen Produktfamilien entsprechende
canonical_family_termsund Startmuster ergänzen.
4.6 shop_query_runtime
Zweck: steuert, welche Tokens in Shopqueries erhalten, entfernt, positiv gefiltert oder zu konkreten Produktankern repariert werden.
Wichtige Knoten:
current_input_preservation_termsstopword_cleanuppositive_token_filtergeneric_device_anchorcompound_prefix_matchprimary_identity_repairsemantic_shop_search_tokensdirect_answer
Auswirkung in v1.6.0:
- Relationsrauschen wie „erreicht“, „gemessen“, „beim“ oder reine Bedienwörter wird entfernt.
- Korrigierte Tokens aus der Commerce-Konfiguration bleiben in der finalen Query erhalten.
- Modellkürzel wie
LAB CL,THCL,CLT,SIO2werden über positive Filter und Nachbarschaftsregeln geschützt. - Generische Gerätefragen können auf konkrete YAML-konfigurierte Geräteanker wie
testomat 808 sio2geführt werden. - Self-Loops bei identischen Folgeaktionsqueries können unterdrückt werden.
Anpassung:
allowed_termsundblocked_termsimmer zusammen prüfen.adjacent_variant_termsnur für echte Modell-/Variantentokens verwenden.generic_device_anchor.anchor_rulesist der richtige Ort für domainnahe Gerät-Parameter-Anker, nicht PHP-Core.- Stopwords niemals so breit wählen, dass Produktnamen oder Messparameter verloren gehen.
4.7 result_identity_and_answer_policy
Zweck: definiert Antwortregeln, Prompt-Prioritäten, Evidence Guards und Ergebnisidentität.
Wichtige Knoten:
prompt_rules.output_priority_technicalprompt_rules.response_format_technicalprompt_rules.response_format_accessoryprompt_rules.fact_grounding_technicalprompt_rules.fact_grounding_with_shopprompt_keyword_viewsmeasurement_evidence_guard_termsmeasurement_evidence_maps
Auswirkung:
- technische Fakten werden exakt und quellennahe beantwortet
- niedrigste/höchste Grenzwerte bleiben auf den Primärfakt fokussiert
- Indikator-/Reagenzfragen werden nicht mit anderen Varianten vermischt
- Produktselektion mit Shopdaten bleibt an Produktidentität, Produktnummer und explizite Evidence gebunden
- nicht belegte Informationen sollen als „Nicht bekannt.“ formuliert werden
Anpassung:
- Promptregeln kurz, eindeutig und testbar halten.
- Keine Vertriebsversprechen aufnehmen, die aus Quellen nicht belegbar sind.
- Bei neuen Messparametern
measurement_evidence_mapserweitern. - Exakte Code- und Variantenregeln immer mit Zubehör-/Preisflows testen.
4.8 search_repair
Zweck: repariert schwache Shopqueries und direkte Attributsuchen.
Wichtige Knoten:
direct_product_attribute_lookuprequested_accessory_code_termscandidate_patternscandidate_terms
Auswirkung:
- erkennt spezifische Modell-/Zubehörkandidaten
- hält exakte Zubehörcodes wie
300getrennt von Varianten wie300 S - unterstützt reparierte Queries bei fehlenden oder schwachen Primärtreffern
- hilft bei Follow-ups, die nur „Preis“, „Shop“ oder „Information“ enthalten
Anpassung:
- Regexe nicht auf einzelne Produkte hart verdrahten.
- Code-Muster so definieren, dass Varianten nur bei expliziter Nutzereingabe gematcht werden.
- Generische Kandidatentokens knapp halten, sonst entstehen breite Shoptreffer.
4.9 retrieval_and_language
Zweck: verbindet Genre-Werte mit Retrieval- und Sprachbereinigung.
Wichtige Knoten:
protected_termscleanup_profilesretrieval_vocabulary_viewsexact_selection
Auswirkung:
- schützt kurze technische Tokens vor Stopword-Cleanup
- sichert RAG-Evidence- und Retrieval-Referenz-Cleanup
- unterstützt exakte Auswahl bei Tabellen, Grenzwerten und Indikatormappings
Anpassung:
- Kurze Modell-/Messparameter-Tokens in Protected-Term-Listen absichern.
- Cleanup-Profile nicht durch alte Legacy-Stopword-Listen ersetzen.
- Exact-Selection-Regeln bei Tabellenfragen mit Regression testen.
4.10 shop_data_mapping
Zweck: beschreibt fachliche Shopdaten-Zuordnung und Shop-Matching-Rollen.
Wichtige Knoten:
custom_fieldstextrole_guardcommerce_connection
Auswirkung:
- mappt Shopware-Custom-Fields auf Antwortfelder
- steuert Geräte-/Zubehörfilterung im Shop-Matching
- entscheidet, wann Shopdaten als kommerzielle Felder priorisiert werden
Anpassung:
- Feldnamen an den realen Shopware-Datenbestand anpassen.
- Rollenfilter nicht so hart setzen, dass Zubehör-/Bundle-Treffer verschwinden.
- Shopdaten dürfen technische Eignung nur belegen, wenn der Produktdatensatz sie explizit nennt.
4.11 governance_and_regression
Zweck: hält Regression- und Audit-Anker für stabile Flows.
Wichtige Knoten:
regression_baselinevocabulary_guardrailscore_pattern_audit
Auswirkung:
- schützt zentrale 1.4.x/1.5.x/1.6.0-Flows
- bewahrt kurze Modell-/Parameter-Tokens
- verhindert Rückfälle in neue fachliche PHP-Hardcodings
- macht verdächtige Pattern-/Token-Nutzung im Core reviewbar
Anpassung:
- Neue stabile Kunden-/Testflows als Regression-Anker ergänzen.
- Domain Marker Terms aktuell halten.
- Audit-Ausnahmen nur für technische Parserlogik zulassen, nicht für fachliche Sonderfälle.
5. Wichtige v1.6.0-Guardrails
5.1 Exakte Zubehör- und Indikatorcodes
Ein konkreter Code wie 300 darf nicht automatisch Varianten wie 300 S, 301 oder 302 einschließen. Varianten sind nur erlaubt, wenn die Nutzerfrage sie explizit nennt oder die Quelle denselben Produktdatensatz eindeutig damit verbindet.
Relevant sind insbesondere:
product_roles.requested_accessory_code_termssearch_repair.requested_accessory_code_termssearch_repair.candidate_patternsresult_identity_and_answer_policy.prompt_rules
5.2 Geräteanker bei referenziellen Shopfragen
Bei Follow-ups wie „was kostet der indikator“ muss der konkrete Verlaufskontext erhalten bleiben, z. B. Gerät + Indikatortyp. indikatortyp ist Kontextsignal, darf aber nicht allein die Shopquery dominieren.
Relevant sind:
context_resolution.history_anchor_enrichmentcontext_resolution.commercial_table_follow_upshop_query_runtime.positive_token_filtershop_query_runtime.stopword_cleanup
5.3 Produktlisten- und Link-Follow-ups
Bei Fragen wie „gib mir Links zu den Produkten“ soll RetrieX sichtbare Produktanker aus der vorherigen Antwort verwenden und Mehrproduktlisten in Einzelqueries aufteilen.
Relevant sind:
context_resolution.product_list_followup.enabledcontext_resolution.product_list_followup.anchor_patternscontext_resolution.product_list_followup.max_anchorscontext_resolution.product_list_followup.template
5.4 Schwache History-/Meta-Fragen
Meta-Fragen wie „suche im Shop nach der Information“ enthalten kaum Produktsubstanz. v1.6.0 darf dann auf den letzten konkreten Produktanker aus der History zurückfallen, statt information als Shopquery zu senden.
Relevant sind:
context_resolution.meta_query_guardcontext_resolution.product_list_followup.noise_termsshop_query_runtime.stopword_cleanup
5.5 Generische Device-Parameter-Anker
Fragen wie „Gerät für Silikatüberwachung“ können auf konkrete konfigurierbare Anker wie testomat 808 sio2 geführt werden. Diese Abbildung gehört in YAML, nicht als Sonderlogik in PHP.
Relevant ist:
shop_query_runtime.generic_device_anchor.anchor_rules
6. Sichere Änderungsreihenfolge
Kleine Wertänderung
- Passenden Knoten in
configuration_valuessuchen. - Wert ändern oder ergänzen.
source_pathsunverändert lassen.- Config und Regression prüfen.
Neues Synonym oder neue Marke
brands_and_canonical_termsprüfen.- Falls Shopquery-relevant:
shop_query_runtime.positive_token_filter.allowed_termsprüfen. - Falls Retrieval-/Prompt-relevant:
retrieval_and_language.protected_termsoder passende Vocabulary-Views prüfen. - Gegen echte Prompts testen.
Neues Zubehör oder Verbrauchsmaterial
product_roles.accessory_product_termsergänzen.product_roles.requested_accessory_code_termsprüfen.result_identity_and_answer_policy.response_format_accessoryprüfen.- Shopquery- und Preis-Follow-up testen.
Neues Geräte-/Parameter-Mapping
shop_query_runtime.generic_device_anchor.anchor_rulesergänzen.brands_and_canonical_terms.canonical_termsprüfen.result_identity_and_answer_policy.measurement_evidence_mapsergänzen, falls technische Evidence betroffen ist.mto:agent:test:shop-searchundmto:agent:retrieval:testausführen.
Umwidmung auf neues Genre
id,label,descriptionändern.product_rolesvollständig ersetzen.- Attribute, Marken, Synonyme und Intents ersetzen.
- Shopquery-Runtime und Search Repair neu fachlich definieren.
- Promptregeln neutralisieren und danach genrebezogen ergänzen.
- Regression-Baseline für das neue Genre aufbauen.
- Alte Wasseranalyse-Tokens aus Guardrails entfernen, sofern nicht mehr gültig.
7. Pflichtchecks nach Änderungen
Nach jeder fachlichen Änderung an genre.yaml mindestens ausführen:
php bin/console mto:agent:config:validate
php bin/console mto:agent:config:audit-source --details
php bin/console mto:agent:config:audit-patterns --details
php bin/console mto:agent:regression:test
Für Review/CI zusätzlich möglich:
php bin/console mto:agent:config:dump-effective --summary
php bin/console mto:agent:config:validate --json
php bin/console mto:agent:regression:test --json
Für praktische Query-Tests:
php bin/console mto:agent:retrieval:test "niedrigster Grenzwert Wasserhärte"
php bin/console mto:agent:test:shop-search "testomat 808 300 indikator" --repair
php bin/console mto:agent:chat cli-debug
8. Typische Fehlerbilder
| Änderung | Möglicher Fehler |
|---|---|
| Fachbegriff nur in PHP ergänzt | Audit findet neue hardcodierte Semantik oder spätere Updates verlieren den Wert. |
blocked_terms zu breit |
Produkt-/Parameter-Tokens verschwinden aus Shopqueries. |
allowed_terms zu eng |
Modellkürzel wie LAB CL oder SIO2 fallen auf generische Begriffe zurück. |
| Zubehörbegriff als Hauptprodukt gepflegt | Zubehörfragen werden als Gerätefragen beantwortet. |
| Exakte Code-Regel zu weich | 300 zieht Varianten wie 300 S oder andere Codes in die Antwort. |
| Product-list Patterns zu breit | Follow-ups erzeugen falsche oder kombinierte Produktqueries. |
| Promptregel zu allgemein | Antworten werden sales-lastig oder enthalten nicht belegte Details. |
| Regression-Baseline nicht angepasst | stabile Flows können unbemerkt brechen. |
9. Entscheidungsregeln
| Wertart | Richtiger Ort |
|---|---|
| Geräte-/Zubehörwort | product_roles |
| Messparameter oder Attribut | product_attributes oder measurement_evidence_maps |
| Markenname / Produktfamilie | brands_and_canonical_terms.known_brands |
| Schreibvariante / Tippfehler | brands_and_canonical_terms.canonical_terms oder Commerce-Korrektur |
| Shopquery-Stopword | shop_query_runtime.stopword_cleanup |
| erhaltenswertes Shop-Token | shop_query_runtime.positive_token_filter.allowed_terms |
| verbotener Shop-Noise | shop_query_runtime.positive_token_filter.blocked_terms |
| generische Gerätefrage zu konkretem Produktanker | shop_query_runtime.generic_device_anchor.anchor_rules |
| Follow-up aus Verlauf | context_resolution |
| Antwort-/Promptgrenze | result_identity_and_answer_policy.prompt_rules |
| Search-Repair-Muster | search_repair |
| Regression-Schutz | governance_and_regression |
10. Minimalbeispiele
10.1 Neues Zubehör-Synonym ergänzen
configuration_values:
product_roles:
accessory_product_terms:
terms:
- indikator
- reagenz
- kalibrierpuffer
Danach testen:
php bin/console mto:agent:config:validate
php bin/console mto:agent:regression:test
10.2 Neues Modellkürzel schützen
configuration_values:
shop_query_runtime:
positive_token_filter:
adjacent_variant_terms:
- lab
- cl
- sio2
Zusätzlich prüfen, ob das Kürzel auch in retrieval_and_language.protected_terms oder Governance-Guardrails geschützt werden muss.
10.3 Neue generische Geräteanker-Regel
configuration_values:
shop_query_runtime:
generic_device_anchor:
anchor_rules:
- anchor: example device xy
template: "{anchor}"
match_terms:
- beispielparameter
- beispielüberwachung
Danach praktische Shop- und Retrievaltests ausführen.
11. Kurzfazit
genre.yaml ist in RetrieX v1.6.0 die zentrale fachliche Steuerdatei. Sie hält die Domänenlogik aus dem PHP-Core heraus und macht Produktrollen, Query-Verhalten, Follow-up-Auflösung, Shop-Matching, Promptgrenzen und Regression-Guards reviewbar.
Neue fachliche Werte sollen hier oder in den angebundenen YAML-Views gepflegt werden. Nach jeder Änderung müssen Config-Validierung, Source-Audit, Pattern-Audit und Regressionstest grün bleiben.