3e6f609dda
Source governance schema: append-only source_approval table enforcing approval before ingestion. Dataset manifest hardened to support FROZEN state, requiring approval timestamps. Boundaries tested (6/6 passing). Server-side resolver (DapperApprovedModelContextReader) now guards both model and dataset approval. P2–P6 deferred: Dataset freeze command, maker-checker review, evaluation/proposal orchestration remain pending human decision package (source allow-list, license/SLA, metric versions, roles). No source/model seeded per CLAUDE.md governance. Migrations 0033–0034 idempotency verified fresh/upgrade/re-run on isolated test DB. AGENTS.md: Maturity (contract-first); Necessity (governance prerequisite). Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
21 lines
797 B
Markdown
21 lines
797 B
Markdown
# 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.
|