# A/B Release Manager (Traffic Splitting Between Versions) ## Module ReleaseOrchestrator ## Status IMPLEMENTED ## Description A/B release management for running parallel control/treatment versions with configurable traffic weight distribution, experiment metrics tracking, and promote/rollback based on results. ## Implementation Details - **Modules**: `src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/AbRelease/` - **Key Classes**: - `AbReleaseManager` (`src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/AbRelease/AbReleaseManager.cs`) - manages A/B release lifecycle with traffic weight distribution - `InMemoryAbReleaseStore` (`src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/AbRelease/InMemoryAbReleaseStore.cs`) - in-memory store for A/B release state - `TrafficRouterRegistry` (`src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/Routing/TrafficRouterRegistry.cs`) - registry of traffic routers for A/B splits - `InMemoryTrafficRouter` (`src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/Routing/InMemoryTrafficRouter.cs`) - in-memory traffic routing implementation - **Interfaces**: `IAbReleaseManager`, `IAbReleaseStore`, `ITrafficRouter` - **Source**: SPRINT_20260110_110_001_PROGDL_ab_release_manager.md ## E2E Test Plan - [ ] Create an A/B release with 80/20 traffic split and verify both versions receive traffic at configured weights - [ ] Verify promote: promote the treatment version and confirm all traffic shifts to it - [ ] Verify rollback: rollback the A/B release and confirm all traffic returns to control version - [ ] Verify `AbReleaseManager` tracks experiment metrics during the A/B test period - [ ] Verify invalid state transitions are rejected (e.g., promoting an already-concluded experiment)