namespace Marathon.Domain.AnomalyDetection; /// /// Single source of truth for the severity bucket boundaries that the UI /// pill / badge, the Insights breakdowns, and any future reporter share. /// /// /// Buckets are inclusive on the left, exclusive on the right (except High /// which extends to 1.00 inclusive): /// /// Low [, ) /// Medium [, ) /// High [, 1.00] /// /// Defined at the Domain layer so both the Application reporter and the /// Marathon.UI severity rules consume the same numbers — re-tuning happens /// in one place. /// public static class AnomalySeverityThresholds { /// Lower bound of the Low bucket. Matches the detector's default flip threshold. public const decimal Low = 0.30m; /// Lower bound of the Medium bucket. public const decimal Medium = 0.45m; /// Lower bound of the High bucket. public const decimal High = 0.60m; }