fix: add missing iat_cv arm in feature extractor

The v10 model's ae_feature_names includes iat_cv (feature index 30),
but PrecomputedStats::get() had no matching arm. This caused the
feature to fall through to the default 0.0, which after AE scaling
became (0-μ)/σ — a constant bias on every inference since v10 shipped.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
DaLaw2 2026-04-12 12:56:54 +08:00
parent fb1dc93adf
commit 730849e02d

View File

@ -379,6 +379,9 @@ impl PrecomputedStats {
"pkt_len_variance" => self.all_len_std * self.all_len_std,
"fwd_iat_skewness" => self.fwd_iat_skewness,
// Model lists this in ae_feature_names but had no arm — was receiving post-scaler (0-μ)/σ.
"iat_cv" => safe_div(self.flow_iat_std, self.flow_iat_mean),
_ => 0.0,
}
}