p59d
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# RetrieX Patch p59D - Genre Source Path Metadata Split
|
||||
|
||||
## Goal
|
||||
|
||||
Continue the p59 cleanup after p59A/p59B/p59C by separating native genre values from legacy/runtime source-path metadata.
|
||||
|
||||
`genre.yaml.configuration_values` should be the maintenance surface for actual genre values. Legacy/runtime source paths are still useful for audit and migration visibility, but they no longer need to live inside individual value nodes once p59C has classified them in `adaptation_surface.*.review_path_groups`.
|
||||
|
||||
## Changes
|
||||
|
||||
- Removed all remaining `source_paths` declarations from `genre.yaml.configuration_values`.
|
||||
- Marked the affected value nodes with `origin: genre_native`.
|
||||
- Kept all 39 legacy/runtime source paths in `adaptation_surface.*.review_path_groups`.
|
||||
- Updated `GenreSourceOfTruthGuard` so frozen/runtime source-path checks read declared paths from review path groups as well as the legacy value-node format.
|
||||
- Updated `ConfigSourceAuditProvider` so the source audit distinguishes:
|
||||
- configuration value nodes with `source_paths`
|
||||
- review path groups with declared source paths
|
||||
- total declared source paths
|
||||
- Updated the audit command labels from “Genre value path” to “Genre metadata path” for source-path audit rows.
|
||||
|
||||
## Runtime impact
|
||||
|
||||
No runtime, retrieval, prompt, shop, routing, query, scoring or answer logic was changed.
|
||||
|
||||
The patch only changes configuration metadata placement and audit/guard handling.
|
||||
|
||||
## Expected audit shape after the patch
|
||||
|
||||
- `genre.configuration_values.*.source_paths`: 0
|
||||
- `genre.adaptation_surface.*.review_path_groups.*.paths`: 39 declared paths
|
||||
- frozen non-empty legacy paths: 37
|
||||
- runtime-resolved allowed paths: 2
|
||||
- source-of-truth violations: 0
|
||||
|
||||
## Local checks performed
|
||||
|
||||
Because the ZIP does not include `vendor/`, Symfony console commands could not be executed locally.
|
||||
|
||||
Performed locally:
|
||||
|
||||
- `config/retriex/genre.yaml` parses as YAML.
|
||||
- `config/retriex/governance.yaml` parses as YAML.
|
||||
- PHP lint passed for changed files:
|
||||
- `src/Config/GenreSourceOfTruthGuard.php`
|
||||
- `src/Config/ConfigSourceAuditProvider.php`
|
||||
- `src/Command/ConfigSourceAuditCommand.php`
|
||||
- Local guard simulation:
|
||||
- 0 `configuration_values` source-path nodes
|
||||
- 39 declared review source paths
|
||||
- 39 unique declared source paths
|
||||
- 0 missing source paths
|
||||
- 0 unregistered non-empty source paths
|
||||
- 0 frozen hash mismatches
|
||||
- 0 undeclared frozen hashes
|
||||
|
||||
## Required project checks after applying
|
||||
|
||||
Run in the real project with dependencies installed:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
This patch intentionally does not remove the legacy/runtime YAML values themselves. It only removes their duplicate declaration from `configuration_values` and keeps them visible in the adaptation surface review inventory.
|
||||
|
||||
A later patch can decide, group by group, whether a legacy value is still a necessary runtime fallback, a technical config that should remain outside genre values, or removable after a dedicated runtime rewire.
|
||||
Reference in New Issue
Block a user