save checkpoint
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# A/B Release Manager (Traffic Splitting Between Versions)
|
||||
|
||||
## Module
|
||||
ReleaseOrchestrator
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## 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)
|
||||
|
||||
|
||||
## Verification
|
||||
- **Verified**: 2026-02-13T21:00:00Z
|
||||
- **Method**: Tier 2d integration tests
|
||||
- **Result**: PASS
|
||||
Reference in New Issue
Block a user