Ruview/docs/ddd
Claude d98b7e3f65
docs: rvCSI edge RF sensing platform — PRD, ADR-095, DDD domain model
Adds design documentation for rvCSI, a Rust-first / TypeScript-accessible /
hardware-abstracted edge RF sensing runtime that normalizes WiFi CSI from
Nexmon, ESP32, Intel, Atheros, file and replay sources into one validated
CsiFrame schema, runs reusable DSP, emits typed confidence-scored events,
and bridges to RuVector RF memory, an MCP tool server and a TS SDK.

- docs/prd/rvcsi-platform-prd.md — purpose, users, success criteria,
  FR1-FR10, NFRs (safety/perf/reliability/privacy/security/portability),
  system architecture, runtime components, reference layout, data model
- docs/adr/ADR-095-rvcsi-edge-rf-sensing-platform.md — the 15 architectural
  decisions (Rust core, C-at-the-boundary, TS SDK via napi-rs, normalized
  schema, validate-before-FFI, CSI-as-temporal-delta, RuVector as RF memory,
  replayability, detection != decision, local-first, read-first/write-gated
  MCP, mandatory quality scoring, versioned calibration, plugin adapters)
- docs/ddd/rvcsi-domain-model.md — 7 bounded contexts (Capture, Validation,
  Signal, Calibration, Event, Memory, Agent) with aggregates, invariants,
  context map, data model and domain services
- indexed in docs/adr/README.md and docs/ddd/README.md; CHANGELOG entry

Design-only; no code or crates added yet.

https://claude.ai/code/session_01CdYAPvRTjcch6YrYf42n1z
2026-05-12 23:15:10 +00:00
..
chci-domain-model.md feat: add ADR-042 CHCI protocol, 24 new edge modules, README restructure 2026-03-03 11:35:57 -05:00
deployment-platform-domain-model.md docs: update README with ADR-045–048, Observatory, adaptive classifier, AMOLED display 2026-03-05 10:20:48 -05:00
hardware-platform-domain-model.md chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
README.md docs: rvCSI edge RF sensing platform — PRD, ADR-095, DDD domain model 2026-05-12 23:15:10 +00:00
ruvsense-domain-model.md chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
rvcsi-domain-model.md docs: rvCSI edge RF sensing platform — PRD, ADR-095, DDD domain model 2026-05-12 23:15:10 +00:00
sensing-server-domain-model.md chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
signal-processing-domain-model.md docs: add 4 DDD domain models covering all major subsystems 2026-03-03 17:39:57 -05:00
training-pipeline-domain-model.md chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
wifi-mat-domain-model.md feat: Add wifi-densepose-mat disaster detection module 2026-01-13 17:24:50 +00:00

Domain Models

This folder contains Domain-Driven Design (DDD) specifications for each major subsystem in RuView.

DDD organizes the codebase around the problem being solved — not around technical layers. Each bounded context owns its own data, rules, and language. Contexts communicate through domain events, not by sharing mutable state. This makes the system easier to reason about, test, and extend — whether you're a person or an AI agent.

Models

Model What it covers Bounded Contexts
RuvSense Multistatic WiFi sensing, pose tracking, vital signs, edge intelligence 7 contexts: Sensing, Coherence, Tracking, Field Model, Longitudinal, Spatial Identity, Edge Intelligence
Signal Processing SOTA signal processing: phase cleaning, feature extraction, motion analysis 3 contexts: CSI Preprocessing, Feature Extraction, Motion Analysis
Training Pipeline ML training: datasets, model architecture, embeddings, domain generalization 4 contexts: Dataset Management, Model Architecture, Training Orchestration, Embedding & Transfer
Hardware Platform ESP32 firmware, edge intelligence, WASM runtime, aggregation, provisioning 5 contexts: Sensor Node, Edge Processing, WASM Runtime, Aggregation, Provisioning
Sensing Server Single-binary Axum server: CSI ingestion, model management, recording, training, visualization 5 contexts: CSI Ingestion, Model Management, CSI Recording, Training Pipeline, Visualization
WiFi-Mat Disaster response: survivor detection, START triage, mass casualty assessment 3 contexts: Detection, Localization, Alerting
CHCI Coherent Human Channel Imaging: sub-millimeter body surface reconstruction 3 contexts: Sounding, Channel Estimation, Imaging
rvCSI Edge RF sensing runtime: multi-source CSI ingestion, validation, normalization, event extraction, RuVector RF memory, agent/MCP integration 7 contexts: Capture, Validation, Signal, Calibration, Event, Memory, Agent

How to read these

Each model defines:

  • Ubiquitous Language — Terms with precise meanings used in both code and conversation
  • Bounded Contexts — Independent subsystems with clear responsibilities and boundaries
  • Aggregates — Clusters of objects that enforce business rules (e.g., a PoseTrack owns its keypoints)
  • Value Objects — Immutable data with meaning (e.g., a CoherenceScore is not just a float)
  • Domain Events — Things that happened that other contexts may care about
  • Invariants — Rules that must always be true (e.g., "drift alert requires >2sigma for >3 days")
  • Anti-Corruption Layers — Adapters that translate between contexts without leaking internals