This commit is contained in:
team 1
2026-05-06 16:40:20 +02:00
parent abe929bd20
commit 9731880cd3
6 changed files with 558 additions and 0 deletions

188
config/retriex/genre.yaml Normal file
View File

@@ -0,0 +1,188 @@
# Single-genre adaptation surface for this RetrieX installation.
#
# This file intentionally does not implement multi-tenant or per-request genre
# switching. One installation represents one genre. The entries below group the
# configuration areas that must be reviewed when the same software is repurposed
# for another genre such as fashion, furniture, spare parts or electronics.
#
# The `paths` values reference the effective config dump keys used by
# mto:agent:config:validate. They are guardrailed so stale or renamed paths are
# detected during config validation.
parameters:
retriex.genre.config:
id: water_analysis
label: 'Water analysis / measurement devices'
mode: single_installation_single_genre
description: 'Genre-specific configuration surface for one RetrieX installation.'
adaptation_surface:
product_roles:
description: 'Main product, accessory and consumable role vocabulary used for routing, shop matching and answer guards.'
paths:
- vocabulary.classes.device
- vocabulary.classes.accessory
- vocabulary.classes.requested_accessory_code_terms
- vocabulary.views.shop.device_query.add
- vocabulary.views.shop.accessory_query.add
- vocabulary.views.shop.device_product.add
- vocabulary.views.shop.accessory_product.add
- vocabulary.views.prompt.main_device_request_keywords.add
- vocabulary.views.prompt.accessory_request_keywords.add
- vocabulary.views.prompt.main_device_product_keywords.add
- vocabulary.views.prompt.accessory_product_keywords.add
- agent.no_llm_fallback.product_roles.main_device_request_keywords
- agent.no_llm_fallback.product_roles.accessory_product_keywords
- prompt.detection.technical_product_keywords
- prompt.detection.accessory_request_keywords
product_attributes:
description: 'Genre-specific attributes and constraints, for example measurement values now or size/color/material later.'
paths:
- vocabulary.classes.direct_product_attribute_stop_terms
- vocabulary.views.search_repair.direct_product_type_terms.add
- vocabulary.views.search_repair.direct_product_attribute_stop_terms.include
- agent.shop_runtime.attribute_cleanup.product_type_terms
- agent.shop_runtime.attribute_cleanup.stop_terms
- agent.shop_runtime.attribute_cleanup.comparative_constraint_patterns
- agent.shop_runtime.answer_constraints.length_sort.trigger_patterns
- agent.shop_runtime.answer_constraints.length_sort.value_patterns
- agent.shop_runtime.answer_constraints.length_filter.min_patterns
- agent.shop_runtime.answer_constraints.length_filter.max_patterns
- intent.commerce.size_token_terms
- intent.commerce.size_terms
- intent.commerce.color_terms
- intent.commerce.patterns.size_extraction_template
- intent.commerce.patterns.size_value_template
- intent.commerce.patterns.size_token_value_template
- intent.commerce.patterns.color_value_template
brands_and_canonical_terms:
description: 'Known brands, canonical token mappings and query enrichment rules that change with the shop genre.'
paths:
- commerce_query.known_brands
- commerce_query.search_token_canonical_map
- query_enrichment.rules
- vocabulary.maps.shop.accessory_focus_variants
- vocabulary.maps.agent.rag_evidence_guard.synonyms
intent_and_routing:
description: 'Genre-specific commerce/advisory signals and fuzzy routing terms.'
paths:
- vocabulary.classes.input_normalization_fuzzy_routing_terms
- agent.input_normalization.fuzzy_routing.terms
- intent.commerce.strong_signals
- intent.commerce.advisory_signals
- intent.commerce.advisory_product_selection_patterns
- intent.commerce.explicit_commerce_intent_patterns
- intent.commerce.patterns.model_like_product
- intent.sales.sales_signals
- intent.sales.comparison_signals
- intent.sales.objection_signals
- intent.sales.implementation_signals
- intent.sales.roi_signals
context_resolution:
description: 'Follow-up anchors and meta-query handling for referential shop questions in the current genre.'
paths:
- agent.follow_up_context.commercial_table_follow_up.history_anchor_patterns
- agent.follow_up_context.commercial_table_follow_up.indicator_marker_patterns
- agent.follow_up_context.commercial_table_follow_up.query_template_with_model
- agent.follow_up_context.commercial_table_follow_up.query_template_without_model
- agent.shop_runtime.context_resolution.context_usage.referential_terms
- agent.shop_runtime.context_resolution.history_anchor_enrichment.trigger_terms
- agent.shop_runtime.context_resolution.history_anchor_enrichment.anchor_patterns
- agent.shop_runtime.context_resolution.history_anchor_enrichment.template
- agent.shop_runtime.context_resolution.meta_query_guard.meta_only_terms
- agent.shop_runtime.context_resolution.meta_query_guard.context_fallback_filter_terms
- agent.shop_runtime.context_resolution.rag_anchor_enrichment.numeric_focus_patterns
- agent.shop_runtime.context_resolution.rag_anchor_enrichment.product_title_patterns
- agent.shop_runtime.context_resolution.rag_anchor_enrichment.anchor_bonus_patterns
- agent.shop_runtime.context_resolution.rag_anchor_enrichment.subject_terms
shop_query_runtime:
description: 'Shop query cleanup and direct Shopware search behavior that needs genre-specific terms but no PHP branching.'
paths:
- vocabulary.classes.agent_shop_current_input_preservation_terms
- vocabulary.classes.agent_shop_context_anchor_trigger_terms
- agent.shop_runtime.query_cleanup.current_input_preservation.terms
- agent.shop_runtime.query_cleanup.stopword_cleanup.terms
- agent.shop_runtime.result_identity.compound_prefix_match.terms
- agent.shop_runtime.result_identity.primary_identity_repair.stop_terms
- agent.shop_runtime.direct_answer.intro
- agent.shop_runtime.direct_answer.no_results
- agent.shop_runtime.direct_answer.sorted_by_length_note
- agent.shop_runtime.direct_answer.min_length_filter_note
- agent.shop_runtime.direct_answer.max_length_filter_note
result_identity_and_answer_policy:
description: 'Grounding, role separation and atomicity rules that must match the active product genre.'
paths:
- prompt.rules.output_priority_technical
- prompt.rules.response_format_technical
- prompt.rules.response_format_accessory
- prompt.rules.fact_grounding_technical
- prompt.rules.fact_grounding_with_shop
- vocabulary.views.prompt.measurement_evidence_guard.accessory_lookup_guard_terms.add
- vocabulary.views.prompt.measurement_evidence_guard.accessory_lookup_passthrough_terms.add
- vocabulary.views.prompt.measurement_evidence_guard.generic_positive_context_terms.add
- vocabulary.views.prompt.measurement_evidence_guard.generic_negative_context_terms.add
search_repair:
description: 'Genre-specific repair tokens, candidate patterns and exact identifier behavior.'
paths:
- search_repair.direct_product_attribute_lookup
- vocabulary.views.search_repair.requested_accessory_code_terms.include
- search_repair.specific_model_candidate_patterns
- vocabulary.views.search_repair.model_candidate_exclude_terms.include
- vocabulary.views.search_repair.generic_candidate_tokens.add
- vocabulary.views.search_repair.accessory_candidate_terms.add
- vocabulary.views.search_repair.accessory_or_bundle_terms.add
- vocabulary.views.search_repair.specificity_boost_terms.add
- search_repair.patterns.model_candidate
- search_repair.patterns.accessory_candidate_template
- search_repair.patterns.requested_accessory_code
- search_repair.patterns.accessory_or_bundle_template
- search_repair.patterns.model_like
- search_repair.patterns.specificity_boost_template
retrieval_and_language:
description: 'Genre-specific protected terms, exact selection helpers and retrieval vocabulary. Engine parameters stay outside this surface.'
paths:
- language.protected_terms
- language.cleanup_profiles.commerce_query
- language.cleanup_profiles.rag_evidence
- language.cleanup_profiles.shop_context_fallback
- retrieval.vocabulary.generic_product_tokens
- retrieval.vocabulary.important_short_model_tokens
- retrieval.vocabulary.family_descriptor_tokens
- retrieval.vocabulary.looks_like_reagent_tokens
- retrieval.vocabulary.looks_like_device_words
- retrieval.vocabulary.looks_like_document_words
- retrieval.exact_selection_token_variant_prefixes
- retrieval.exact_selection_indicator_question_tokens
- retrieval.exact_selection_indicator_question_phrases
- retrieval.exact_selection_indicator_table_heading_patterns
- retrieval.exact_selection_indicator_table_header_patterns
- retrieval.exact_selection_indicator_table_row_patterns
- retrieval.exact_selection_indicator_table_required_primary_terms
- retrieval.exact_selection_indicator_table_required_context_terms
shop_data_mapping:
description: 'Shop record fields and matching text fields that are installation-/genre-specific.'
paths:
- shop_matching.custom_fields
- shop_matching.text.custom_field_join_separator
- shop_matching.text.primary_secondary_separator
- shop_matching.role_guard
- commerce.store_api_base_url
- commerce.max_shop_results
governance_and_regression:
description: 'Guardrails and regression expectations that intentionally protect the active genre.'
paths:
- governance.regression_baseline.protected_short_model_tokens
- governance.regression_baseline.protected_measurement_values
- governance.regression_baseline.protected_technical_prompt_keywords
- governance.regression_baseline.protected_accessory_prompt_keywords
- governance.vocabulary
- governance.core_pattern_audit

View File

@@ -1,5 +1,6 @@
imports:
- { resource: 'retriex/runtime.yaml' }
- { resource: 'retriex/genre.yaml' }
- { resource: 'retriex/index.yaml' }
- { resource: 'retriex/vector.yaml' }
- { resource: 'retriex/commerce.yaml' }
@@ -116,6 +117,10 @@ services:
$retrievalMaxChunks: '%retriex.model.default_retrieval_max_chunks%'
$retrievalVectorTopK: '%retriex.model.default_retrieval_vector_top_k%'
App\Config\GenreConfig:
arguments:
$config: '%retriex.genre.config%'
App\Config\DomainVocabularyConfig:
arguments:
$config: '%retriex.vocabulary.config%'