Files
MtoRagSystem/RETRIEX_PATCH_55B_GENRE_CONFIG_VALUES_VALIDATION_HOTFIX_README.md
2026-05-06 16:58:01 +02:00

2.6 KiB

RetrieX Patch p55b - Genre Config Values Validation Hotfix

Purpose

Small follow-up hotfix for p55 Single-Genre Config Values.

p55 correctly added configuration_values to config/retriex/genre.yaml, but the effective config output used by mto:agent:config:validate did not expose this block. As a result, validation reported:

Config validation failed: genre.configuration_values must be a non-empty map.

The patch also corrects two stale adaptation_surface.product_roles path references for the no_llm_fallback product role vocabulary-view indirection.

Scope

Changed files:

  • config/retriex/genre.yaml
  • src/Config/RetriexEffectiveConfigProvider.php

Changes

Effective config exposure

RetriexEffectiveConfigProvider::genreConfig() now includes:

'configuration_values' => $this->genreConfig->getConfigurationValues(),

This makes the p55 value surface visible to the existing config validation path.

Path reference cleanup

The stale paths:

agent.no_llm_fallback.product_roles.main_device_request_keywords
agent.no_llm_fallback.product_roles.accessory_product_keywords

were replaced with the current vocabulary-view config paths:

agent.no_llm_fallback.product_roles.vocabulary_views.main_device_request_keywords
agent.no_llm_fallback.product_roles.vocabulary_views.accessory_product_keywords

The same path spelling was corrected in the corresponding configuration_values.product_roles.no_llm_fallback_terms.source_paths metadata.

Non-goals

This patch does not:

  • wire runtime behavior to genre.yaml
  • introduce multi-genre or tenant logic
  • add new product terms
  • add new defaults
  • change ranking, retrieval, Shopware criteria or LLM behavior
  • move legacy values out of their existing files

Local checks

Performed locally in the extracted project without vendor/:

php -l src/Config/GenreConfig.php
php -l src/Config/RetriexEffectiveConfigProvider.php
php -l src/Config/ConfigSourceAuditProvider.php

YAML parsing was also checked for all files under config/retriex/*.yaml.

A lightweight path check verified that the two corrected no_llm_fallback paths now point to existing raw config locations.

Full Symfony console checks could not be executed locally because the ZIP does not contain vendor/.

After applying the patch in the full project, run:

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