second step
This commit is contained in:
114
RETRIEX_SMALL_CONFIGS_YAML_ONLY_PATCH_README.md
Normal file
114
RETRIEX_SMALL_CONFIGS_YAML_ONLY_PATCH_README.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# RetrieX Patch 2: Small Configs YAML-Only
|
||||
|
||||
Scope of this patch:
|
||||
|
||||
- `ContextServiceConfig`
|
||||
- `CatalogIntentConfig`
|
||||
- `StopWordsConfig`
|
||||
|
||||
## 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 = 25`
|
||||
- `MAX_FULL_LINES = 500`
|
||||
|
||||
The same values now live in `config/retriex/runtime.yaml`:
|
||||
|
||||
```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.72`
|
||||
- `AMBIGUITY_DELTA = 0.02`
|
||||
- `SEARCH_LIMIT = 6`
|
||||
- `MIN_ALLOWED_SCORE = 0.0`
|
||||
- `MAX_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`:
|
||||
|
||||
```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`:
|
||||
|
||||
```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:
|
||||
|
||||
```bash
|
||||
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.
|
||||
Reference in New Issue
Block a user