Build ErsatzTV Image / Build & test (.NET) (pull_request) Successful in 2m27s
Build ErsatzTV Image / Build & push image (amd64) (pull_request) Has been skipped
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 2m30s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 4m45s
Add ErsatzTV.Architecture.Tests asserting the solution's layering, so a "just import it here" violation fails the build instead of eroding the architecture over time: - Core must not depend on Application/Infrastructure*/Scanner, nor on EF Core / Pomelo / Microsoft.Data.Sqlite / Dapper. - FFmpeg (lowest layer) must not depend on any other ErsatzTV layer. - Application must not depend on the concrete Infrastructure.Sqlite/.MySql providers (only the Infrastructure abstraction). - Infrastructure must not depend on Application or the concrete providers. Uses NetArchTest.eNhancedEdition — the maintained fork; the original NetArchTest.Rules is unmaintained since 2021 and its older Mono.Cecil doesn't reliably parse .NET 10 assemblies. Runs via the existing `dotnet test` in CI. Rules verified with a negative control (a known-true dependency asserted forbidden fails as expected — so they're not vacuous). Refs #12 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>