# AEG-X-009 Server-side VersionSet Resolver

## Traceability

- WBS: `AEG-X-009`
- Contract: `src/KArtSell.BuildingBlocks/Versioning/VersionSet.cs`
- Implementation: `src/KArtSell.Modules.ModelOperations/Infrastructure/DapperApprovedModelContextReader.cs`
- Test evidence: `evidence/AEG-X-009/versionset-resolver-boundary.trx`

## Change

The resolver now selects dataset manifests in `APPROVED` or `FROZEN` state only, requires dataset approval fields, and requires model registry approval fields. It continues to load all authoritative VersionSet values from the server-side database; client evidence/version values are not accepted.

## Verification

```text
Model Operations boundary tests: 6/6 passed
```

No dataset/model rows were seeded and no operation request or Shadow Run was created.
