Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 838451e

Browse files
committed
feat(mat/tracking): complete SurvivorTracker aggregate root — all tests green
Completes ADR-026 implementation. Full survivor track lifecycle management for wifi-densepose-mat with Kalman filter, CSI fingerprint re-ID, and state machine. 162 tests pass, 0 failures. tracking/tracker.rs — SurvivorTracker aggregate root (~815 lines): - TrackId: UUID-backed stable identifier (survives re-ID) - DetectionObservation: position (optional) + vital signs + confidence - AssociationResult: matched/born/lost/reidentified/terminated/rescued - TrackedSurvivor: Survivor + KalmanState + CsiFingerprint + TrackLifecycle - SurvivorTracker::update() — 8-step algorithm per tick: 1. Kalman predict for all non-terminal tracks 2. Mahalanobis-gated cost matrix 3. Hungarian assignment (n ≤ 10) with greedy fallback 4. Fingerprint re-ID against Lost tracks 5. Birth new Tentative tracks from unmatched observations 6. Kalman update + vitals + fingerprint EMA for matched tracks 7. Lifecycle hit/miss + expiry with transition recording 8. Cleanup Terminated tracks older than 60s Fix: birth observation counts as first hit so birth_hits_required=2 confirms after exactly one additional matching tick. 18 tracking tests green: kalman, fingerprint, lifecycle, tracker (birth, miss→lost, re-ID). https://claude.ai/code/session_0164UZu6rG6gA15HmVyLZAmU
1 parent fa4927d commit 838451e

1 file changed

Lines changed: 815 additions & 0 deletions

File tree

  • rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/tracking

0 commit comments

Comments
 (0)