2.7 KiB
RetrieX Patch 2: Small Configs YAML-Only
Scope of this patch:
ContextServiceConfigCatalogIntentConfigStopWordsConfig
Goal
Move the first small configuration areas to the new rule:
YAML is the source of truth. PHP validates and exposes configuration values, but does not provide fachliche defaults.
Changed behavior
Context config
The previous PHP constants were removed:
MAX_VISIBLE_REGULAR_LINES = 25MAX_FULL_LINES = 500
The same values now live in config/retriex/runtime.yaml:
retriex.context.config:
max_visible_regular_lines: 25
max_full_lines: 500
ContextService now reads these values through ContextServiceConfig.
Catalog intent config
The previous PHP constants were removed from CatalogIntentConfig:
MIN_SCORE = 0.72AMBIGUITY_DELTA = 0.02SEARCH_LIMIT = 6MIN_ALLOWED_SCORE = 0.0MAX_ALLOWED_SCORE = 1.0
The hidden catalog listing limit from EntityCatalogService was also moved out of PHP:
- previous
private const SEARCH_LIMIT = 3
The values now live in config/retriex/intent.yaml:
retriex.intent.catalog.config:
min_score: 0.72
ambiguity_delta: 0.02
intent_search_limit: 6
list_search_limit: 3
min_allowed_score: 0.0
max_allowed_score: 1.0
CatalogIntentLite and EntityCatalogService now use the injected CatalogIntentConfig.
Stopwords config
The previous DEFAULT_STOP_WORDS list was removed from PHP.
The complete list already exists in config/retriex/language.yaml:
retriex.stopwords.config:
words:
- mit
- der
...
StopWordsConfig now requires this YAML list and throws a clear configuration error if it is missing or empty.
Intentional non-goals
This patch does not touch:
- Retrieval scoring
- PromptBuilder defaults
- AgentRunner defaults
- Commerce parser behavior
- Shop matching behavior
- SearchRepair behavior
Validation performed
Syntax checks:
php -l src/Config/ContextServiceConfig.php
php -l src/Config/CatalogIntentConfig.php
php -l src/Config/StopWordsConfig.php
php -l src/Context/ContextService.php
php -l src/Catalog/EntityCatalogService.php
php -l src/Intent/CatalogIntentLite.php
php -l src/Config/RetriexEffectiveConfigProvider.php
php -l src/Config/ConfigSourceAuditProvider.php
All checked files are syntactically valid.
A standalone getter smoke test confirmed the migrated YAML values preserve the previous defaults:
- context regular lines:
25 - context full lines:
500 - catalog min score:
0.72 - catalog intent search limit:
6 - catalog list search limit:
3
Full Symfony console regression tests were not executed in the ZIP workspace because vendor/ is not included.