rvCSI 0.3.0 — edge RF sensing runtime (extracted from RuView / WiFi-D… · ruvnet/rvcsi@acd5689 · GitHub
Skip to content

Commit acd5689

Browse files
committed
rvCSI 0.3.0 — edge RF sensing runtime (extracted from RuView / WiFi-DensePose)
Standalone home for the rvCSI runtime: normalize WiFi Channel State Information from many sources behind one trait, validate every packet before it touches application code, run reusable DSP, emit typed confidence-scored events, bridge to RuVector RF memory — in Rust, from TypeScript (@ruv/rvcsi), from the CLI. 9 crates (rvcsi-core, -dsp, -events, -adapter-file, -adapter-nexmon, -ruvector, -runtime, -node, -cli) as one Cargo workspace; 169 tests, clippy-clean; #![forbid(unsafe_code)] everywhere except rvcsi-adapter-nexmon (the napi-c shim, unsafe confined to one ffi module, ABI-versioned, never panics). Architecture: ADR-095 (the 15 platform decisions) + ADR-096 (crate topology / FFI seams); PRD + DDD domain model under docs/. Ships a Claude Code plugin marketplace (.claude-plugin/marketplace.json + plugins/rvcsi/ — slash commands + rvcsi-engineer agent) and the ESP32 .csi.jsonl -> .rvcsi bridge in scripts/. Incubated in https://github.com/ruvnet/RuView (ADR-095/096); RuView consumes it back as a vendor/rvcsi submodule. Co-Authored-By: claude-flow <ruv@ruv.net>
0 parents  commit acd5689

83 files changed

Lines changed: 14903 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.claude-plugin/marketplace.json‎

Lines changed: 15 additions & 0 deletions

‎.github/workflows/ci.yml‎

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
8+
env:
9+
CARGO_TERM_COLOR: always
10+
RUSTFLAGS: -D warnings
11+
12+
jobs:
13+
test:
14+
name: build · test · clippy (${{ matrix.os }})
15+
runs-on: ${{ matrix.os }}
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
os: [ubuntu-latest, macos-latest, windows-latest]
20+
steps:
21+
- uses: actions/checkout@v4
22+
- uses: dtolnay/rust-toolchain@stable
23+
with:
24+
components: clippy, rustfmt
25+
- uses: Swatinem/rust-cache@v2
26+
- name: cargo build
27+
run: cargo build --workspace --all-targets
28+
- name: cargo test
29+
run: cargo test --workspace
30+
- name: cargo clippy
31+
run: cargo clippy --workspace --all-targets
32+
- name: cargo fmt --check
33+
run: cargo fmt --all -- --check
34+
35+
node-smoke:
36+
name: "@ruv/rvcsi napi smoke (ubuntu)"
37+
runs-on: ubuntu-latest
38+
steps:
39+
- uses: actions/checkout@v4
40+
- uses: dtolnay/rust-toolchain@stable
41+
- uses: actions/setup-node@v4
42+
with:
43+
node-version: 20
44+
- run: npm ci || npm install
45+
working-directory: crates/rvcsi-node
46+
- run: npm run build
47+
working-directory: crates/rvcsi-node
48+
- run: npm test
49+
working-directory: crates/rvcsi-node

‎.gitignore‎

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Rust
2+
/target
3+
**/target/
4+
Cargo.lock.bak
5+
*.pdb
6+
7+
# napi-rs / Node addon build output
8+
*.node
9+
crates/rvcsi-node/binding.js
10+
crates/rvcsi-node/binding.d.ts
11+
node_modules/
12+
npm-debug.log*
13+
14+
# C shim build artifacts
15+
crates/rvcsi-adapter-nexmon/native/*.o
16+
17+
# Local Claude config (may contain machine-specific paths / credentials)
18+
CLAUDE.local.md
19+
.swarm/
20+
21+
# Editors / OS
22+
.vscode/
23+
.idea/
24+
.DS_Store
25+
Thumbs.db
26+
27+
# Local capture / scratch data
28+
*.rvcsi
29+
*.pcap
30+
*.csi.jsonl
31+
/scratch/

‎CHANGELOG.md‎

Lines changed: 85 additions & 0 deletions

0 commit comments

Comments
 (0)