@@ -9,8 +9,8 @@ Automated system to detect performance regressions in circuit breaker experiment
99## How It Works
1010
11111 . ** Baseline Collection** : Collect 5-10 historical "good" experiment runs for each experiment type
12- 2 . ** Percentile Analysis** : Calculate 3rd, 50th , and 97th percentiles for key metrics
13- 3 . ** Control Limits** : Set bounds at 3rd-97th percentile range (covers ~ 90% of historical variation)
12+ 2 . ** Percentile Analysis** : Calculate 5th, 55th , and 95th percentiles for key metrics
13+ 3 . ** Control Limits** : Set bounds at 5th-95th percentile range (covers ~ 90% of historical variation)
14144 . ** Violation Detection** : Flag experiment if >30% of time windows fall outside percentile bounds
15155 . ** Multi-metric Evaluation** : Check deviation from target, error rates, and rejection rates
16166 . ** Automated CI Integration** : GitHub Actions automatically runs full pipeline on every PR
@@ -84,13 +84,13 @@ All thresholds are easily adjustable in `regression_config.rb`:
8484``` ruby
8585module RegressionConfig
8686 # Percentile bounds for control limits
87- LOWER_PERCENTILE = 3
88- UPPER_PERCENTILE = 97
87+ LOWER_PERCENTILE = 5
88+ UPPER_PERCENTILE = 95
8989
9090 # Violation thresholds (what % of time windows can violate bounds)
91- DEVIATION_VIOLATION_THRESHOLD = 0.3
92- ERROR_RATE_VIOLATION_THRESHOLD = 0.3
93- REJECTION_RATE_VIOLATION_THRESHOLD = 0.3
91+ DEVIATION_VIOLATION_THRESHOLD = 0.5
92+ ERROR_RATE_VIOLATION_THRESHOLD = 0.8
93+ REJECTION_RATE_VIOLATION_THRESHOLD = 0.8
9494
9595 # Minimum baseline runs needed
9696 MIN_BASELINE_RUNS = 10
0 commit comments