The EU AI Act deadline everyone feared got pushed to December 2027, but nobody told you the
transparency rules still land in weeks. Here is what actually changed, what still hits your
chatbot in August, and the C# you need to prove it when someone asks.
ExcludeFromMigrations() keeps plugin entities fully queryable in the host DbContext while stripping migration ownership of their tables. Combined with per-context migration history tables, IDesignTimeDbContextFactory, and an explicit application-layer data access pattern, it enables truly independent plugin schema evolution.
EF Core’s entity discovery is thorough by design. In a plugin architecture, that thoroughness becomes a liability: navigation properties pull plugin entities into the host migration, creating shared schema ownership that breaks plugin isolation, causes schema drift, and makes clean plugin uninstalls impossible.
MCP is JSON-RPC with conventions, not magic. This guide builds a Model Context Protocol server in .NET with the official SDK: stdio and Streamable HTTP transports, tightly-scoped typed tools, JWT authentication, prompt-injection defenses, OpenTelemetry tracing, and the production failure modes the demos never mention.
Every pattern here addresses a failure mode I have either shipped or inherited. Source generators on hot paths, scope opt-in per provider, end-to-end correlation ID propagation, log levels as an ops contract, sink selection as an architecture decision, and OpenTelemetry Logs for greenfield services: six concrete changes that make structured logging trustworthy in production.