This commit is contained in:
team 1
2026-05-05 19:13:56 +02:00
parent 0aafb4c500
commit 707143f13e
8 changed files with 369 additions and 99 deletions

View File

@@ -0,0 +1,60 @@
# RetrieX Patch 43I - Input Normalization Fuzzy Routing Vocabulary View
## Ziel
p43I reduziert eine weitere lokale YAML-Begriffsliste ohne fachliche Runtime-Änderung.
Die Canonical Fuzzy-Routing-Terms der Input-Normalisierung werden zentral in `config/retriex/vocabulary.yaml` gepflegt und aus `agent.yaml` nur noch per Vocabulary-View referenziert.
## Änderungen
- `config/retriex/agent.yaml`
- lokale Liste `input_normalization.fuzzy_routing.terms` entfernt
- neue Referenz `input_normalization.fuzzy_routing.vocabulary_views.terms` ergänzt
- Kommentar ergänzt, dass lokale `terms` weiterhin als expliziter Projekt-Override möglich sind
- `config/retriex/vocabulary.yaml`
- neue Klasse `input_normalization_fuzzy_routing_terms` ergänzt
- neue View `agent.input_normalization_fuzzy_routing_terms` ergänzt
- Reihenfolge und Werte entsprechen exakt dem vorherigen p43H-Stand
- `src/Config/AgentRunnerConfig.php`
- `getInputNormalizationFuzzyRoutingTerms()` nutzt nun `getConfiguredStringListOrVocabularyView()`
- lokale Override-Liste bleibt möglich
## Nicht geändert
- keine neue Fachlogik
- keine Scoringänderung
- keine Retrievaländerung
- keine Prompt-Regeländerung
- keine Admin-UI
- keine neuen harten Listen im PHP-Core
## Lokale Prüfungen
Ausgeführt:
```bash
php -l src/Config/AgentRunnerConfig.php
php -l src/Config/SearchRepairConfig.php
php -l src/Config/PromptBuilderConfig.php
python3 YAML parse check for config/retriex/*.yaml
python3 effective p43H-vs-p43I fuzzy routing terms comparison
```
Ergebnis: grün.
Die effektive Liste `input_normalization.fuzzy_routing.terms` ist gegenüber p43H identisch geblieben.
## Hinweis zu Symfony-Checks
Die folgenden Checks konnten in dieser Umgebung nicht lokal ausgeführt werden, weil der ZIP-Stand kein `vendor/` enthält und `bin/console` dadurch mit fehlenden Dependencies abbricht:
```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
```
Sie sollen nach dem Einspielen im vollständigen Projekt ausgeführt werden.

View File

@@ -0,0 +1,70 @@
# RetrieX Patch p43J Governance Protected Short Model Fallback
## Ziel
Kleiner Konsolidierungsschritt nach p43I: eine doppelt gepflegte Governance-Liste entfernen, ohne die unabhängige Regression-Baseline zu schwächen.
## Inhalt
- `config/retriex/governance.yaml`
- Die lokale Duplikatliste `vocabulary.protected_short_model_tokens` wurde entfernt.
- `regression_baseline.protected_short_model_tokens` bleibt bewusst als unabhängige Guardrail-Baseline erhalten.
- `vocabulary` bleibt als leerer Override-Block erhalten; ein lokaler Override kann später wieder explizit gesetzt werden.
- `src/Config/GovernanceConfig.php`
- `getVocabularyProtectedShortModelTokens()` nutzt nun `vocabulary.protected_short_model_tokens`, falls lokal gesetzt.
- Wenn kein lokaler Override vorhanden ist, fällt die Methode auf `getRegressionProtectedShortModelTokens()` zurück.
- Neue interne Helper:
- `optionalStringList()`
- `optionalValue()`
## Bewusst nicht geändert
- Keine Runtime-Fachlogik
- Keine Prompt-Regeländerung
- Keine Retrievaländerung
- Keine Scoringänderung
- Keine Admin-UI
- Keine neuen harten Listen im PHP-Core
- Die Regression-Baseline bleibt YAML-owned und unabhängig von der zu prüfenden Retrieval-/Vocabulary-View.
## Effektive Werte
Vorher und nachher identisch:
- `regression_baseline.protected_short_model_tokens`: 6 / 6
- effektive `vocabulary.protected_short_model_tokens`: 6 / 6
Werte:
```text
th, tc, tp, tm, ph, rx
```
## Lokale Prüfungen
Ausgeführt:
```bash
php -l src/Config/GovernanceConfig.php
php -l src/Config/AgentRunnerConfig.php
php -l src/Config/SearchRepairConfig.php
php -l src/Config/PromptBuilderConfig.php
python3 YAML parse check for config/retriex/*.yaml
python3 effective governance protected short model token comparison
```
Ergebnis: grün.
## Nicht lokal ausführbar
Die Symfony-Console-Checks konnten in der ChatGPT-Arbeitsumgebung nicht ausgeführt werden, weil der ZIP-Stand kein `vendor/` enthält und `bin/console` mit fehlenden Dependencies abbricht.
Bitte im Projekt ausführen:
```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
```

View File

@@ -0,0 +1,93 @@
# RetrieX Patch p43K - Governance Required Profile Term Defaults
## Ziel
Kleiner Config-/Accessor-Konsolidierungsschritt nach p43J.
Der Patch reduziert doppelte Governance-Listen innerhalb von `language.required_profile_terms`, ohne fachliche Runtime-Logik, Scoring, Prompt-Regeln, Retrieval oder Admin-UI zu ändern.
## Änderungen
### `config/retriex/governance.yaml`
Neu eingeführt:
```yaml
language:
required_profile_term_defaults:
stopwords:
- der
- dieser
- mit
- bitte
```
Entfernt wurden die identischen lokalen `stopwords`-Listen aus:
- `language.required_profile_terms.commerce_query.stopwords`
- `language.required_profile_terms.rag_evidence.stopwords`
- `language.required_profile_terms.shop_context_fallback.stopwords`
Die Profile behalten ihre spezifischen `phrases` und `meta_terms` unverändert.
### `src/Config/GovernanceConfig.php`
`getLanguageRequiredProfileTerms()` verwendet jetzt optionale Defaults aus:
```text
language.required_profile_term_defaults
```
Lokale Profilwerte bleiben weiterhin möglich und überschreiben die Defaults pro Profilfeld.
Neuer interner Helper:
```php
languageRequiredProfileTermDefaults()
```
## Effektive Werte
Die effektiven Werte bleiben gegenüber p43J identisch:
- `commerce_query.stopwords`: 4 / identisch
- `commerce_query.phrases`: 2 / identisch
- `rag_evidence.stopwords`: 4 / identisch
- `shop_context_fallback.stopwords`: 4 / identisch
- `shop_context_fallback.phrases`: 2 / identisch
- `shop_context_fallback.meta_terms`: 3 / identisch
## Keine fachlichen Änderungen
Nicht geändert:
- keine neue Fachlogik
- keine Scoringänderung
- keine Retrievaländerung
- keine Prompt-Regeländerung
- keine Admin-UI
- keine neuen harten Listen im PHP-Core
## Lokale Prüfungen
Grün:
```bash
php -l src/Config/GovernanceConfig.php
php -l src/Config/AgentRunnerConfig.php
php -l src/Config/SearchRepairConfig.php
php -l src/Config/PromptBuilderConfig.php
python3 YAML parse check for config/retriex/*.yaml
python3 effective p43J-vs-p43K governance required profile terms comparison
```
Lokal nicht ausführbar wegen fehlendem `vendor/` im ZIP-Stand:
```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
```
`bin/console` bricht mit `Dependencies are missing. Try running "composer install".` ab.