diff --git a/.github/upgrades/scenarios/new-dotnet-version_02bc64/plan.md b/.github/upgrades/scenarios/new-dotnet-version_02bc64/plan.md
deleted file mode 100644
index 91dee68f..00000000
--- a/.github/upgrades/scenarios/new-dotnet-version_02bc64/plan.md
+++ /dev/null
@@ -1,2716 +0,0 @@
-# .NET 11.0 (PREVIEW) Upgrade Plan
-
-## Table of Contents
-1. [Executive Summary](#executive-summary)
-2. [Migration Strategy](#migration-strategy)
-3. [Detailed Dependency Analysis](#detailed-dependency-analysis)
-4. [Project-by-Project Plans](#project-by-project-plans)
-5. [Risk Management](#risk-management)
-6. [Testing & Validation Strategy](#testing--validation-strategy)
-7. [Complexity & Effort Assessment](#complexity--effort-assessment)
-8. [Source Control Strategy](#source-control-strategy)
-9. [Success Criteria](#success-criteria)
-
----
-
-## Executive Summary
-
-### Scenario Overview
-This plan details the upgrade of the Jellyfin media server solution from .NET 9.0 to **.NET 11.0 (PREVIEW)**, encompassing 41 projects (40 application projects plus 1 analyzer project targeting netstandard2.0).
-
-### Scope
-- **Projects to Upgrade**: 40 projects (main codebase)
-- **Projects Unchanged**: 1 project (Jellyfin.CodeAnalysis - netstandard2.0 analyzer)
-- **Total Lines of Code**: Estimated 200,000+ LOC across solution
-- **Project Types**: ASP.NET Core web applications, class libraries, test projects
-- **Current Framework**: .NET 9.0
-- **Target Framework**: .NET 11.0 (PREVIEW)
-
-### Discovered Metrics
-- **Total Projects**: 41
-- **Dependency Depth**: 12 levels (from leaf to top-level test projects)
-- **Circular Dependencies**: None detected
-- **Critical Path Length**: 12 project levels
-- **NuGet Packages**: 80 total packages
-- **Package Compatibility**: ✅ **100% compatible** - All packages already support .NET 11.0
-- **Security Vulnerabilities**: None detected in current packages
-- **Breaking Changes**: No mandatory breaking changes identified by assessment
-- **Risk Indicators**:
- - Large, complex solution with deep dependency chains
- - Preview framework (not production-ready)
- - Heavy use of Entity Framework Core and ASP.NET Core
- - Database providers (PostgreSQL, SQLite) require careful testing
-
-### Complexity Classification: **Complex**
-
-**Justification:**
-- **42 projects** exceeds medium threshold (>15 projects)
-- **12-level dependency depth** exceeds complexity threshold (>4 levels)
-- **No high-risk issues** detected (0 mandatory issues)
-- **No security vulnerabilities** in current packages
-- **Complex technology stack**: EF Core, ASP.NET Core, multiple database providers, media processing
-- **Preview framework target**: .NET 11.0 is not yet released (preview stability concerns)
-
-Despite the absence of breaking changes or compatibility issues, the solution's **size, depth, and preview framework target** classify this as a **Complex** upgrade requiring careful, phased execution.
-
-### Selected Strategy: Bottom-Up (Dependency-First) Approach
-
-**Rationale:**
-- **Large solution** (41 projects) benefits from incremental validation
-- **Deep dependency tree** (12 levels) requires stable foundation before building upward
-- **Preview framework** introduces unknown risks best addressed incrementally
-- **Database providers** in mid-levels need thorough testing before application tier
-- **Test projects** at multiple levels enable validation after each tier
-- **Zero breaking changes** identified, but preview framework may introduce runtime issues
-- **Risk-averse approach** appropriate for production media server moving to preview framework
-
-### Critical Considerations
-1. **Preview Framework**: .NET 11.0 is not production-ready; expect potential instability
-2. **Package Ecosystem**: While packages report compatibility, preview framework behavior may differ
-3. **Database Providers**: PostgreSQL and SQLite providers need extensive testing with .NET 11.0
-4. **Media Processing**: SkiaSharp and media encoding libraries require validation
-5. **Performance**: Monitor for performance regressions in preview builds
-6. **Breaking Changes**: May emerge during testing despite clean analysis
-
-### Expected Remaining Iterations
-Based on complexity classification and solution structure:
-- **Phase 1**: Complete (Discovery & Classification)
-- **Phase 2**: 3 iterations (Foundation planning)
-- **Phase 3**: 8-10 iterations (Tier-by-tier detailed planning)
-- **Total**: ~11-13 iterations to complete plan
-
-## Migration Strategy
-
-### Approach Selection: Bottom-Up (Dependency-First)
-
-**Decision: Incremental tier-by-tier migration** starting from leaf nodes (Tier 2) progressing to top-level application (Tier 11) and tests (Tiers 12-13).
-
-### Rationale for Bottom-Up Strategy
-
-#### Why Bottom-Up is Optimal for This Solution
-
-1. **Large Solution Scale**
- - 41 projects exceed threshold for coordinated migration (>15 projects)
- - Incremental approach reduces risk of simultaneous failures
- - Enables validation at each tier before proceeding
-
-2. **Deep Dependency Hierarchy**
- - 12 levels of dependencies require stable foundation
- - Bottom-up ensures each project builds on already-upgraded, tested tier
- - No multi-targeting complexity (all projects move to .NET 11.0)
-
-3. **Preview Framework Target**
- - .NET 11.0 is PREVIEW (not production-ready)
- - Unknown risks best addressed incrementally
- - Early tiers expose framework issues before touching applications
- - Allows retreat/adjustment if preview proves unstable
-
-4. **Clear Dependency Structure**
- - DAG (no circular dependencies) enables clean bottom-up flow
- - Well-defined tiers with explicit between-tier dependencies
- - Each tier can be independently validated
-
-5. **Critical Database Layer**
- - Database providers (Tier 6) require extensive testing
- - Must be stable before business logic (Tier 8+)
- - Early validation prevents cascading failures
-
-6. **Test Projects Throughout**
- - Test projects in Tiers 3, 5, 7, 9, 12, 13 enable continuous validation
- - Each tier completion includes test execution
- - Fail-fast at lowest affected tier
-
-### Alternative Approaches Considered
-
-#### ❌ All-At-Once Migration
-**Rejected because:**
-- 41 projects too large for coordinated update
-- Preview framework introduces unknown risks
-- Single-shot approach would complicate debugging
-- Complex solution requires staged validation
-
-#### ❌ Top-Down (Application-First)
-**Rejected because:**
-- Would require multi-targeting all dependencies
-- Increased complexity managing two framework versions
-- Testing top tiers before infrastructure ready is risky
-- Database providers must be stable before applications use them
-
-### Bottom-Up Execution Principles
-
-#### Strict Tier Ordering
-1. ✅ **Must complete Tier N before starting Tier N+1**
-2. ✅ **Tier completion = all projects built, tested, validated**
-3. ✅ **No tier skipping** - even if tempting to fast-track
-4. ✅ **Rollback at tier level** - if tier fails, revert entire tier
-
-#### Within-Tier Execution
-- **Projects within same tier can be upgraded in parallel** (no inter-dependencies)
-- **Batch project file updates** for entire tier (single operation)
-- **Batch package updates** for entire tier (single operation)
-- **Test tier as a whole** before proceeding
-- **Tier 8** (12 projects) is largest; can parallelize to speed up
-
-#### Tier Completion Criteria
-Each tier must meet criteria before proceeding:
-
-1. **Build Success**
- - All projects in tier build without errors
- - All projects in tier build without warnings (target: zero warnings)
-
-2. **Package Restoration**
- - All NuGet packages restore successfully
- - No package dependency conflicts
-
-3. **Test Execution**
- - All test projects in tier pass (if tier contains tests)
- - Tests for lower tiers still pass (regression check)
-
-4. **Code Quality**
- - No new compiler errors introduced
- - Code analysis passes (StyleCop, analyzers)
-
-5. **Validation Review**
- - Manual review of any unexpected changes
- - Verification of preview framework behavior
-
-### Dependency-Based Ordering Details
-
-#### Foundation First (Tiers 2-4)
-- **Tier 2**: Core infrastructure (Database.Implementations, Extensions, Keyframes)
-- **Tier 3**: Data models (Jellyfin.Data)
-- **Tier 4**: Shared models (MediaBrowser.Model)
-
-**Rationale**: These are referenced by all higher tiers. Must be rock-solid.
-
-#### Infrastructure & Providers (Tiers 5-7)
-- **Tier 5**: Common utilities (MediaBrowser.Common)
-- **Tier 6**: Database providers (PostgreSQL, SQLite), Naming
-- **Tier 7**: Controller abstractions
-
-**Rationale**: Database providers are critical infrastructure requiring extensive testing before business logic.
-
-#### Business Logic (Tiers 8-10)
-- **Tier 8**: Business logic, media processing, networking (12 projects)
-- **Tier 9**: API layer and business tests (8 projects)
-- **Tier 10**: Server implementations (2 projects)
-
-**Rationale**: Business logic depends on stable infrastructure; can parallelize within Tier 8.
-
-#### Applications & Tests (Tiers 11-13)
-- **Tier 11**: Main application (Jellyfin.Server)
-- **Tier 12**: Integration tests
-- **Tier 13**: Final implementation tests
-
-**Rationale**: Applications last; integration tests validate entire stack.
-
-### Parallel vs. Sequential Execution
-
-#### Sequential (Between Tiers)
-- **All tiers execute sequentially** - Tier N+1 waits for Tier N completion
-- **No exceptions** - even for small tiers
-- **Validation between tiers** - ensures stability before proceeding
-
-#### Parallel (Within Tier)
-Projects within same tier can execute in parallel:
-
-- **Tier 2** (3 projects): Can parallelize
-- **Tier 3** (2 projects): Can parallelize
-- **Tier 5** (3 projects): Can parallelize
-- **Tier 6** (3 projects): Can parallelize
-- **Tier 7** (2 projects): Can parallelize
-- **Tier 8** (12 projects): **High parallelism potential** - largest tier
-- **Tier 9** (8 projects): Can parallelize (all tests)
-- **Tier 10** (2 projects): Can parallelize
-- **Tier 12** (2 projects): Can parallelize
-
-**Parallelization Guidelines:**
-- Update project files for all tier projects simultaneously
-- Run builds in parallel (if resources allow)
-- Aggregate results before proceeding to tests
-- Test tier as a cohesive unit (not per-project)
-
-### Phase Definitions
-
-The migration consists of **13 phases** (one per tier):
-
-#### Phase 1: Core Infrastructure (Tier 2)
-- **Projects**: 3
-- **Focus**: Database implementations, extensions, keyframe encoding
-- **Validation**: Unit tests in Tier 3
-
-#### Phase 2: Data Layer (Tier 3)
-- **Projects**: 2
-- **Focus**: Data models, first test validation
-- **Validation**: Jellyfin.MediaEncoding.Keyframes.Tests
-
-#### Phase 3: Model Layer (Tier 4)
-- **Projects**: 1
-- **Focus**: Central model definitions
-- **Validation**: Model tests in Tier 5
-
-#### Phase 4: Common Utilities (Tier 5)
-- **Projects**: 3
-- **Focus**: Common utilities, model validation tests
-- **Validation**: Jellyfin.Extensions.Tests, Jellyfin.Model.Tests
-
-#### Phase 5: Database Providers (Tier 6)
-- **Projects**: 3
-- **Focus**: PostgreSQL, SQLite providers; naming
-- **Validation**: Extensive database integration tests (manual + automated)
-
-#### Phase 6: Controller Layer (Tier 7)
-- **Projects**: 2
-- **Focus**: Controller abstractions, naming tests
-- **Validation**: Jellyfin.Naming.Tests
-
-#### Phase 7: Business Logic (Tier 8)
-- **Projects**: 12 (largest phase)
-- **Focus**: Photos, drawing, networking, media encoding, providers, server infrastructure
-- **Validation**: Controller tests + business logic validation
-
-#### Phase 8: API & Tests (Tier 9)
-- **Projects**: 8
-- **Focus**: Jellyfin.Api and comprehensive test suite for Tier 8
-- **Validation**: All Tier 9 tests pass
-
-#### Phase 9: Server Implementation (Tier 10)
-- **Projects**: 2
-- **Focus**: Emby.Server.Implementations, Jellyfin.Api.Tests
-- **Validation**: API tests pass
-
-#### Phase 10: Main Application (Tier 11)
-- **Projects**: 1
-- **Focus**: Jellyfin.Server (main entry point)
-- **Validation**: Application starts and responds
-
-#### Phase 11: Integration Tests (Tier 12)
-- **Projects**: 2
-- **Focus**: End-to-end integration tests
-- **Validation**: All integration tests pass
-
-#### Phase 12: Final Validation (Tier 13)
-- **Projects**: 1
-- **Focus**: Jellyfin.Server.Implementations.Tests
-- **Validation**: Complete solution test suite passes
-
-#### Phase 13: Solution Validation
-- **Projects**: All 40 upgraded projects
-- **Focus**: Full solution build, all tests, smoke testing
-- **Validation**: Comprehensive validation before completion
-
-### Risk Mitigation for Bottom-Up Strategy
-
-#### Early Failure Detection
-- Tier 2-4 failures detected before touching 90% of solution
-- Database provider issues (Tier 6) caught before business logic
-- Test projects throughout enable continuous validation
-
-#### Preview Framework Risks
-- Tier 2 upgrade exposes .NET 11.0 preview issues earliest
-- Can assess framework stability before committing all projects
-- Option to pause/revert if preview proves problematic
-
-#### Incremental Learning
-- Early tiers teach team about .NET 11.0 behavior
-- Lessons learned applied to later tiers
-- Compilation/runtime patterns identified early
-
-#### Staged Deployment
-- Can deploy lower tiers to staging environment incrementally
-- Early performance/compatibility testing
-- Risk distributed across multiple phases vs. single big-bang
-
-### Rollback Strategy
-
-#### Tier-Level Rollback
-- If Tier N fails validation:
- 1. Revert all Tier N project file changes
- 2. Restore Tier N packages to .NET 9.0 versions
- 3. Validate Tiers 1-(N-1) still stable
- 4. Analyze failure, adjust plan
- 5. Retry Tier N
-
-#### Solution-Level Rollback
-- If preview framework proves unstable:
- 1. Git revert to upgrade branch start
- 2. Document .NET 11.0 PREVIEW issues
- 3. Consider alternative target (.NET 10.0 LTS)
-
-### Success Criteria Per Phase
-
-Each phase must achieve:
-1. ✅ All projects build without errors
-2. ✅ All projects build without warnings
-3. ✅ All test projects pass (100% pass rate)
-4. ✅ No package dependency conflicts
-5. ✅ Code analysis passes
-6. ✅ Manual validation complete (for critical tiers)
-7. ✅ Performance acceptable (for application tiers)
-
-Only when all criteria met, proceed to next phase.
-
-## Detailed Dependency Analysis
-
-### Dependency Graph Structure
-
-The Jellyfin solution exhibits a **12-level dependency hierarchy** with clear separation between infrastructure, domain, and application layers. The graph follows a bottom-up structure ideal for tier-based migration.
-
-```
-Tier 1 (Level 0): Foundation - Analyzer
- └─ Jellyfin.CodeAnalysis (netstandard2.0) - NO UPGRADE
-
-Tier 2 (Level 1): Core Infrastructure
- ├─ Jellyfin.Database.Implementations
- ├─ Jellyfin.Extensions
- └─ Jellyfin.MediaEncoding.Keyframes
-
-Tier 3 (Level 2): Data & Encoding
- ├─ Jellyfin.Data
- └─ Jellyfin.MediaEncoding.Keyframes.Tests
-
-Tier 4 (Level 3): Model Layer
- └─ MediaBrowser.Model
-
-Tier 5 (Level 4): Model Tests & Common Layer
- ├─ Jellyfin.Extensions.Tests
- ├─ Jellyfin.Model.Tests
- └─ MediaBrowser.Common
-
-Tier 6 (Level 5): Domain & Database Providers
- ├─ Emby.Naming
- ├─ Jellyfin.Database.Providers.Postgres
- └─ Jellyfin.Database.Providers.Sqlite
-
-Tier 7 (Level 6): Controller & Naming Tests
- ├─ Jellyfin.Naming.Tests
- └─ MediaBrowser.Controller
-
-Tier 8 (Level 7): Business Logic & Drawing
- ├─ Emby.Photos
- ├─ Jellyfin.Controller.Tests
- ├─ Jellyfin.Drawing
- ├─ Jellyfin.Drawing.Skia
- ├─ Jellyfin.LiveTv
- ├─ Jellyfin.MediaEncoding.Hls
- ├─ Jellyfin.Networking
- ├─ Jellyfin.Server.Implementations
- ├─ MediaBrowser.LocalMetadata
- ├─ MediaBrowser.MediaEncoding
- ├─ MediaBrowser.Providers
- └─ MediaBrowser.XbmcMetadata
-
-Tier 9 (Level 8): API & Business Tests
- ├─ Jellyfin.Api
- ├─ Jellyfin.Common.Tests
- ├─ Jellyfin.LiveTv.Tests
- ├─ Jellyfin.MediaEncoding.Hls.Tests
- ├─ Jellyfin.MediaEncoding.Tests
- ├─ Jellyfin.Networking.Tests
- ├─ Jellyfin.Providers.Tests
- └─ Jellyfin.XbmcMetadata.Tests
-
-Tier 10 (Level 9): Server Implementation
- ├─ Emby.Server.Implementations
- └─ Jellyfin.Api.Tests
-
-Tier 11 (Level 10): Main Application
- └─ Jellyfin.Server
-
-Tier 12 (Level 11): Integration Tests
- ├─ Jellyfin.Server.Integration.Tests
- └─ Jellyfin.Server.Tests
-
-Tier 13 (Level 12): Final Test Layer
- └─ Jellyfin.Server.Implementations.Tests
-```
-
-### Tier Grouping Strategy
-
-Based on the Bottom-Up Strategy and dependency analysis, projects are grouped into **13 tiers** for migration:
-
-#### Tier 1: Foundation Analyzer (NO MIGRATION)
-- **Jellyfin.CodeAnalysis** (netstandard2.0)
-- **Dependencies**: None
-- **Used By**: All projects (build-time analyzer)
-- **Rationale**: Remains on netstandard2.0 for broad compatibility
-
-#### Tier 2: Core Infrastructure (3 projects)
-- **Jellyfin.Database.Implementations**
-- **Jellyfin.Extensions**
-- **Jellyfin.MediaEncoding.Keyframes**
-- **Dependencies**: Only Jellyfin.CodeAnalysis (unchanged)
-- **Rationale**: Leaf nodes with no internal dependencies; database and extension infrastructure
-
-#### Tier 3: Data Layer (2 projects)
-- **Jellyfin.Data**
-- **Jellyfin.MediaEncoding.Keyframes.Tests**
-- **Dependencies**: Tier 2 projects only
-- **Rationale**: Data models and first test validation point
-
-#### Tier 4: Model Layer (1 project)
-- **MediaBrowser.Model**
-- **Dependencies**: Tier 2 (Extensions) + Tier 3 (Data)
-- **Rationale**: Central model definitions used throughout solution
-
-#### Tier 5: Common Layer (3 projects)
-- **Jellyfin.Extensions.Tests**
-- **Jellyfin.Model.Tests**
-- **MediaBrowser.Common**
-- **Dependencies**: Tiers 2-4
-- **Rationale**: Common utilities and model validation tests
-
-#### Tier 6: Naming & Database Providers (3 projects)
-- **Emby.Naming**
-- **Jellyfin.Database.Providers.Postgres**
-- **Jellyfin.Database.Providers.Sqlite**
-- **Dependencies**: Tiers 2-5
-- **Rationale**: Critical database providers requiring extensive testing
-
-#### Tier 7: Controller Layer (2 projects)
-- **Jellyfin.Naming.Tests**
-- **MediaBrowser.Controller**
-- **Dependencies**: Tiers 2-6
-- **Rationale**: Controller abstractions; naming validation
-
-#### Tier 8: Business Logic (12 projects)
-- **Emby.Photos**
-- **Jellyfin.Controller.Tests**
-- **Jellyfin.Drawing**
-- **Jellyfin.Drawing.Skia**
-- **Jellyfin.LiveTv**
-- **Jellyfin.MediaEncoding.Hls**
-- **Jellyfin.Networking**
-- **Jellyfin.Server.Implementations**
-- **MediaBrowser.LocalMetadata**
-- **MediaBrowser.MediaEncoding**
-- **MediaBrowser.Providers**
-- **MediaBrowser.XbmcMetadata**
-- **Dependencies**: Tiers 2-7
-- **Rationale**: Largest tier; business logic, media processing, networking; can parallelize within tier
-
-#### Tier 9: API & Tests (8 projects)
-- **Jellyfin.Api**
-- **Jellyfin.Common.Tests**
-- **Jellyfin.LiveTv.Tests**
-- **Jellyfin.MediaEncoding.Hls.Tests**
-- **Jellyfin.MediaEncoding.Tests**
-- **Jellyfin.Networking.Tests**
-- **Jellyfin.Providers.Tests**
-- **Jellyfin.XbmcMetadata.Tests**
-- **Dependencies**: Tiers 2-8
-- **Rationale**: API layer and comprehensive test coverage for Tier 8
-
-#### Tier 10: Server Implementation (2 projects)
-- **Emby.Server.Implementations**
-- **Jellyfin.Api.Tests**
-- **Dependencies**: Tiers 2-9
-- **Rationale**: Main server implementation and API validation
-
-#### Tier 11: Main Application (1 project)
-- **Jellyfin.Server**
-- **Dependencies**: Tiers 2-10
-- **Rationale**: Entry point application; depends on all business logic
-
-#### Tier 12: Integration Tests (2 projects)
-- **Jellyfin.Server.Integration.Tests**
-- **Jellyfin.Server.Tests**
-- **Dependencies**: Tier 11 (Jellyfin.Server)
-- **Rationale**: End-to-end application validation
-
-#### Tier 13: Final Test Validation (1 project)
-- **Jellyfin.Server.Implementations.Tests**
-- **Dependencies**: Tier 12 (Integration.Tests)
-- **Rationale**: Final validation of server implementations with integration context
-
-### Critical Path Analysis
-
-**Longest Dependency Chain:**
-```
-Jellyfin.CodeAnalysis (Level 0)
- → Jellyfin.Database.Implementations (Level 1)
- → Jellyfin.Data (Level 2)
- → MediaBrowser.Model (Level 3)
- → MediaBrowser.Common (Level 4)
- → Emby.Naming (Level 5)
- → MediaBrowser.Controller (Level 6)
- → Jellyfin.Server.Implementations (Level 7)
- → Emby.Server.Implementations (Level 9)
- → Jellyfin.Server (Level 10)
- → Jellyfin.Server.Integration.Tests (Level 11)
- → Jellyfin.Server.Implementations.Tests (Level 12)
-```
-
-**Length**: 13 projects (12 upgrade steps, excluding CodeAnalysis)
-
-**Implications:**
-- Any failure in early tiers blocks all downstream projects
-- Database layer (Tiers 2-6) is critical foundation
-- Server implementation consolidates most dependencies (Tier 10)
-- Test projects enable validation at each tier
-
-### Circular Dependencies
-
-**Status**: ✅ **None detected**
-
-The dependency graph is a **Directed Acyclic Graph (DAG)**, enabling clean bottom-up migration.
-
-### Key Dependency Relationships
-
-#### High-Fan-Out Projects (Used by Many)
-1. **MediaBrowser.Model** (Level 3): Used by 21 projects
- - Central model definitions
- - Must be stable before progressing
-2. **MediaBrowser.Controller** (Level 6): Used by 12 projects
- - Core controller abstractions
- - Critical stabilization point
-3. **MediaBrowser.Common** (Level 4): Used by 10 projects
- - Common utilities
- - Early tier with wide impact
-
-#### High-Fan-In Projects (Depend on Many)
-1. **Jellyfin.Server** (Level 10): Depends on 9 direct projects
- - Main application entry point
- - Consolidates all functionality
-2. **Emby.Server.Implementations** (Level 9): Depends on 14 direct projects
- - Server implementation layer
- - Complex integration point
-3. **Jellyfin.Server.Implementations** (Level 7): Depends on 6 direct projects
- - Server infrastructure
- - Database and core implementation
-
-### Between-Tier Dependencies
-
-Each tier depends **only** on lower tiers (strict bottom-up):
-
-- **Tier 2** → Tier 1 (CodeAnalysis only)
-- **Tier 3** → Tiers 1-2
-- **Tier 4** → Tiers 1-3
-- **Tier 5** → Tiers 1-4
-- **Tier 6** → Tiers 1-5
-- **Tier 7** → Tiers 1-6
-- **Tier 8** → Tiers 1-7
-- **Tier 9** → Tiers 1-8
-- **Tier 10** → Tiers 1-9
-- **Tier 11** → Tiers 1-10
-- **Tier 12** → Tiers 1-11
-- **Tier 13** → Tiers 1-12
-
-**No cross-tier or reverse dependencies** ensure clean migration flow.
-
-## Project-by-Project Plans
-
-### Overview
-
-This section provides detailed migration plans for each project, organized by tier. Each project includes:
-- Current and target state
-- Migration steps
-- Package updates
-- Expected breaking changes
-- Code modifications
-- Testing strategy
-- Validation checklist
-
----
-
-### Tier 1: Foundation Analyzer (NO MIGRATION)
-
-#### Jellyfin.CodeAnalysis
-**Current State**: netstandard2.0 (Roslyn analyzer)
-**Target State**: netstandard2.0 (UNCHANGED)
-**Migration**: None required - remains on netstandard2.0 for broad compatibility
-
----
-
-### Tier 2: Core Infrastructure
-
-#### Overview
-**Projects**: 3
-**Complexity**: Medium
-**Risk**: High (first preview framework exposure)
-**Effort**: Medium
-
-This tier establishes the foundation infrastructure: database implementations, extension utilities, and media encoding keyframe support. As the first tier to migrate, it serves as the **early warning system** for .NET 11.0 preview issues.
-
----
-
-#### Jellyfin.Database.Implementations
-
-**Current State**:
-- **Framework**: .NET 9.0
-- **Type**: Class Library
-- **Dependencies**: Jellyfin.CodeAnalysis (unchanged)
-- **Used By**: 6 projects (Data layer, database providers, server implementations)
-- **Packages**: Microsoft.EntityFrameworkCore 11.0.0-preview.1 (already upgraded)
-- **Risk Level**: High (foundation for all data access)
-
-**Target State**:
-- **Framework**: .NET 11.0
-- **Type**: Class Library
-- **Dependencies**: No changes
-- **Package Changes**: None required (already on .NET 11.0-compatible versions)
-
-**Migration Steps**:
-
-1. **Prerequisites**
- - ✅ Jellyfin.CodeAnalysis remains unchanged (netstandard2.0)
- - ✅ .NET 11.0 SDK installed and verified
- - ✅ Backup current solution state
-
-2. **Framework Update**
- - Update `Jellyfin.Database.Implementations.csproj`:
- ```xml
- net11.0
- ```
- - No other project file changes needed
-
-3. **Package Updates**
- - **All packages already compatible** - no updates required:
- - Microsoft.EntityFrameworkCore: 11.0.0-preview.1 ✅
- - Microsoft.EntityFrameworkCore.Relational: 11.0.0-preview.1 ✅
- - Microsoft.EntityFrameworkCore.Design: 11.0.0-preview.1 ✅
-
-4. **Expected Breaking Changes**
- - ✅ **None identified** by assessment
- - ⚠️ **Monitor for**: EF Core 11.0 preview query translation changes
- - ⚠️ **Monitor for**: Database provider behavior changes
-
-5. **Code Modifications**
- - **Expected**: None required
- - **Potential**:
- - EF Core API changes (preview-specific)
- - Query translation adjustments
- - Migration compatibility
-
-6. **Testing Strategy**
- - **Build Validation**:
- - Project builds without errors ✅
- - Zero warnings target ✅
- - Code analysis passes ✅
-
- - **Dependency Validation**:
- - NuGet restore successful ✅
- - No package conflicts ✅
-
- - **Functional Testing**:
- - Database context initialization ✅
- - Basic CRUD operations (deferred to Tier 6 with providers)
-
- - **Performance Baseline**:
- - Establish .NET 11.0 build performance metrics
- - Compare against .NET 9.0 baseline
-
-7. **Validation Checklist**
- - [ ] Project file updated to net11.0
- - [ ] Build succeeds without errors
- - [ ] Build succeeds without warnings
- - [ ] NuGet packages restore successfully
- - [ ] No dependency conflicts
- - [ ] Code analysis passes (StyleCop, IDisposableAnalyzers, etc.)
- - [ ] Database context classes compile
- - [ ] No compiler warnings about obsolete APIs
- - [ ] EF Core design-time tools work (if applicable)
-
----
-
-#### Jellyfin.Extensions
-
-**Current State**:
-- **Framework**: .NET 9.0
-- **Type**: Class Library
-- **Dependencies**: Jellyfin.CodeAnalysis (unchanged)
-- **Used By**: MediaBrowser.Model, Jellyfin.Extensions.Tests
-- **Packages**: Minimal (mostly BCL)
-- **Risk Level**: Low (simple utility library)
-
-**Target State**:
-- **Framework**: .NET 11.0
-- **Type**: Class Library
-- **Dependencies**: No changes
-- **Package Changes**: None required
-
-**Migration Steps**:
-
-1. **Prerequisites**
- - ✅ .NET 11.0 SDK available
- - ✅ No external package dependencies to validate
-
-2. **Framework Update**
- - Update `Jellyfin.Extensions.csproj`:
- ```xml
- net11.0
- ```
-
-3. **Package Updates**
- - **None required** - uses BCL only
-
-4. **Expected Breaking Changes**
- - ✅ **None expected**
- - Simple extension methods and utilities
- - Minimal BCL surface area
-
-5. **Code Modifications**
- - **Expected**: None
- - **Potential**: None anticipated
-
-6. **Testing Strategy**
- - **Build Validation**:
- - Build without errors/warnings ✅
- - Code analysis passes ✅
-
- - **Unit Testing**:
- - Deferred to Tier 5 (Jellyfin.Extensions.Tests)
-
- - **API Compatibility**:
- - Extension methods compile without changes ✅
- - No obsolete API usage ✅
-
-7. **Validation Checklist**
- - [ ] Project file updated to net11.0
- - [ ] Build succeeds without errors
- - [ ] Build succeeds without warnings
- - [ ] No package dependencies to update
- - [ ] Extension methods compile cleanly
- - [ ] Code analysis passes
- - [ ] No breaking changes in BCL APIs used
-
----
-
-#### Jellyfin.MediaEncoding.Keyframes
-
-**Current State**:
-- **Framework**: .NET 9.0
-- **Type**: Class Library
-- **Dependencies**: Jellyfin.CodeAnalysis (unchanged)
-- **Used By**: MediaBrowser.Controller, Jellyfin.MediaEncoding.Hls, test projects
-- **Packages**: Minimal
-- **Risk Level**: Low (specialized library)
-
-**Target State**:
-- **Framework**: .NET 11.0
-- **Type**: Class Library
-- **Dependencies**: No changes
-- **Package Changes**: None required
-
-**Migration Steps**:
-
-1. **Prerequisites**
- - ✅ .NET 11.0 SDK available
- - ✅ Understanding of keyframe extraction functionality
-
-2. **Framework Update**
- - Update `Jellyfin.MediaEncoding.Keyframes.csproj`:
- ```xml
- net11.0
- ```
-
-3. **Package Updates**
- - **None required** - minimal external dependencies
-
-4. **Expected Breaking Changes**
- - ✅ **None expected**
- - Specialized media encoding logic
- - Limited BCL interaction
-
-5. **Code Modifications**
- - **Expected**: None
- - **Potential**:
- - I/O API changes (if file operations change)
- - Stream handling adjustments (unlikely)
-
-6. **Testing Strategy**
- - **Build Validation**:
- - Build without errors/warnings ✅
- - Code analysis passes ✅
-
- - **Unit Testing**:
- - Deferred to Tier 3 (Jellyfin.MediaEncoding.Keyframes.Tests)
-
- - **Functional Validation**:
- - Keyframe extraction logic compiles ✅
- - FFmpeg integration interfaces unchanged ✅
-
-7. **Validation Checklist**
- - [ ] Project file updated to net11.0
- - [ ] Build succeeds without errors
- - [ ] Build succeeds without warnings
- - [ ] No external package updates needed
- - [ ] Media encoding logic compiles cleanly
- - [ ] Code analysis passes
- - [ ] FFmpeg integration interfaces compatible
-
----
-
-### Tier 2: Batch Operations
-
-Since all 3 projects in Tier 2 have similar migration profiles, they can be **upgraded simultaneously**:
-
-#### Batch Update Process
-
-1. **Project File Updates** (Single operation)
- - Update all 3 .csproj files to `net11.0`
- - Commit: "Upgrade Tier 2 projects to .NET 11.0"
-
-2. **Build Validation** (Parallel)
- - Build all 3 projects
- - Check for errors/warnings
- - Verify code analysis passes
-
-3. **Package Restoration** (Parallel)
- - Restore NuGet packages for all projects
- - Verify no conflicts
-
-4. **Integration Check**
- - Build solution to ensure Tier 2 projects compile together
- - Verify dependent projects (still on .NET 9.0) can still reference Tier 2
-
----
-
-### Tier 2: Completion Criteria
-
-Before proceeding to Tier 3, **all** of the following must be met:
-
-1. ✅ **Build Success**
- - All 3 projects build without errors
- - All 3 projects build without warnings (zero-warning target)
-
-2. ✅ **Package Health**
- - All packages restored successfully
- - No package dependency conflicts
- - EF Core design-time tools functional (Database.Implementations)
-
-3. ✅ **Code Quality**
- - Code analysis passes (StyleCop, analyzers)
- - No compiler warnings about obsolete APIs
- - No new code analysis violations introduced
-
-4. ✅ **Preview Framework Assessment**
- - .NET 11.0 SDK functional
- - No blocking preview framework issues discovered
- - Build performance acceptable
-
-5. ✅ **Documentation**
- - Any issues encountered documented
- - Workarounds noted (if applicable)
- - Lessons learned recorded for later tiers
-
-**Decision Point**: If Tier 2 shows critical .NET 11.0 preview issues, **PAUSE** migration and assess viability.
-
----
-
-### Tier 2: Package Update Reference
-
-| Package | Current | Target | Notes |
-|---------|---------|--------|-------|
-| Microsoft.EntityFrameworkCore | 11.0.0-preview.1 | 11.0.0-preview.1 | Already compatible ✅ |
-| Microsoft.EntityFrameworkCore.Relational | 11.0.0-preview.1 | 11.0.0-preview.1 | Already compatible ✅ |
-| Microsoft.EntityFrameworkCore.Design | 11.0.0-preview.1 | 11.0.0-preview.1 | Already compatible ✅ |
-
-**All packages already at .NET 11.0-compatible versions - no package updates required for Tier 2.**
-
----
-
-### Tier 3: Data Layer
-
-#### Overview
-**Projects**: 2
-**Complexity**: Low
-**Risk**: Low
-**Effort**: Low
-
-Data models and first test validation point. Straightforward migration with immediate test feedback.
-
----
-
-#### Jellyfin.Data
-
-**Current State**: .NET 9.0 Class Library
-**Target State**: .NET 11.0 Class Library
-**Dependencies**: Jellyfin.Database.Implementations (Tier 2), Jellyfin.CodeAnalysis
-**Risk**: Low (data models)
-
-**Migration Steps**:
-1. Update project file: `net11.0`
-2. No package updates required (all compatible)
-3. Build and validate data model classes compile cleanly
-
-**Expected Changes**: None
-
-**Validation**:
-- [ ] Build succeeds without errors/warnings
-- [ ] Data entity classes compile
-- [ ] EF Core model configuration unchanged
-- [ ] Used successfully by MediaBrowser.Model (Tier 4)
-
----
-
-#### Jellyfin.MediaEncoding.Keyframes.Tests
-
-**Current State**: .NET 9.0 Test Project (xUnit)
-**Target State**: .NET 11.0 Test Project
-**Dependencies**: Jellyfin.MediaEncoding.Keyframes (Tier 2), Jellyfin.CodeAnalysis
-**Risk**: Low (test project)
-
-**Migration Steps**:
-1. Update project file: `net11.0`
-2. No package updates required:
- - xUnit 2.9.3 ✅
- - xunit.runner.visualstudio 2.8.2 ✅
- - Microsoft.NET.Test.Sdk 18.0.1 ✅
-3. Run tests to validate Tier 2 (MediaEncoding.Keyframes)
-
-**Expected Changes**: None
-
-**Validation**:
-- [ ] Build succeeds without errors/warnings
-- [ ] All tests run successfully
-- [ ] All tests pass (100% pass rate)
-- [ ] Test runner compatible with .NET 11.0
-- [ ] Tier 2 keyframes functionality validated
-
-**Tier 3 Completion Criteria**:
-1. Both projects build without errors/warnings
-2. Jellyfin.MediaEncoding.Keyframes.Tests: 100% tests pass
-3. No package conflicts
-4. Tier 2 functionality validated through tests
-
----
-
-### Tier 4: Model Layer
-
-#### Overview
-**Projects**: 1
-**Complexity**: Medium (high fan-out)
-**Risk**: Medium
-**Effort**: Low
-
-Central model definitions used by 21 projects throughout solution. Critical stability point.
-
----
-
-#### MediaBrowser.Model
-
-**Current State**: .NET 9.0 Class Library
-**Target State**: .NET 11.0 Class Library
-**Dependencies**: Jellyfin.Data (Tier 3), Jellyfin.Extensions (Tier 2), Jellyfin.CodeAnalysis
-**Used By**: 21 projects (most of solution)
-**Risk**: Medium (high fan-out = wide impact)
-
-**Migration Steps**:
-1. Update project file: `net11.0`
-2. No package updates required (compatible packages)
-3. Build and validate model classes compile cleanly
-
-**Expected Changes**: None
-
-**Key Focus Areas**:
-- DTO models for API serialization
-- Query models for filtering/paging
-- Configuration models
-- Enum definitions
-
-**Validation**:
-- [ ] Build succeeds without errors/warnings
-- [ ] All model classes compile cleanly
-- [ ] No JSON serialization API changes
-- [ ] Enum definitions unchanged
-- [ ] Configuration model binding compatible
-- [ ] DTOs serialize/deserialize correctly (tested in Tier 5)
-
-**Special Considerations**:
-- **High Fan-Out**: 21 projects depend on this
-- **API Surface**: Models used in REST API contracts
-- **Serialization**: JSON serialization must remain compatible
-
-**Tier 4 Completion Criteria**:
-1. Project builds without errors/warnings
-2. All model classes compile without changes
-3. No breaking changes in public API surface
-4. Ready for validation by Tier 5 tests
-
----
-
-### Tier 5: Common Utilities & Model Tests
-
-#### Overview
-**Projects**: 3
-**Complexity**: Low
-**Risk**: Low
-**Effort**: Low
-
-Common utilities and validation tests for Tier 4 models. Provides test coverage for central models.
-
----
-
-#### MediaBrowser.Common
-
-**Current State**: .NET 9.0 Class Library
-**Target State**: .NET 11.0 Class Library
-**Dependencies**: MediaBrowser.Model (Tier 4), Jellyfin.CodeAnalysis
-**Used By**: 10 projects
-**Risk**: Low (utility library)
-
-**Migration Steps**:
-1. Update project file: `net11.0`
-2. Package updates - All compatible:
- - Microsoft.Extensions.DependencyInjection: 11.0.0-preview.1 ✅
- - Microsoft.Extensions.Logging: 11.0.0-preview.1 ✅
- - Microsoft.Extensions.Http: 11.0.0-preview.1 ✅
-3. Build and validate common utilities
-
-**Expected Changes**: None
-
-**Validation**:
-- [ ] Build succeeds without errors/warnings
-- [ ] Dependency injection helpers compile
-- [ ] Logging utilities compatible
-- [ ] HTTP client utilities functional
-- [ ] Configuration helpers unchanged
-
----
-
-#### Jellyfin.Extensions.Tests
-
-**Current State**: .NET 9.0 Test Project (xUnit)
-**Target State**: .NET 11.0 Test Project
-**Dependencies**: MediaBrowser.Model (Tier 4), Jellyfin.Extensions (Tier 2), Jellyfin.CodeAnalysis
-**Risk**: Low (test project)
-
-**Migration Steps**:
-1. Update project file: `net11.0`
-2. No package updates required (test packages compatible)
-3. Run tests to validate Tier 2 extensions
-
-**Expected Changes**: None
-
-**Validation**:
-- [ ] Build succeeds
-- [ ] All tests run
-- [ ] All tests pass (100%)
-- [ ] Tier 2 extensions validated
-
----
-
-#### Jellyfin.Model.Tests
-
-**Current State**: .NET 9.0 Test Project (xUnit)
-**Target State**: .NET 11.0 Test Project
-**Dependencies**: MediaBrowser.Model (Tier 4), Jellyfin.CodeAnalysis
-**Risk**: Low (test project)
-
-**Migration Steps**:
-1. Update project file: `net11.0`
-2. No package updates required (test packages compatible)
-3. Run tests to validate Tier 4 models
-
-**Expected Changes**: None
-
-**Validation**:
-- [ ] Build succeeds
-- [ ] All tests run
-- [ ] All tests pass (100%)
-- [ ] Tier 4 models validated (DTOs, serialization, configuration)
-
-**Tier 5 Completion Criteria**:
-1. All 3 projects build without errors/warnings
-2. Both test projects: 100% tests pass
-3. Tier 2 extensions validated
-4. Tier 4 models validated
-5. Common utilities functional
-6. No package conflicts
-
----
-
-### Tier 6: Database Providers & Naming ⚠️ CRITICAL TIER
-
-#### Overview
-**Projects**: 3
-**Complexity**: High
-**Risk**: CRITICAL
-**Effort**: High
-
-**This is the most critical tier in the migration.** Database providers are the foundation for all data access throughout Jellyfin. Both PostgreSQL and SQLite EF Core providers are preview versions for .NET 11.0, requiring extensive validation.
-
-**🛑 GO/NO-GO DECISION POINT**: If Tier 6 fails validation, the entire migration may need to pause or revert.
-
----
-
-#### Emby.Naming
-
-**Current State**: .NET 9.0 Class Library
-**Target State**: .NET 11.0 Class Library
-**Dependencies**: MediaBrowser.Model (Tier 4), MediaBrowser.Common (Tier 5), Jellyfin.CodeAnalysis
-**Used By**: MediaBrowser.Controller (Tier 7), Emby.Server.Implementations, Jellyfin.Naming.Tests (Tier 7)
-**Risk**: Low (naming logic)
-
-**Migration Steps**:
-1. Update project file: `net11.0`
-2. No package updates required
-3. Build and validate naming logic
-
-**Expected Changes**: None
-
-**Validation**:
-- [ ] Build succeeds without errors/warnings
-- [ ] Naming pattern logic compiles
-- [ ] File/folder naming utilities unchanged
-- [ ] Validated by Jellyfin.Naming.Tests (Tier 7)
-
----
-
-#### Jellyfin.Database.Providers.Postgres ⚠️ CRITICAL
-
-**Current State**: .NET 9.0 Class Library
-**Target State**: .NET 11.0 Class Library
-**Dependencies**: MediaBrowser.Common (Tier 5), Jellyfin.Database.Implementations (Tier 2), Jellyfin.CodeAnalysis
-**Used By**: Jellyfin.Server (Tier 11), Jellyfin.Server.Implementations (Tier 8)
-**Risk**: **CRITICAL** (primary database provider for Jellyfin)
-
-**Package Status**:
-- **Npgsql.EntityFrameworkCore.PostgreSQL**: 11.0.0-preview.1 ✅ (already upgraded)
-- **Status**: Preview provider for preview framework
-
-**Migration Steps**:
-
-1. **Prerequisites**
- - PostgreSQL database server available for testing
- - Test database with representative Jellyfin schema
- - Baseline performance metrics from .NET 9.0
- - Connection string configuration ready
-
-2. **Framework Update**
- - Update project file: `net11.0`
- - No package updates required (already on preview)
-
-3. **Expected Breaking Changes**
- - ✅ **None identified** in assessment
- - ⚠️ **Potential**: EF Core 11.0 query translation changes
- - ⚠️ **Potential**: Npgsql provider-specific behavior changes
- - ⚠️ **Potential**: Connection pooling behavior
- - ⚠️ **Potential**: Transaction handling differences
-
-4. **Code Modifications**
- - **Expected**: None
- - **Potential**:
- - DbContext configuration adjustments
- - Connection string format changes
- - Provider-specific query hints
- - Migration compatibility fixes
-
-5. **Testing Strategy** (EXTENSIVE)
-
- **Build Validation**:
- - [ ] Project builds without errors
- - [ ] Project builds without warnings
- - [ ] Code analysis passes
- - [ ] DbContext registration compiles
-
- **Database Connection Tests**:
- - [ ] Connection string parsing successful
- - [ ] Database connection established
- - [ ] Connection pooling functional
- - [ ] SSL/TLS connections work (if applicable)
- - [ ] Connection timeouts handled correctly
-
- **Migration Tests**:
- - [ ] Existing migrations still valid
- - [ ] Can apply migrations to empty database
- - [ ] Can upgrade from previous schema version
- - [ ] Migration history table accessible
- - [ ] No schema drift detected
-
- **CRUD Operations**:
- - [ ] INSERT operations successful
- - [ ] SELECT queries return correct data
- - [ ] UPDATE operations modify records
- - [ ] DELETE operations remove records
- - [ ] Bulk operations functional
- - [ ] Concurrent operations safe
-
- **Query Translation**:
- - [ ] LINQ queries translate to SQL correctly
- - [ ] Complex queries (joins, aggregations) work
- - [ ] Navigation properties load correctly
- - [ ] Explicit loading functional
- - [ ] Eager loading (Include) functional
- - [ ] Lazy loading compatible (if enabled)
-
- **Transaction Tests**:
- - [ ] Explicit transactions work
- - [ ] Rollback functional
- - [ ] Nested transactions (if used)
- - [ ] Distributed transactions (if used)
- - [ ] Transaction isolation levels correct
-
- **Performance Tests**:
- - [ ] Query performance comparable to .NET 9.0 baseline
- - [ ] Insert/update performance acceptable
- - [ ] Bulk operation performance
- - [ ] Connection pool performance
- - [ ] No memory leaks detected
- - [ ] No excessive allocations
-
- **Concurrency Tests**:
- - [ ] Concurrent reads safe
- - [ ] Concurrent writes safe
- - [ ] Optimistic concurrency functional
- - [ ] Pessimistic locking works (if used)
- - [ ] Deadlock handling correct
-
- **Edge Cases**:
- - [ ] NULL value handling
- - [ ] Large result sets
- - [ ] Long-running queries
- - [ ] Connection drops handled
- - [ ] Database restart recovery
-
-6. **Validation Checklist**
- - [ ] All connection tests pass
- - [ ] All migration tests pass
- - [ ] All CRUD tests pass
- - [ ] All query translation tests pass
- - [ ] All transaction tests pass
- - [ ] Performance within acceptable range (<10% regression)
- - [ ] Concurrency tests pass
- - [ ] Edge case tests pass
- - [ ] No critical issues detected
-
-7. **Performance Baseline Comparison**
- - Document query performance vs. .NET 9.0
- - Compare connection pool behavior
- - Measure memory usage
- - Track any regressions
-
-**Contingency Plans**:
-- **If connection issues**: Check Npgsql preview release notes; report bug upstream
-- **If query translation fails**: Rewrite queries or wait for provider fix
-- **If performance degrades >20%**: Profile and optimize or consider blocking issue
-- **If critical bugs**: May need to pause migration until Npgsql fix available
-
----
-
-#### Jellyfin.Database.Providers.Sqlite ⚠️ CRITICAL
-
-**Current State**: .NET 9.0 Class Library
-**Target State**: .NET 11.0 Class Library
-**Dependencies**: MediaBrowser.Common (Tier 5), Jellyfin.Database.Implementations (Tier 2), Jellyfin.CodeAnalysis
-**Used By**: Jellyfin.Server (Tier 11)
-**Risk**: **CRITICAL** (alternative database provider for Jellyfin)
-
-**Package Status**:
-- **Microsoft.EntityFrameworkCore.Sqlite**: 11.0.0-preview.1 ✅ (already upgraded)
-- **Microsoft.Data.Sqlite**: 11.0.0-preview.1 ✅ (already upgraded)
-- **Status**: Preview provider for preview framework
-
-**Migration Steps**:
-
-1. **Prerequisites**
- - SQLite database file available for testing
- - Test database with representative Jellyfin schema
- - Baseline performance metrics from .NET 9.0
- - Write permissions verified
-
-2. **Framework Update**
- - Update project file: `net11.0`
- - No package updates required (already on preview)
-
-3. **Expected Breaking Changes**
- - ✅ **None identified** in assessment
- - ⚠️ **Potential**: EF Core 11.0 query translation changes
- - ⚠️ **Potential**: SQLite provider-specific behavior changes
- - ⚠️ **Potential**: File locking behavior
- - ⚠️ **Potential**: WAL mode changes
-
-4. **Code Modifications**
- - **Expected**: None
- - **Potential**:
- - DbContext configuration adjustments
- - Connection string format changes
- - Pragmas or SQLite-specific settings
- - Migration compatibility fixes
-
-5. **Testing Strategy** (EXTENSIVE)
-
- **Build Validation**:
- - [ ] Project builds without errors
- - [ ] Project builds without warnings
- - [ ] Code analysis passes
- - [ ] DbContext registration compiles
-
- **Database File Tests**:
- - [ ] Database file created successfully
- - [ ] Database file opened correctly
- - [ ] File locking works correctly
- - [ ] WAL mode functional (if used)
- - [ ] File permissions respected
- - [ ] Backup/restore operations work
-
- **Migration Tests**:
- - [ ] Existing migrations still valid
- - [ ] Can apply migrations to empty database
- - [ ] Can upgrade from previous schema version
- - [ ] Migration history table accessible
- - [ ] No schema drift detected
-
- **CRUD Operations**:
- - [ ] INSERT operations successful
- - [ ] SELECT queries return correct data
- - [ ] UPDATE operations modify records
- - [ ] DELETE operations remove records
- - [ ] Bulk operations functional
- - [ ] Concurrent operations safe
-
- **Query Translation**:
- - [ ] LINQ queries translate to SQL correctly
- - [ ] Complex queries (joins, aggregations) work
- - [ ] Navigation properties load correctly
- - [ ] Explicit loading functional
- - [ ] Eager loading (Include) functional
- - [ ] SQLite-specific SQL features work
-
- **Transaction Tests**:
- - [ ] Explicit transactions work
- - [ ] Rollback functional
- - [ ] Nested transactions (if used)
- - [ ] Transaction isolation correct
-
- **Performance Tests**:
- - [ ] Query performance comparable to .NET 9.0 baseline
- - [ ] Insert/update performance acceptable
- - [ ] Bulk operation performance
- - [ ] File I/O performance
- - [ ] No memory leaks detected
- - [ ] Database size remains reasonable
-
- **Concurrency Tests**:
- - [ ] Concurrent reads safe
- - [ ] Concurrent writes safe (within SQLite limits)
- - [ ] File locking prevents corruption
- - [ ] Busy timeout handling works
-
- **Edge Cases**:
- - [ ] NULL value handling
- - [ ] Large result sets
- - [ ] Long-running queries
- - [ ] Database corruption recovery (if applicable)
- - [ ] Disk full scenarios handled
-
-6. **Validation Checklist**
- - [ ] All file operation tests pass
- - [ ] All migration tests pass
- - [ ] All CRUD tests pass
- - [ ] All query translation tests pass
- - [ ] All transaction tests pass
- - [ ] Performance within acceptable range (<10% regression)
- - [ ] Concurrency tests pass
- - [ ] Edge case tests pass
- - [ ] No critical issues detected
-
-7. **Performance Baseline Comparison**
- - Document query performance vs. .NET 9.0
- - Compare file I/O behavior
- - Measure database file size
- - Track any regressions
-
-**Contingency Plans**:
-- **If file locking issues**: Check Microsoft.Data.Sqlite preview release notes
-- **If query translation fails**: Rewrite queries or wait for provider fix
-- **If performance degrades >20%**: Profile and optimize or consider blocking issue
-- **If critical bugs**: May need to pause migration until EF Core Sqlite fix available
-
----
-
-### Tier 6: Integration Testing
-
-After all 3 projects migrate, perform **cross-provider validation**:
-
-#### Database Provider Integration Tests
-
-1. **Dual-Provider Tests**
- - [ ] Can switch between PostgreSQL and SQLite configurations
- - [ ] Same queries work on both providers
- - [ ] Schema migrations compatible across providers
- - [ ] Data integrity maintained across providers
-
-2. **Real-World Scenario Tests**
- - [ ] User authentication/authorization queries
- - [ ] Media library metadata queries
- - [ ] Playback session tracking
- - [ ] User preferences and settings
- - [ ] Search and filtering operations
-
-3. **Load Testing**
- - [ ] Concurrent user simulations
- - [ ] Large library operations (10k+ items)
- - [ ] Sustained query load
- - [ ] Memory usage under load
-
-4. **Failure Recovery**
- - [ ] Database connection drop recovery
- - [ ] Transaction rollback on errors
- - [ ] Database restart handling
- - [ ] Corrupted data detection
-
----
-
-### Tier 6: Completion Criteria (STRICT)
-
-🛑 **This tier has the STRICTEST completion criteria.** Do not proceed to Tier 7 unless ALL criteria met:
-
-1. ✅ **Build Success**
- - All 3 projects build without errors
- - All 3 projects build without warnings
-
-2. ✅ **Database Connection**
- - PostgreSQL provider connects successfully
- - SQLite provider connects successfully
- - Connection pooling functional for both
-
-3. ✅ **Migration Compatibility**
- - All existing migrations apply successfully
- - No schema drift detected
- - Migration history intact
-
-4. ✅ **CRUD Operations**
- - All CRUD tests pass (100%) for both providers
- - Concurrency tests pass
- - Transaction tests pass
-
-5. ✅ **Query Translation**
- - LINQ queries translate correctly
- - Complex queries work
- - Navigation loading functional
-
-6. ✅ **Performance Acceptable**
- - Query performance: <10% regression vs. .NET 9.0
- - Connection performance: Comparable to baseline
- - Memory usage: No significant increase
- - No memory leaks detected
-
-7. ✅ **Integration Tests**
- - Dual-provider tests pass
- - Real-world scenario tests pass
- - Load tests pass (within acceptable limits)
- - Failure recovery tests pass
-
-8. ✅ **Manual Validation**
- - Senior engineer review of provider behavior
- - Database administrator verification (for PostgreSQL)
- - Sign-off on performance metrics
-
-9. ✅ **Documentation**
- - All issues encountered documented
- - Performance baselines recorded
- - Known limitations documented
- - Contingency plans ready
-
-**🛑 DECISION POINT**: If **any** critical issues detected in Tier 6, **PAUSE** migration:
-- **Option A**: Report issues to Npgsql/EF Core teams; wait for fixes
-- **Option B**: Implement workarounds (if feasible)
-- **Option C**: Revert migration; target .NET 10.0 LTS instead
-- **Option D**: Continue with documented risks (ONLY if non-critical)
-
-**Tier 6 is the primary risk gate. Proceed to Tier 7 only with high confidence in database provider stability.**
-
----
-
-### Tier 7: Controller Layer
-
-#### Overview
-**Projects**: 2 (Jellyfin.Naming.Tests, MediaBrowser.Controller)
-**Complexity**: Medium
-**Risk**: Medium
-**Effort**: Medium
-
-Controller abstractions and naming validation. MediaBrowser.Controller has high fan-out (12 projects depend on it).
-
-#### Quick Migration Profile
-
-**Both Projects**:
-- Update to `net11.0`
-- No package updates required (all compatible)
-- Build and run tests
-
-**MediaBrowser.Controller**:
-- **Risk**: Medium (high fan-out)
-- **Dependencies**: Tiers 2-6
-- **Used By**: 12 projects (business logic tier)
-- **Focus**: Controller abstractions, interfaces for repositories/services
-- **Validation**: Jellyfin.Controller.Tests (Tier 8)
-
-**Jellyfin.Naming.Tests**:
-- **Risk**: Low (test project)
-- **Validates**: Emby.Naming (Tier 6)
-- **Expected**: 100% tests pass
-
-**Tier 7 Completion Criteria**:
-1. Both projects build without errors/warnings
-2. Jellyfin.Naming.Tests: 100% pass rate
-3. MediaBrowser.Controller public API unchanged
-4. Ready for Tier 8 business logic
-
----
-
-### Tier 8: Business Logic ⚡ LARGEST TIER
-
-#### Overview
-**Projects**: 12 (largest tier)
-**Complexity**: High
-**Risk**: High
-**Effort**: High
-
-This tier contains most of Jellyfin's business logic: media processing, networking, providers, drawing, and server infrastructure. **High parallelization potential** within tier.
-
-#### Project Grouping for Parallel Execution
-
-**Group A: Media Processing (3 projects)**
-- Emby.Photos
-- MediaBrowser.MediaEncoding
-- Jellyfin.MediaEncoding.Hls
-
-**Group B: Drawing & Graphics (2 projects)**
-- Jellyfin.Drawing
-- Jellyfin.Drawing.Skia
-
-**Group C: Business Services (4 projects)**
-- Jellyfin.LiveTv
-- Jellyfin.Networking
-- MediaBrowser.Providers
-- MediaBrowser.XbmcMetadata
-
-**Group D: Metadata & Server Infrastructure (3 projects)**
-- MediaBrowser.LocalMetadata
-- Jellyfin.Server.Implementations
-- Jellyfin.Controller.Tests
-
----
-
-#### Group A: Media Processing
-
-##### Emby.Photos
-- **Risk**: Medium (image processing)
-- **Dependencies**: MediaBrowser.Model, MediaBrowser.Controller
-- **Focus**: Photo library management
-- **Validation**: Build + integration tests
-
-##### MediaBrowser.MediaEncoding
-- **Risk**: High (FFmpeg integration)
-- **Packages**: No updates needed
-- **Focus**: Video/audio transcoding, FFmpeg process management
-- **Key Tests**:
- - [ ] FFmpeg process spawning works
- - [ ] Stream handling functional
- - [ ] Transcoding profiles correct
- - [ ] Process cleanup on abort
-
-##### Jellyfin.MediaEncoding.Hls
-- **Risk**: Medium (HLS streaming)
-- **Dependencies**: MediaBrowser.Controller, Jellyfin.MediaEncoding.Keyframes
-- **Focus**: HLS playlist generation, segmentation
-- **Key Tests**:
- - [ ] Manifest generation correct
- - [ ] Segment timing accurate
- - [ ] Playlist updates work
-
----
-
-#### Group B: Drawing & Graphics
-
-##### Jellyfin.Drawing
-- **Risk**: Medium (graphics operations)
-- **Dependencies**: MediaBrowser.Model, MediaBrowser.Common, MediaBrowser.Controller
-- **Focus**: Image operations, thumbnail generation
-- **Key Tests**:
- - [ ] Image loading/saving works
- - [ ] Thumbnail generation functional
- - [ ] Image format conversions
-
-##### Jellyfin.Drawing.Skia
-- **Risk**: High (native library interop)
-- **Packages**:
- - SkiaSharp 3.116.1 ✅
- - SkiaSharp.HarfBuzz 3.116.1 ✅
- - SkiaSharp.NativeAssets.Linux 3.116.1 ✅
- - HarfBuzzSharp.NativeAssets.Linux 8.3.1.1 ✅
-- **Focus**: SkiaSharp-based image processing
-- **Critical Tests**:
- - [ ] SkiaSharp native libraries load
- - [ ] Image processing operations work
- - [ ] Font rendering functional
- - [ ] Cross-platform compatibility (Linux primary)
- - [ ] No memory leaks in native interop
-- **Contingency**: If SkiaSharp issues, check for .NET 11.0-specific native library versions
-
----
-
-#### Group C: Business Services
-
-##### Jellyfin.LiveTv
-- **Risk**: Medium (Live TV functionality)
-- **Dependencies**: MediaBrowser.Model, MediaBrowser.Common, MediaBrowser.Controller
-- **Focus**: Live TV guide, recording management
-- **Tests**: Jellyfin.LiveTv.Tests (Tier 9)
-
-##### Jellyfin.Networking
-- **Risk**: Medium (network operations)
-- **Dependencies**: MediaBrowser.Common, MediaBrowser.Controller
-- **Focus**: Network discovery, DLNA, SSDP
-- **Key Tests**:
- - [ ] Network interface detection
- - [ ] DLNA device discovery
- - [ ] Socket operations
- - [ ] UDP/TCP communication
-- **Tests**: Jellyfin.Networking.Tests (Tier 9)
-
-##### MediaBrowser.Providers
-- **Risk**: Medium (metadata providers)
-- **Dependencies**: MediaBrowser.Model, MediaBrowser.Controller
-- **Focus**: Metadata fetching from external sources (TMDb, MusicBrainz, etc.)
-- **Packages**:
- - TMDbLib 2.3.0 ✅
- - MetaBrainz.MusicBrainz 8.0.1 ✅
-- **Tests**: Jellyfin.Providers.Tests (Tier 9)
-
-##### MediaBrowser.XbmcMetadata
-- **Risk**: Low (metadata parsing)
-- **Dependencies**: MediaBrowser.Model, MediaBrowser.Controller
-- **Focus**: NFO file parsing/writing
-- **Tests**: Jellyfin.XbmcMetadata.Tests (Tier 9)
-
----
-
-#### Group D: Metadata & Server Infrastructure
-
-##### MediaBrowser.LocalMetadata
-- **Risk**: Low (local metadata)
-- **Dependencies**: MediaBrowser.Model, MediaBrowser.Controller
-- **Focus**: Local metadata file operations
-
-##### Jellyfin.Server.Implementations
-- **Risk**: High (server infrastructure)
-- **Dependencies**: 6 direct dependencies (Jellyfin.Database.Providers.Postgres, Jellyfin.Data, MediaBrowser.Model, MediaBrowser.Controller, Jellyfin.Database.Implementations)
-- **Focus**: Server core implementations, dependency injection, configuration
-- **Key Areas**:
- - Database integration (uses Tier 6 providers)
- - Configuration management
- - Service registration
- - Plugin infrastructure
-- **Tests**: Jellyfin.Server.Implementations.Tests (Tier 13)
-
-##### Jellyfin.Controller.Tests
-- **Risk**: Low (test project)
-- **Validates**: MediaBrowser.Controller (Tier 7)
-- **Expected**: 100% tests pass
-
----
-
-### Tier 8: Batch Migration Strategy
-
-Due to 12 projects, **use phased approach within tier**:
-
-#### Phase 8A: Update All Project Files (Single Commit)
-- Update all 12 .csproj files to `net11.0`
-- Commit: "Upgrade Tier 8 projects to .NET 11.0"
-
-#### Phase 8B: Build Validation (Parallel by Group)
-- Build Group A (Media Processing)
-- Build Group B (Drawing & Graphics)
-- Build Group C (Business Services)
-- Build Group D (Metadata & Infrastructure)
-- Fix any compilation errors
-
-#### Phase 8C: Integration Testing
-- Run Jellyfin.Controller.Tests (validates Tier 7)
-- Integration test between groups
-- Validate SkiaSharp native libraries (Group B)
-- Validate FFmpeg integration (Group A)
-- Validate networking operations (Group C)
-
----
-
-### Tier 8: Completion Criteria
-
-1. ✅ **Build Success**
- - All 12 projects build without errors
- - All 12 projects build without warnings
-
-2. ✅ **Package Health**
- - All packages restored
- - No conflicts
- - SkiaSharp native libraries load successfully
-
-3. ✅ **Group Validation**
- - **Group A**: FFmpeg operations functional; HLS generation works
- - **Group B**: SkiaSharp operations successful; image processing works
- - **Group C**: Network operations functional; metadata providers work
- - **Group D**: Server infrastructure compiles; controller tests pass
-
-4. ✅ **Critical Tests**
- - Jellyfin.Controller.Tests: 100% pass
- - Native library interop validated (SkiaSharp)
- - Process management validated (FFmpeg)
- - Network operations validated
-
-5. ✅ **Performance**
- - Image processing: Comparable to .NET 9.0
- - Transcoding: No significant regression
- - Network operations: Acceptable latency
-
-**Tier 8 represents majority of application functionality. Thorough validation required before proceeding.**
-
----
-
-### Tier 9: API & Tests
-
-#### Overview
-**Projects**: 8 (Jellyfin.Api + 7 test projects)
-**Complexity**: Medium
-**Risk**: Medium
-**Effort**: Medium
-
-API layer and comprehensive test coverage for Tier 8 business logic.
-
-#### Projects
-
-**Jellyfin.Api** (ASP.NET Core API):
-- **Risk**: High (REST API)
-- **Dependencies**: Jellyfin.Networking, Jellyfin.MediaEncoding.Hls, MediaBrowser.MediaEncoding, MediaBrowser.Controller
-- **Packages**:
- - Microsoft.AspNetCore.Authorization: 11.0.0-preview.1 ✅
- - Swashbuckle.AspNetCore: 7.3.2 ✅
- - Swashbuckle.AspNetCore.ReDoc: 6.9.0 ✅
-- **Key Areas**:
- - REST API controllers
- - Authentication/authorization
- - API versioning
- - OpenAPI/Swagger
-- **Tests**: Jellyfin.Api.Tests (Tier 10)
-
-**Test Projects** (7 projects):
-- Jellyfin.Common.Tests
-- Jellyfin.LiveTv.Tests
-- Jellyfin.MediaEncoding.Hls.Tests
-- Jellyfin.MediaEncoding.Tests
-- Jellyfin.Networking.Tests
-- Jellyfin.Providers.Tests
-- Jellyfin.XbmcMetadata.Tests
-
-**Migration Strategy**:
-1. Update all 8 project files to net11.0
-2. Build API project; fix any ASP.NET Core compatibility issues
-3. Run all 7 test projects (validates Tier 8)
-
-**Tier 9 Completion Criteria**:
-1. Jellyfin.Api builds without errors/warnings
-2. API controllers compile; routing works
-3. Authentication/authorization unchanged
-4. Swagger/OpenAPI generation works
-5. **All 7 test projects: 100% pass rate**
-6. Tier 8 business logic validated through tests
-
----
-
-### Tier 10: Server Implementation
-
-#### Overview
-**Projects**: 2
-**Complexity**: High
-**Risk**: High
-**Effort**: High
-
-Server implementations that integrate all lower tiers.
-
-#### Emby.Server.Implementations
-- **Risk**: High (integration complexity)
-- **Dependencies**: 14 direct dependencies (most of solution)
-- **Focus**: Server implementation layer integrating all features
-- **Migration**: Update to net11.0; validate integration
-- **Tests**: Jellyfin.Server.Implementations.Tests (Tier 13)
-
-#### Jellyfin.Api.Tests
-- **Risk**: Low (test project)
-- **Validates**: Jellyfin.Api (Tier 9)
-- **Expected**: 100% tests pass
-
-**Tier 10 Completion Criteria**:
-1. Both projects build without errors/warnings
-2. Jellyfin.Api.Tests: 100% pass
-3. Server implementations compile and integrate all dependencies
-4. No integration conflicts
-
----
-
-### Tier 11: Main Application
-
-#### Overview
-**Projects**: 1 (Jellyfin.Server)
-**Complexity**: High
-**Risk**: High
-**Effort**: Medium
-
-Main application entry point - consolidates all functionality.
-
-#### Jellyfin.Server
-- **Risk**: High (application entry point)
-- **Dependencies**: 9 direct dependencies
-- **Type**: ASP.NET Core application
-- **Packages**:
- - Serilog.AspNetCore: 10.0.0 ✅
- - prometheus-net.AspNetCore: 8.2.1 ✅
- - Microsoft.AspNetCore.Mvc.Testing: 11.0.0-preview.1 ✅
-- **Key Areas**:
- - Application startup (Program.cs, Startup.cs)
- - ASP.NET Core hosting
- - Middleware pipeline
- - Dependency injection configuration
- - Logging configuration (Serilog)
- - Metrics (Prometheus)
-
-**Migration Steps**:
-1. Update to net11.0
-2. Validate startup configuration
-3. Test application starts
-4. Validate middleware pipeline
-5. Check dependency injection registration
-6. Verify logging/metrics
-
-**Critical Tests**:
-- [ ] Application starts successfully
-- [ ] No startup exceptions
-- [ ] All services registered correctly
-- [ ] Middleware pipeline intact
-- [ ] API responds to requests
-- [ ] Health checks pass
-- [ ] Metrics collected
-- [ ] Logging functional
-
-**Tier 11 Completion Criteria**:
-1. Project builds without errors/warnings
-2. Application starts successfully
-3. Basic HTTP requests work (200 OK)
-4. Health checks pass
-5. No startup errors in logs
-6. Ready for integration testing
-
----
-
-### Tier 12: Integration Tests
-
-#### Overview
-**Projects**: 2
-**Complexity**: Medium
-**Risk**: Medium
-**Effort**: Medium
-
-End-to-end integration testing of full application stack.
-
-#### Jellyfin.Server.Integration.Tests
-- **Risk**: Medium (integration tests)
-- **Dependencies**: Jellyfin.Server (Tier 11)
-- **Focus**: End-to-end API testing, authentication flows, feature integration
-
-#### Jellyfin.Server.Tests
-- **Risk**: Medium (application tests)
-- **Dependencies**: Jellyfin.Server (Tier 11)
-- **Focus**: Server startup, configuration, basic functionality
-
-**Migration**: Update both to net11.0; run full test suite
-
-**Tier 12 Completion Criteria**:
-1. Both test projects build
-2. Jellyfin.Server.Tests: 100% pass
-3. Jellyfin.Server.Integration.Tests: 100% pass
-4. All integration scenarios validated
-5. Authentication/authorization flows work
-6. API endpoints functional
-
----
-
-### Tier 13: Final Test Validation
-
-#### Overview
-**Projects**: 1
-**Complexity**: Low
-**Risk**: Low
-**Effort**: Low
-
-Final validation of server implementations with integration context.
-
-#### Jellyfin.Server.Implementations.Tests
-- **Risk**: Low (final test validation)
-- **Dependencies**: Tier 12 (integration tests), Emby.Server.Implementations, Jellyfin.Server.Implementations
-- **Focus**: Server implementation validation
-
-**Migration**: Update to net11.0; run tests
-
-**Tier 13 Completion Criteria**:
-1. Project builds
-2. 100% tests pass
-3. All server implementations validated
-4. No regressions detected
-
----
-
-## Testing & Validation Strategy
-
-### Multi-Level Testing Approach
-
-The migration employs testing at every tier to ensure stability before proceeding.
-
-#### Per-Tier Testing
-
-**Build-Time Validation** (Every Tier):
-- Zero compilation errors
-- Zero warnings (target)
-- Code analysis passes
-- Package restoration successful
-
-**Unit Testing** (Tiers with Test Projects):
-- 100% test pass rate required
-- No skipped tests
-- No degraded performance
-- Tests validate lower tiers
-
-**Integration Testing** (Critical Tiers):
-- Tier 6: Database provider integration tests
-- Tier 9: API integration tests
-- Tier 12: Full application integration tests
-
-#### Phase-by-Phase Testing Requirements
-
-| Phase | Test Requirements | Success Criteria |
-|-------|-------------------|------------------|
-| **Phase 1** (Tier 2) | Build validation; no unit tests yet | Builds clean; preview framework functional |
-| **Phase 2** (Tier 3) | Jellyfin.MediaEncoding.Keyframes.Tests | 100% pass; Tier 2 validated |
-| **Phase 3** (Tier 4) | Build only; tested in Phase 4 | Builds clean |
-| **Phase 4** (Tier 5) | Jellyfin.Extensions.Tests + Jellyfin.Model.Tests | 100% pass; Tiers 2 & 4 validated |
-| **Phase 5** (Tier 6) | **CRITICAL: Extensive database tests** | All database integration tests pass |
-| **Phase 6** (Tier 7) | Jellyfin.Naming.Tests | 100% pass; Tier 6 validated |
-| **Phase 7** (Tier 8) | Jellyfin.Controller.Tests | 100% pass; Tier 7 validated |
-| **Phase 8** (Tier 9) | 7 test projects | 100% pass all; Tier 8 validated |
-| **Phase 9** (Tier 10) | Jellyfin.Api.Tests | 100% pass; API validated |
-| **Phase 10** (Tier 11) | Manual smoke tests | Application starts; basic features work |
-| **Phase 11** (Tier 12) | Integration + Server tests | 100% pass; full stack validated |
-| **Phase 12** (Tier 13) | Jellyfin.Server.Implementations.Tests | 100% pass; server validated |
-| **Phase 13** (All) | **Full solution validation** | All tests pass; smoke tests pass; performance acceptable |
-
-### Manual Testing Requirements
-
-#### Tier 11 Smoke Tests (Critical)
-After Jellyfin.Server migrates, perform manual validation:
-
-1. **Application Startup**
- - [ ] Server starts without errors
- - [ ] No exceptions in startup logs
- - [ ] Health checks respond
-
-2. **Basic Features**
- - [ ] Web UI loads
- - [ ] User authentication works
- - [ ] Library browsing functional
- - [ ] Media playback initiates
-
-3. **API Validation**
- - [ ] REST API responds
- - [ ] Authentication endpoints work
- - [ ] Basic CRUD operations successful
-
-4. **Database Operations**
- - [ ] Database queries work (PostgreSQL or SQLite)
- - [ ] No connection errors
- - [ ] CRUD operations persist
-
-### Performance Testing
-
-**Baseline Comparison Points**:
-- Tier 6: Database query performance
-- Tier 8: Image processing, transcoding performance
-- Tier 11: Application startup time, API response time
-
-**Acceptable Performance**:
-- Query performance: <10% regression
-- Image/video processing: <15% regression
-- Startup time: <20% regression
-- Memory usage: <15% increase
-
-**Performance Degradation Response**:
-- Document regression
-- Profile with dotnet-trace/PerfView
-- Report to .NET team if framework-related
-- Consider optimization or pause if severe (>30% regression)
-
-### Comprehensive Validation (Phase 13)
-
-After Tier 13 complete, perform full solution validation:
-
-#### Build Validation
-- [ ] Full solution builds without errors
-- [ ] Full solution builds without warnings
-- [ ] All projects target net11.0 (except CodeAnalysis)
-- [ ] No package conflicts across solution
-
-#### Test Suite Validation
-- [ ] All 15 test projects run successfully
-- [ ] 100% test pass rate across solution
-- [ ] No flaky tests
-- [ ] Test execution time acceptable
-
-#### Smoke Testing
-- [ ] Application starts and runs
-- [ ] All major features functional:
- - User authentication
- - Library management
- - Media playback
- - Transcoding
- - Live TV (if applicable)
- - Metadata fetching
- - Image processing
- - Network discovery
-- [ ] No critical errors in logs
-- [ ] Health checks pass
-
-#### Performance Validation
-- [ ] Startup time within acceptable range
-- [ ] API response times acceptable
-- [ ] Database query performance good
-- [ ] Transcoding performance acceptable
-- [ ] Memory usage reasonable
-- [ ] No memory leaks detected
-
-#### Deployment Testing
-- [ ] Application deploys successfully
-- [ ] Runs on target platforms (Linux, Windows, Docker)
-- [ ] Configuration migration works
-- [ ] Database migrations successful
-- [ ] Existing data accessible
-
-#### Rollback Validation
-- [ ] Can revert to previous .NET version if needed
-- [ ] Backup/restore procedures work
-- [ ] Database rollback possible (if needed)
-
-## Risk Management
-
-### High-Level Risk Assessment
-
-The migration to .NET 11.0 (PREVIEW) presents **moderate to high risk** despite clean compatibility analysis:
-
-#### Risk Categories
-
-| Risk Level | Description | Count | Projects/Areas |
-|------------|-------------|-------|----------------|
-| **CRITICAL** | Preview framework; database providers | 2 | .NET 11.0 PREVIEW stability; PostgreSQL/SQLite EF providers |
-| **HIGH** | Large complex projects; media processing | 5 | Jellyfin.Server, Emby.Server.Implementations, MediaBrowser.MediaEncoding, SkiaSharp, HLS encoding |
-| **MEDIUM** | ASP.NET Core application; multiple dependencies | 8 | Jellyfin.Api, Jellyfin.Server.Implementations, MediaBrowser.Controller, networking, providers |
-| **LOW** | Small libraries; test projects | 25 | Extensions, models, most test projects |
-
-### Critical Risks
-
-#### 1. Preview Framework Instability (.NET 11.0 PREVIEW)
-
-**Risk**: CRITICAL
-**Impact**: Entire solution
-**Probability**: HIGH
-
-**Description**:
-.NET 11.0 is in preview - not production-ready. May exhibit:
-- Runtime instability
-- Unexpected breaking changes in preview builds
-- Performance regressions
-- Undocumented API changes
-- Preview build tooling issues
-- Missing or incomplete features
-
-**Mitigation**:
-- ✅ Bottom-up approach exposes issues early (Tier 2 discovery)
-- ✅ Extensive testing at each tier before proceeding
-- ✅ Monitor .NET 11.0 preview release notes for known issues
-- ✅ Maintain ability to rollback to .NET 9.0 or switch to .NET 10.0 LTS
-- ✅ Test on target deployment environments early
-- ✅ Consider pausing if critical preview bugs discovered
-
-**Contingency**:
-- If critical preview issues: revert and target .NET 10.0 LTS instead
-- If minor issues: document and work around, monitor for preview fixes
-- If blocking issues in Tier 2-4: pause migration until preview stabilizes
-
-#### 2. Database Provider Compatibility (Tier 6)
-
-**Risk**: CRITICAL
-**Impact**: All database operations (entire application)
-**Probability**: MEDIUM
-
-**Description**:
-Database providers are critical infrastructure:
-- **Npgsql.EntityFrameworkCore.PostgreSQL 11.0.0-preview.1**: Preview provider for preview framework
-- **Microsoft.EntityFrameworkCore.Sqlite 11.0.0-preview.1**: Preview EF Core provider
-- Jellyfin.Database.Implementations integrates both providers
-- Any provider issue breaks data access throughout application
-
-**Mitigation**:
-- ✅ Tier 6 dedicated phase for database provider validation
-- ✅ Extensive integration testing with real databases (PostgreSQL, SQLite)
-- ✅ Test migration scenarios, CRUD operations, query performance
-- ✅ Validate connection pooling, transaction behavior
-- ✅ Performance benchmarking vs. .NET 9.0 baseline
-- ✅ Test under load/concurrent operations
-
-**Contingency**:
-- If provider issues: report to Npgsql/EF Core teams, monitor for fixes
-- If blocking: consider staying on .NET 9.0 until stable provider releases
-- If PostgreSQL issues only: validate SQLite as temporary fallback
-- Database provider failures block entire migration at Tier 6
-
-### High Risks
-
-#### 3. Media Processing Libraries (SkiaSharp, Tier 8)
-
-**Risk**: HIGH
-**Impact**: Image processing, thumbnail generation, graphics
-**Probability**: MEDIUM
-
-**Description**:
-- SkiaSharp 3.116.1 used for image processing
-- HarfBuzzSharp.NativeAssets.Linux for font rendering
-- Native library interop may have .NET 11.0 issues
-- Cross-platform compatibility concerns (Linux, Windows, macOS)
-
-**Mitigation**:
-- ✅ Test image processing workflows in Tier 8
-- ✅ Validate thumbnail generation, image transcoding
-- ✅ Test on target platforms (Linux primary for Jellyfin)
-- ✅ Verify native library loading and interop
-- ✅ Performance testing for image operations
-
-**Contingency**:
-- If issues: check for SkiaSharp .NET 11.0 updates
-- Report issues to SkiaSharp maintainers
-- May need to wait for library updates
-
-#### 4. Main Server Application (Jellyfin.Server, Tier 11)
-
-**Risk**: HIGH
-**Impact**: Application entry point, all features
-**Probability**: LOW
-
-**Description**:
-- Main application consolidates all functionality
-- ASP.NET Core 11.0 preview hosting
-- Startup configuration, middleware, dependency injection
-- All features converge here
-
-**Mitigation**:
-- ✅ Tiers 2-10 stable before reaching Tier 11
-- ✅ Comprehensive integration testing
-- ✅ Manual smoke testing of key user scenarios
-- ✅ Performance monitoring vs. baseline
-- ✅ Error handling and logging verification
-
-**Contingency**:
-- If startup issues: check ASP.NET Core 11.0 preview breaking changes
-- Isolate failing features and test independently
-- May need ASP.NET Core configuration adjustments
-
-#### 5. Entity Framework Core 11.0 Preview
-
-**Risk**: HIGH
-**Impact**: All data access
-**Probability**: MEDIUM
-
-**Description**:
-- EF Core 11.0.0-preview.1 used throughout solution
-- Query translation, migrations, change tracking
-- Preview may have query translation issues or performance changes
-
-**Mitigation**:
-- ✅ Validate existing database migrations still work
-- ✅ Test query patterns used throughout application
-- ✅ Monitor query performance
-- ✅ Validate LINQ-to-SQL translation
-- ✅ Test include/navigation loading
-
-**Contingency**:
-- If query translation fails: rewrite queries or wait for EF Core fixes
-- Performance issues: profile and optimize or report upstream
-- Migration issues: may need manual SQL adjustments
-
-### Medium Risks
-
-#### 6. ASP.NET Core 11.0 API Compatibility (Tier 9)
-
-**Risk**: MEDIUM
-**Impact**: REST API, authentication, authorization
-**Probability**: MEDIUM
-
-**Description**:
-- Jellyfin.Api uses ASP.NET Core 11.0 preview
-- Authentication, authorization, middleware pipeline
-- API controllers, routing, model binding
-
-**Mitigation**:
-- ✅ API tests in Tier 9 validate endpoints
-- ✅ Test authentication/authorization flows
-- ✅ Validate OpenAPI/Swagger generation
-- ✅ Test API versioning
-
-**Contingency**:
-- If auth issues: review ASP.NET Core Identity changes
-- If routing breaks: adjust route configurations
-- API compatibility issues may require code changes
-
-#### 7. Media Encoding & Streaming (Tier 8-9)
-
-**Risk**: MEDIUM
-**Impact**: Video transcoding, HLS streaming
-**Probability**: LOW
-
-**Description**:
-- MediaBrowser.MediaEncoding, Jellyfin.MediaEncoding.Hls
-- Video/audio transcoding, HLS playlist generation
-- FFmpeg integration (process spawning, stream handling)
-
-**Mitigation**:
-- ✅ Test transcoding workflows
-- ✅ Validate HLS manifest generation
-- ✅ Test FFmpeg process management
-- ✅ Performance validation for encoding
-
-**Contingency**:
-- If process issues: check .NET 11.0 Process API changes
-- If streaming breaks: validate HLS encoding pipeline
-- May need FFmpeg command adjustments
-
-#### 8. Networking & Connectivity (Tier 8)
-
-**Risk**: MEDIUM
-**Impact**: Network discovery, DLNA, remote access
-**Probability**: LOW
-
-**Description**:
-- Jellyfin.Networking for network operations
-- DLNA, SSDP, network interface detection
-- Socket operations, UDP/TCP communication
-
-**Mitigation**:
-- ✅ Test network discovery scenarios
-- ✅ Validate DLNA device detection
-- ✅ Test under various network configurations
-- ✅ Socket operation validation
-
-**Contingency**:
-- If network issues: check .NET 11.0 networking changes
-- May need Socket or HttpClient configuration adjustments
-- DLNA issues may require protocol-level debugging
-
-### Low Risks
-
-#### 9. Test Projects
-
-**Risk**: LOW
-**Impact**: Testing infrastructure only
-**Probability**: LOW
-
-**Description**:
-15 test projects throughout tiers; xUnit 2.9.3, Moq 4.18.4
-
-**Mitigation**:
-- ✅ Test framework compatibility pre-verified
-- ✅ Test projects upgraded incrementally with their targets
-- ✅ Validation at each tier
-
-**Contingency**:
-- If test framework issues: update xUnit/Moq/AutoFixture
-- Test failures indicate actual issues, not test framework problems
-
-#### 10. Small Utility Libraries
-
-**Risk**: LOW
-**Impact**: Limited to specific features
-**Probability**: VERY LOW
-
-**Description**:
-- Extensions, utilities, models (Tiers 2-5)
-- Simple, well-tested code
-- Minimal external dependencies
-
-**Mitigation**:
-- ✅ Unit tests cover functionality
-- ✅ Early tiers - failures detected immediately
-- ✅ Easy to isolate and fix
-
-**Contingency**:
-- Minimal risk; standard debugging if issues arise
-
-### Risk Mitigation Matrix
-
-| Tier | Primary Risks | Mitigation Strategy | Fallback |
-|------|---------------|---------------------|----------|
-| **Tier 2** | Preview framework first exposure | Extensive testing; early warning system | Revert if critical issues |
-| **Tier 3-5** | Model/data layer stability | Unit tests, validation | Isolated fixes |
-| **Tier 6** | Database providers (CRITICAL) | Integration tests, performance testing | Block migration if fails |
-| **Tier 7** | Controller abstractions | Naming tests, validation | Standard debugging |
-| **Tier 8** | Media processing, networking | Functional testing, cross-platform validation | Feature-specific fixes |
-| **Tier 9** | API, authentication | API tests, auth flow validation | ASP.NET Core config adjustments |
-| **Tier 10-11** | Server implementation, main app | Integration tests, smoke testing | Startup configuration fixes |
-| **Tier 12-13** | End-to-end validation | Full test suite, manual validation | Comprehensive debugging |
-
-### Rollback Triggers
-
-Rollback or pause migration if:
-
-1. ✅ **Tier 2-4 failures**: Preview framework shows critical instability
-2. ✅ **Tier 6 failure**: Database providers unusable
-3. ✅ **>20% test failures** in any tier
-4. ✅ **Performance degradation** >30% in benchmarks
-5. ✅ **Blocking preview bugs** with no workaround
-6. ✅ **Security vulnerabilities** in preview framework
-7. ✅ **Critical runtime errors** not present in .NET 9.0
-
-### Risk Acceptance
-
-The following risks are **accepted**:
-
-- ✅ **Preview framework instability**: Required for .NET 11.0 evaluation
-- ✅ **Minor breaking changes**: Expected in preview; can be addressed
-- ✅ **Performance variations**: Preview builds may have unoptimized code
-- ✅ **Incomplete preview features**: Can work around or wait for releases
-
-### Continuous Risk Monitoring
-
-Throughout migration:
-- Monitor .NET 11.0 preview announcements and known issues
-- Track package update releases for compatibility fixes
-- Performance benchmark each tier vs. .NET 9.0 baseline
-- Document all issues encountered for future reference
-- Maintain communication with .NET/EF Core/package maintainer communities
-
-## Testing & Validation Strategy
-[To be filled]
-
-## Complexity & Effort Assessment
-
-### Overall Complexity: **COMPLEX**
-
-Based on solution structure, technology stack, and preview framework target.
-
-### Per-Tier Complexity Assessment
-
-| Tier | Projects | Complexity | Dependencies | Risk | Effort | Rationale |
-|------|----------|------------|--------------|------|--------|-----------|
-| **Tier 1** | 1 | N/A | None | None | None | No migration (netstandard2.0) |
-| **Tier 2** | 3 | **Medium** | CodeAnalysis only | High | Medium | First preview exposure; database/extension infrastructure |
-| **Tier 3** | 2 | **Low** | Tier 2 | Low | Low | Data models + 1 test; straightforward |
-| **Tier 4** | 1 | **Medium** | Tiers 2-3 | Medium | Low | Central models (high fan-out); single project |
-| **Tier 5** | 3 | **Low** | Tiers 2-4 | Low | Low | Common utilities + 2 tests; minimal complexity |
-| **Tier 6** | 3 | **High** | Tiers 2-5 | **Critical** | High | Database providers (PostgreSQL, SQLite); extensive testing required |
-| **Tier 7** | 2 | **Medium** | Tiers 2-6 | Medium | Medium | Controller abstractions + 1 test; moderate complexity |
-| **Tier 8** | 12 | **High** | Tiers 2-7 | High | High | Largest tier; media processing, networking, business logic; parallelizable |
-| **Tier 9** | 8 | **Medium** | Tiers 2-8 | Medium | Medium | API + 7 test projects; validation-heavy |
-| **Tier 10** | 2 | **High** | Tiers 2-9 | High | High | Server implementations; integration point for all features |
-| **Tier 11** | 1 | **High** | Tiers 2-10 | High | Medium | Main application; entry point; consolidates all functionality |
-| **Tier 12** | 2 | **Medium** | Tier 11 | Medium | Medium | Integration tests; end-to-end validation |
-| **Tier 13** | 1 | **Low** | Tier 12 | Low | Low | Final test project; single project validation |
-
-### Tier-by-Tier Effort Breakdown
-
-#### Low Complexity Tiers (4 tiers, 7 projects)
-**Tiers**: 3, 5, 13
-**Total Projects**: 7
-**Characteristics**:
-- Small codebases or test-only projects
-- Minimal dependencies or simple utilities
-- Straightforward migration
-- Low risk of issues
-
-**Estimated Effort**: Low per tier
-
----
-
-#### Medium Complexity Tiers (5 tiers, 10 projects)
-**Tiers**: 2, 4, 7, 9, 12
-**Total Projects**: 10
-**Characteristics**:
-- Infrastructure components (Tier 2)
-- Central models with high fan-out (Tier 4)
-- Controller abstractions (Tier 7)
-- API + multiple tests (Tier 9)
-- Integration testing (Tier 12)
-
-**Estimated Effort**: Medium per tier
-
----
-
-#### High Complexity Tiers (3 tiers, 15 projects)
-**Tiers**: 6, 8, 10, 11
-**Total Projects**: 15
-**Characteristics**:
-- **Tier 6**: Database providers (CRITICAL; extensive testing)
-- **Tier 8**: Largest tier (12 projects); media processing, networking, business logic
-- **Tier 10**: Server implementations (integration complexity)
-- **Tier 11**: Main application (consolidation point)
-
-**Estimated Effort**: High per tier
-
-### Resource Requirements
-
-#### Skill Levels Needed
-
-1. **Senior .NET Engineers** (Required)
- - Deep .NET framework knowledge
- - Experience with preview frameworks
- - EF Core expertise (for Tier 6)
- - ASP.NET Core experience (for Tiers 9-11)
-
-2. **Database Engineers** (Tier 6)
- - PostgreSQL administration
- - SQLite expertise
- - EF Core migrations and performance tuning
-
-3. **Media Processing Engineers** (Tier 8)
- - FFmpeg integration knowledge
- - Video encoding/transcoding experience
- - HLS streaming protocols
-
-4. **QA/Testing Engineers** (All tiers)
- - Test framework expertise (xUnit)
- - Integration testing
- - Performance testing
-
-#### Parallel Execution Capacity
-
-**Optimal Team Structure**:
-- **Tier 2-5, 7**: 1-2 engineers (sequential or small parallel)
-- **Tier 6**: 2-3 engineers (database providers need dedicated focus)
-- **Tier 8**: 3-5 engineers (12 projects; high parallelism potential)
-- **Tier 9-11**: 2-3 engineers (integration complexity)
-- **Tier 12-13**: 1-2 engineers (testing focus)
-
-**Minimum Team**: 2 senior .NET engineers + 1 QA engineer
-**Optimal Team**: 4-5 engineers (mix of specializations) + 2 QA engineers
-
-### Phase Complexity Summary
-
-| Phase | Tier(s) | Complexity | Effort | Duration Estimate |
-|-------|---------|------------|--------|-------------------|
-| **Phase 1** | Tier 2 | Medium | Medium | *Relative: Medium* |
-| **Phase 2** | Tier 3 | Low | Low | *Relative: Low* |
-| **Phase 3** | Tier 4 | Medium | Low | *Relative: Low* |
-| **Phase 4** | Tier 5 | Low | Low | *Relative: Low* |
-| **Phase 5** | Tier 6 | **High** | **High** | *Relative: High* |
-| **Phase 6** | Tier 7 | Medium | Medium | *Relative: Medium* |
-| **Phase 7** | Tier 8 | **High** | **High** | *Relative: High* |
-| **Phase 8** | Tier 9 | Medium | Medium | *Relative: Medium* |
-| **Phase 9** | Tier 10 | **High** | **High** | *Relative: High* |
-| **Phase 10** | Tier 11 | High | Medium | *Relative: Medium* |
-| **Phase 11** | Tier 12 | Medium | Medium | *Relative: Medium* |
-| **Phase 12** | Tier 13 | Low | Low | *Relative: Low* |
-| **Phase 13** | All | High | High | *Relative: High* |
-
-**Note**: Duration estimates are relative complexity ratings only. Actual time depends on team size, experience, issue discovery, and preview framework stability.
-
-### Complexity Factors by Tier
-
-#### Tier 2: Core Infrastructure (Medium)
-- **Factors**:
- - First exposure to .NET 11.0 preview
- - Database implementation foundation
- - Extension infrastructure
-- **Challenges**:
- - Unknown preview framework issues
- - Critical foundation for all higher tiers
-- **Mitigation**: Thorough testing; early warning system
-
-#### Tier 6: Database Providers (High) ⚠️ CRITICAL
-- **Factors**:
- - PostgreSQL EF Core provider (preview)
- - SQLite EF Core provider (preview)
- - Database operations throughout solution depend on this
-- **Challenges**:
- - Provider preview stability
- - Query translation, migrations, performance
- - Concurrent operations, connection pooling
-- **Mitigation**: Extensive integration testing, performance benchmarking
-
-#### Tier 8: Business Logic (High)
-- **Factors**:
- - 12 projects (largest tier)
- - Media processing (SkiaSharp, FFmpeg)
- - Networking (DLNA, SSDP)
- - Providers, metadata, encoding
-- **Challenges**:
- - Diverse functionality requiring different expertise
- - Native library interop (SkiaSharp)
- - Process management (FFmpeg)
-- **Mitigation**: Parallelization; specialized testing per area
-
-#### Tier 10: Server Implementation (High)
-- **Factors**:
- - Emby.Server.Implementations (14 dependencies)
- - Integration point for most features
-- **Challenges**:
- - Complex integration
- - Many failure points from dependencies
-- **Mitigation**: Tiers 2-9 stable; incremental testing
-
-#### Tier 11: Main Application (High)
-- **Factors**:
- - Application entry point
- - ASP.NET Core 11.0 hosting
- - Startup, middleware, DI configuration
-- **Challenges**:
- - All features converge here
- - ASP.NET Core preview stability
-- **Mitigation**: Comprehensive smoke testing; staging environment validation
-
-### Incremental Benefit Realization
-
-Benefits realized after each tier completion:
-
-| Tier Complete | Benefits Unlocked |
-|---------------|-------------------|
-| **Tier 2** | Foundation infrastructure on .NET 11.0; preview framework viability assessed |
-| **Tier 3** | Data models available to higher tiers |
-| **Tier 4** | Central models on .NET 11.0; broad compatibility established |
-| **Tier 5** | Common utilities available; model validation complete |
-| **Tier 6** | **Database providers validated** (critical milestone); data access stable |
-| **Tier 7** | Controller abstractions ready; naming validated |
-| **Tier 8** | **Business logic on .NET 11.0**; media processing, networking validated |
-| **Tier 9** | **API layer operational**; comprehensive business logic tests pass |
-| **Tier 10** | **Server implementations complete**; integration validated |
-| **Tier 11** | **Main application functional**; end-to-end features available |
-| **Tier 12** | **Integration testing complete**; confidence in full stack |
-| **Tier 13** | **All tests pass**; solution fully validated |
-
-### Critical Milestones
-
-1. **Tier 2 Complete**: Preview framework viability confirmed
-2. **Tier 6 Complete**: Database providers stable (go/no-go decision point)
-3. **Tier 8 Complete**: Business logic operational
-4. **Tier 11 Complete**: Application functional
-5. **Tier 13 Complete**: Full solution validation
-
-### Effort Distribution
-
-- **Low Effort Tiers** (3, 5, 13): ~15% of total effort
-- **Medium Effort Tiers** (2, 4, 7, 9, 12): ~35% of total effort
-- **High Effort Tiers** (6, 8, 10, 11): ~50% of total effort
-
-**Highest effort areas**:
-1. Tier 6 (Database providers) - CRITICAL
-2. Tier 8 (Business logic) - Largest tier
-3. Tier 10-11 (Server & application) - Integration complexity
-
-## Source Control Strategy
-
-### Branching Strategy
-
-**Primary Branch**: `upgrade-to-NET11`
-**Source Branch**: `pgsql_testing_branch`
-**Merge Target**: `pgsql_testing_branch` (after successful validation)
-
-#### Branch Management
-- Upgrade branch created from `pgsql_testing_branch`
-- All migration work on `upgrade-to-NET11`
-- Tier-by-tier commits
-- Protected milestones: Tags after Tier 6, Tier 11, Tier 13
-
-### Commit Strategy
-
-**Format**: `Upgrade Tier [N] ([Name]) to .NET 11.0`
-
-**Per-Tier Commits** (Recommended):
-- One commit per tier
-- Atomic changes
-- Includes test validation
-
-### Review and Merge
-
-**Single PR** after complete validation (recommended for preview framework)
-
-**PR Checklist**:
-- [ ] All 13 tiers complete
-- [ ] 100% test pass rate
-- [ ] Full solution builds clean
-- [ ] Performance acceptable
-- [ ] Documentation updated
-
-**Review Requirements**: 2+ senior engineers
-
-### Rollback Plan
-
-**Triggers**: Critical preview bugs, database failures, severe performance degradation
-
-**Method**: Git revert to pre-migration state
-
----
-
-## Success Criteria
-
-### Technical Criteria
-
-**Build & Compilation**:
-- ✅ 40 projects upgraded to .NET 11.0
-- ✅ Solution builds without errors/warnings
-- ✅ No package conflicts
-
-**Testing**:
-- ✅ All 15 test projects: 100% pass rate
-- ✅ No flaky tests
-
-**Database Providers (CRITICAL)**:
-- ✅ PostgreSQL & SQLite functional
-- ✅ Migrations successful
-- ✅ Performance: <10% regression
-
-**Application**:
-- ✅ Jellyfin.Server starts
-- ✅ All major features work
-- ✅ API functional
-
-**Performance**:
-- ✅ Startup: <20% regression
-- ✅ Database queries: <10% regression
-- ✅ API/processing: <15% regression
-- ✅ Memory: <15% increase
-
-**Code Quality**:
-- ✅ All analyzers pass
-- ✅ No new warnings
-
-**Bottom-Up Strategy**:
-- ✅ All 13 tiers completed in order
-- ✅ Tier 6 extensively validated
-
-**Deployment**:
-- ✅ Deploys to target platforms
-- ✅ Rollback tested
-
-### Definition of Done
-
-Migration complete when:
-- All technical criteria met
-- All stakeholder approvals obtained
-- PR merged
-- Post-merge validation passed
-
----
-
-## Final Notes
-
-### .NET 11.0 Preview Warning
-
-Targeting **PREVIEW framework** - expect instability. Monitor closely; consider .NET 10.0 LTS if critical issues arise.
-
-### Post-Migration
-
-1. Monitor .NET 11.0 release progression
-2. Update to stable package versions
-3. Performance tuning
-4. Report issues to .NET team
-
----
-
-**Plan Version**: 1.0
-**Target**: .NET 11.0 (PREVIEW)
-**Strategy**: Bottom-Up (Dependency-First)
-**Tiers**: 13 (Tier 1 unchanged, Tiers 2-13 migrated)