T5.7.1: Unify Verdict enum into wzp_relay::verdict, drop RepeatAbusive variant

This commit is contained in:
Siavash Sameni
2026-05-12 16:48:12 +04:00
parent cf4940417e
commit 517d0ebfe0
6 changed files with 93 additions and 30 deletions

View File

@@ -9,6 +9,8 @@ use std::time::{Duration, Instant};
use wzp_proto::{CodecId, MediaHeader, MediaType};
use crate::verdict::Verdict;
/// Maximum samples kept in rolling windows.
const MAX_IAT_SAMPLES: usize = 200;
const MAX_SIZE_SAMPLES: usize = 200;
@@ -23,17 +25,6 @@ const BITRATE_WINDOW_SECS: u64 = 30;
// Number of payload-size histogram bins.
// (SIZE_BINS reserved for future histogram-based bimodality)
/// Verdict produced by the scorer after sufficient observation.
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Verdict {
/// No suspicion. Score ≥ 0.7.
Legitimate,
/// Tightened monitoring. 0.3 ≤ score < 0.7.
Suspect,
/// High confidence of abuse. Score < 0.3.
Abusive,
}
/// Audio-specific behavioural scorer (Tier F).
pub struct AudioScorer {
/// Rolling inter-arrival times.