| | | 1 | | namespace Intentum.Analytics.Models; |
| | | 2 | | |
| | | 3 | | /// <summary> |
| | | 4 | | /// Anomaly report for pattern/frequency (e.g. "Intent X 10x more frequent than baseline"). |
| | | 5 | | /// </summary> |
| | | 6 | | /// <param name="Kind">Kind of anomaly (e.g. FrequencySpike, SequenceAnomaly).</param> |
| | | 7 | | /// <param name="Description">Human-readable description.</param> |
| | | 8 | | /// <param name="DetectedAt">When detected (bucket or time).</param> |
| | | 9 | | /// <param name="BucketStart">Start of the bucket if bucket-based.</param> |
| | | 10 | | /// <param name="BucketEnd">End of the bucket if bucket-based.</param> |
| | | 11 | | /// <param name="Severity">Severity 0–1.</param> |
| | | 12 | | /// <param name="Details">Additional key-value details.</param> |
| | 1 | 13 | | public sealed record PatternAnomalyReport( |
| | 0 | 14 | | string Kind, |
| | 0 | 15 | | string Description, |
| | 0 | 16 | | DateTimeOffset DetectedAt, |
| | 0 | 17 | | DateTimeOffset BucketStart, |
| | 0 | 18 | | DateTimeOffset BucketEnd, |
| | 0 | 19 | | double Severity, |
| | 1 | 20 | | IReadOnlyDictionary<string, object> Details); |