one-modernizer demo evidence

Catalog migration run: eShopLegacyMVC to .NET 8

A compact visual summary of the generated migration evidence for the Catalog Item Management slice: graph discovery, assessment, spec, architecture, implementation, and validation.

Demo-complete

Build verified, contracts pass, spec coverage is complete.

The validation report records a real GitLab CI build as proven, 100% rule/flow/test/data/error coverage, and remaining production follow-ups around EF migrations and environment-level testing.

demo/eShopModernizing/eShopLegacyMVCSolution/.migration/validate/catalog-item-management/report.md

Migration target

One cohesive feature from the Microsoft eShopModernizing sample: Catalog Item Management, a CRUD-heavy ASP.NET MVC 5 / EF6 slice with service, domain, data, view, image, and framework coupling.

1,330graph nodes
3,572graph edges
66communities
21/21implementation tasks

Pipeline

Each stage consumed the previous output. The point is not one big prompt; it is an evidence chain that stays inspectable.

01

Discover

Graphify scanned the legacy MVC source and produced graph navigation.

02

Assess

Feature inventory selected Catalog Item Management as the demo slice.

03

Decompose

Rules, flows, data structures, tests, errors, and unknowns were extracted.

04

Architect

Target service, ADRs, mappings, and deployment shape were defined.

05

Implement

A .NET 8 ASP.NET Core MVC + EF Core solution was generated.

06

Validate

Build, contracts, traceability, and quality gates were checked.

Spec Extraction

The decomposition stage turned legacy behavior into a migration contract for the generated target.

Rules
17
Flows
5
Tests
18
Data
4
Errors
4

Target Shape

The architecture keeps this migration as a single catalog service: ASP.NET Core MVC, EF Core 8, SQL Server/Azure SQL, Docker, and observability/security follow-ups surfaced as ADRs.

catalog-service
  Controllers/CatalogController.cs
  Services/ICatalogService.cs
  Services/CatalogService.cs
  Models/CatalogItem.cs
  Models/CatalogDBContext.cs
  Views/Catalog/*.cshtml
  Dockerfile + docker-compose.yml
  openapi.yaml

Evidence Artifacts

The useful part of the demo is that every claim can point back to a file. These are the raw artifacts behind the summary.

Decomposition summary

Extracted rules, flows, test cases, and unknowns.

Open summary.md

Generated target

The generated .NET 8 catalog solution and its README.

Open target README

Root GitLab Pages CI

Static Pages wiring for the presentation bundle and published demo evidence.

Open root .gitlab-ci.yml

Catalog service CI

The generated .NET 8 build, test, and package stages used when local restore/build was blocked.

Open catalog .gitlab-ci.yml

Validation report

Build verdict, spec coverage, contracts, quality, and follow-ups.

Open report.md

What makes the slice interesting?

It is not a dramatic payment system. It is a realistic enterprise tangle: EF6 queries, HiLo key allocation, view models, images, config-driven mock vs SQL service selection, and System.Web MVC coupling. That makes it a good modernization demo because the risk is in seams and evidence, not in invented domain theater.

Follow-ups before production

Re-run full tests on a Windows/.NET SDK host, generate EF Core migrations, and decide on production hardening such as request DTOs, authentication, optimistic concurrency, and validation strategy.