Blocker 3 (PR #405 review): The "WiFlow inference" path was a stub that built a model from empty weight vectors and synthesised keypoints from amplitude energy. Presenting this as "WiFlow inference" was misleading. - Rename WiFlowModel to PoseModelMetadata (empty tag struct; we only care if the on-disk file exists) - Rename load_wiflow_model() -> detect_pose_model_metadata() and log "amplitude-energy heuristic enabled/disabled" (no "WiFlow" claim) - Rename estimate_pose() -> heuristic_pose_from_amplitude() with prominent `STUB:` doc comment saying this is NOT a trained model Blocker 4 (PR #405 review): The UDP receiver held the shared Arc<Mutex> across a synchronous process_frame() call, starving HTTP handlers. - Introduce a std::sync::mpsc channel between the UDP thread (which only parses + pushes) and a dedicated processor thread (which locks only briefly around a single process_frame). HTTP snapshots via get_pipeline_output no longer contend with the socket read loop. Also: - Move ADR-018 parser to parser.rs (see next commit); csi_pipeline re-exports - send_test_frames now uses parser::build_test_frame for synthetic frames - Log a one-line node stats summary every 500 frames (reads every public CsiFrame field on the runtime path) Co-Authored-By: claude-flow <ruv@ruv.net> |
||
|---|---|---|
| .. | ||
| .claude-flow | ||
| crates | ||
| data | ||
| docs | ||
| examples | ||
| patches/ruvector-crv | ||
| Cargo.lock | ||
| Cargo.toml | ||