p59g
This commit is contained in:
@@ -366,10 +366,6 @@ parameters:
|
|||||||
separator: ' | '
|
separator: ' | '
|
||||||
unavailable_reason_template: '{message} Ursache: {reason}'
|
unavailable_reason_template: '{message} Ursache: {reason}'
|
||||||
|
|
||||||
product_roles:
|
|
||||||
vocabulary_views:
|
|
||||||
main_device_request_keywords: agent.no_llm_fallback.product_roles.main_device_request_keywords
|
|
||||||
accessory_product_keywords: agent.no_llm_fallback.product_roles.accessory_product_keywords
|
|
||||||
|
|
||||||
|
|
||||||
production_ui:
|
production_ui:
|
||||||
|
|||||||
@@ -14,6 +14,8 @@
|
|||||||
# the value surface stays native and maintenance-focused.
|
# the value surface stays native and maintenance-focused.
|
||||||
# p59F adds machine-readable review-group metadata so the remaining
|
# p59F adds machine-readable review-group metadata so the remaining
|
||||||
# compatibility paths can be removed or kept deliberately by category.
|
# compatibility paths can be removed or kept deliberately by category.
|
||||||
|
# p59G rewires the no-LLM product-role fallback directly to genre values
|
||||||
|
# and removes its obsolete legacy compatibility view declarations.
|
||||||
parameters:
|
parameters:
|
||||||
retriex.genre.config:
|
retriex.genre.config:
|
||||||
id: water_analysis
|
id: water_analysis
|
||||||
@@ -30,15 +32,6 @@ parameters:
|
|||||||
- configuration_values.product_roles.shop_views
|
- configuration_values.product_roles.shop_views
|
||||||
- configuration_values.product_roles.prompt_views
|
- configuration_values.product_roles.prompt_views
|
||||||
- configuration_values.product_roles.no_llm_fallback_terms
|
- configuration_values.product_roles.no_llm_fallback_terms
|
||||||
review_path_groups:
|
|
||||||
frozen_compatibility_views:
|
|
||||||
description: Legacy no-LLM product-role vocabulary views. Keep frozen until the fallback reads only from genre.configuration_values.product_roles.
|
|
||||||
classification: legacy_compatibility_view
|
|
||||||
source_state: legacy_frozen_non_empty
|
|
||||||
cleanup_action: rewire_to_genre_value_and_remove_legacy_view
|
|
||||||
paths:
|
|
||||||
- agent.no_llm_fallback.product_roles.vocabulary_views.main_device_request_keywords
|
|
||||||
- agent.no_llm_fallback.product_roles.vocabulary_views.accessory_product_keywords
|
|
||||||
product_attributes:
|
product_attributes:
|
||||||
description: Genre-specific attributes and constraints, for example measurement values now or size/color/material later.
|
description: Genre-specific attributes and constraints, for example measurement values now or size/color/material later.
|
||||||
value_paths:
|
value_paths:
|
||||||
|
|||||||
@@ -31,8 +31,6 @@ parameters:
|
|||||||
agent.follow_up_context.commercial_table_follow_up.query_template_with_model: '5e4c77d6b9d13a753d14ca8eea3c942df3d9e8276bc2c208b4002e9464bee4e8'
|
agent.follow_up_context.commercial_table_follow_up.query_template_with_model: '5e4c77d6b9d13a753d14ca8eea3c942df3d9e8276bc2c208b4002e9464bee4e8'
|
||||||
agent.follow_up_context.commercial_table_follow_up.query_template_without_model: '2b5a25507a162c3b2181001ec832022e3461da3c89229fd9dd9b06ce9d686eab'
|
agent.follow_up_context.commercial_table_follow_up.query_template_without_model: '2b5a25507a162c3b2181001ec832022e3461da3c89229fd9dd9b06ce9d686eab'
|
||||||
agent.input_normalization.fuzzy_routing.vocabulary_views.terms: '430f9da9d2d8d20b1367c875000f941e0b7b56f74a23fbfc8cd29aa11cd59716'
|
agent.input_normalization.fuzzy_routing.vocabulary_views.terms: '430f9da9d2d8d20b1367c875000f941e0b7b56f74a23fbfc8cd29aa11cd59716'
|
||||||
agent.no_llm_fallback.product_roles.vocabulary_views.accessory_product_keywords: '13623043e91858bf30831a28e0df23556bebe036d09eedc8fdca316d585a471f'
|
|
||||||
agent.no_llm_fallback.product_roles.vocabulary_views.main_device_request_keywords: 'ab49470c75a011355dd827381e881ed8553273cd87090fea162035eaae5f1c6e'
|
|
||||||
agent.shop_runtime.answer_constraints.length_filter: '66363cc7bf0dfe75c3991cefc70f1dfaf2f3150ab2f4f59f30f54b52d1c4d7af'
|
agent.shop_runtime.answer_constraints.length_filter: '66363cc7bf0dfe75c3991cefc70f1dfaf2f3150ab2f4f59f30f54b52d1c4d7af'
|
||||||
agent.shop_runtime.answer_constraints.length_sort: '1207b32e691996ca643f5bfd9b31467b70a11289ce56af356bd7f4fe78826c75'
|
agent.shop_runtime.answer_constraints.length_sort: '1207b32e691996ca643f5bfd9b31467b70a11289ce56af356bd7f4fe78826c75'
|
||||||
agent.shop_runtime.attribute_cleanup.vocabulary_views.product_type_terms: '76060cf458b95b104bf3755b9c20997b7ec9b356c30bae093cb504e07434c152'
|
agent.shop_runtime.attribute_cleanup.vocabulary_views.product_type_terms: '76060cf458b95b104bf3755b9c20997b7ec9b356c30bae093cb504e07434c152'
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
# RetrieX Patch p59G - Genre no-LLM role fallback rewire
|
||||||
|
|
||||||
|
## Ziel
|
||||||
|
|
||||||
|
p59G ist der erste kleine echte Rewire-Schritt nach der p59A-p59F Metadatenbereinigung. Der no-LLM Produktrollen-Fallback liest die Rollenbegriffe jetzt direkt aus `genre.yaml`, statt über die alte Agent-`vocabulary_views`-Kompatibilitätsschicht zu gehen.
|
||||||
|
|
||||||
|
## Änderungen
|
||||||
|
|
||||||
|
- `AgentRunnerConfig::getNoLlmMainDeviceRequestRoleKeywords()` liest bevorzugt aus `genre.configuration_values.product_roles.no_llm_fallback_terms.main_device_request_keywords`.
|
||||||
|
- `AgentRunnerConfig::getNoLlmAccessoryProductRoleKeywords()` liest bevorzugt aus `genre.configuration_values.product_roles.no_llm_fallback_terms.accessory_product_keywords`.
|
||||||
|
- Die alten Agent-View-Pfade unter `agent.no_llm_fallback.product_roles.vocabulary_views.*` wurden aus `agent.yaml` entfernt.
|
||||||
|
- Die Review-Gruppe `adaptation_surface.product_roles.review_path_groups.frozen_compatibility_views` wurde aus `genre.yaml` entfernt.
|
||||||
|
- Die zugehörigen frozen Hashes wurden aus `governance.genre_source_of_truth.frozen_non_empty_legacy_source_hashes` entfernt.
|
||||||
|
|
||||||
|
## Nicht geändert
|
||||||
|
|
||||||
|
- Keine Prompt-, Retrieval-, Shop-, Query-, SearchRepair-, Intent- oder Scoring-Logik wurde geändert.
|
||||||
|
- Die fachlichen no-LLM Rollenwerte bleiben unverändert in `genre.yaml`.
|
||||||
|
- Die Fallback-Methoden behalten den technischen Legacy-Fallback im Code, falls in einem alten Setup keine GenreConfig verfügbar ist; im aktuellen Single-Genre-Setup greift aber der Genre-Wert.
|
||||||
|
|
||||||
|
## Erwartete Audit-Auswirkung
|
||||||
|
|
||||||
|
- `genre_review_path_groups_with_source_paths`: 14 -> 13
|
||||||
|
- `genre_declared_source_paths`: 39 -> 37
|
||||||
|
- `genre_source_of_truth_frozen_non_empty`: 37 -> 35
|
||||||
|
- `genre_source_of_truth_violations`: bleibt 0
|
||||||
|
|
||||||
|
## Lokale Prüfung ohne vendor/
|
||||||
|
|
||||||
|
- YAML parsebar für `genre.yaml`, `agent.yaml`, `governance.yaml`, `vocabulary.yaml`
|
||||||
|
- PHP-Lint grün für `src/Config/AgentRunnerConfig.php`
|
||||||
|
- Lokale Source-of-Truth-Simulation:
|
||||||
|
- 13 Review-Gruppen
|
||||||
|
- 37 deklarierte Review-Source-Pfade
|
||||||
|
- 35 frozen non-empty Pfade
|
||||||
|
- 2 runtime-resolved Pfade
|
||||||
|
- 0 leere Legacy-Fallbacks
|
||||||
|
- 0 fehlende Pfade
|
||||||
|
- 0 undeclared frozen hashes
|
||||||
|
- 0 Hash-Mismatches
|
||||||
|
|
||||||
|
## Projektchecks nach Einspielen
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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
|
||||||
|
```
|
||||||
@@ -962,6 +962,11 @@ final class AgentRunnerConfig
|
|||||||
*/
|
*/
|
||||||
public function getNoLlmMainDeviceRequestRoleKeywords(): array
|
public function getNoLlmMainDeviceRequestRoleKeywords(): array
|
||||||
{
|
{
|
||||||
|
$terms = $this->genreStringList('product_roles.no_llm_fallback_terms.main_device_request_keywords');
|
||||||
|
if ($terms !== []) {
|
||||||
|
return $terms;
|
||||||
|
}
|
||||||
|
|
||||||
return $this->getConfiguredStringListOrVocabularyView(
|
return $this->getConfiguredStringListOrVocabularyView(
|
||||||
'no_llm_fallback.product_roles.main_device_request_keywords',
|
'no_llm_fallback.product_roles.main_device_request_keywords',
|
||||||
'no_llm_fallback.product_roles.vocabulary_views.main_device_request_keywords'
|
'no_llm_fallback.product_roles.vocabulary_views.main_device_request_keywords'
|
||||||
@@ -973,6 +978,11 @@ final class AgentRunnerConfig
|
|||||||
*/
|
*/
|
||||||
public function getNoLlmAccessoryProductRoleKeywords(): array
|
public function getNoLlmAccessoryProductRoleKeywords(): array
|
||||||
{
|
{
|
||||||
|
$terms = $this->genreStringList('product_roles.no_llm_fallback_terms.accessory_product_keywords');
|
||||||
|
if ($terms !== []) {
|
||||||
|
return $terms;
|
||||||
|
}
|
||||||
|
|
||||||
return $this->getConfiguredStringListOrVocabularyView(
|
return $this->getConfiguredStringListOrVocabularyView(
|
||||||
'no_llm_fallback.product_roles.accessory_product_keywords',
|
'no_llm_fallback.product_roles.accessory_product_keywords',
|
||||||
'no_llm_fallback.product_roles.vocabulary_views.accessory_product_keywords'
|
'no_llm_fallback.product_roles.vocabulary_views.accessory_product_keywords'
|
||||||
|
|||||||
Reference in New Issue
Block a user