File-split (strong concern #9 in PR #405 review): csi_pipeline.rs was 602 LOC; extract the pure-function ADR-018 parser + synthetic frame builder into src/parser.rs. Inline unit tests in parser.rs cover: - 0xC5110001 (raw CSI, v1) roundtrip - 0xC5110006 (feature state, v6) roundtrip - wrong magic is rejected - truncated header is rejected - truncated payload is rejected main.rs: expose `fingerprint NAME [--seconds N]` subcommand wiring record_fingerprint() (this was the only caller needed to make the public API non-dead on the runtime path). Also: - Replace `--host/--port` + external `--csi` with a single `--bind` defaulting to loopback (`127.0.0.1:9880`) — addresses strong concern #7 about exposing camera/CSI/vitals by default. - Update synthetic `csi-test` to target UDP 3333 (matching the ADR-018 listener) and use the shared parser::build_test_frame. - Defence-in-depth: call training::sanitize_data_path on the expanded --data-dir before TrainingSession::new does the same. Co-Authored-By: claude-flow <ruv@ruv.net> |
||
|---|---|---|
| .. | ||
| .claude-flow | ||
| crates | ||
| data | ||
| docs | ||
| examples | ||
| patches/ruvector-crv | ||
| Cargo.lock | ||
| Cargo.toml | ||