Previous smoothing covered only the adaptive_override path. The 5 other classification.motion_level writes (amp_presence_override and amp_classify_from_latest in 3 different tick handlers) wrote raw values that bypassed the smoother entirely — explaining the lingering "переключается со скоростью света" complaint after the two-layer fix. New finalize_motion_label(&mut classification) runs at end-of-tick AFTER all overrides have settled, applies the same two-layer (30-tick mode + 5-tick confirm) smoothing uniformly to whatever label survived the priority cascade. Called from 3 sites: - multi-BSSID tick handler - feature_state tick handler - per-node loop in broadcast tick task adaptive_override now emits raw model label (no double-smoothing). Verified: 30-second sample, user actively performing transitions, ZERO flips. Label persisted as `transition` all 30 samples. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| .claude-flow | ||
| crates | ||
| data | ||
| docs | ||
| examples | ||
| patches/ruvector-crv | ||
| Cargo.lock | ||
| Cargo.toml | ||