mirror of
https://github.com/ruvnet/RuView
synced 2026-07-20 17:03:24 +00:00
f250149e94
* feat(rufield): ADR-262 P1 — wifi-densepose-rufield anti-corruption bridge New v2 workspace member that converts RuView WiFi-CSI sensing output into signed RuField FieldEvents. Path-deps the vendor/rufield submodule crates (rufield-core/-provenance/-privacy/-fusion); single coupling point between RuView and the standalone RuField MFS spec (ADR-262 §5.4). - SensingSnapshot: owned primitives mirroring SensingUpdate + TrustedOutput (no dependency on wifi-densepose-sensing-server). - snapshot_to_field_event(): builds a WifiCsi FieldTensor + Observation, derives a real position from the signal-field peak (never fabricated), real sha256 provenance + ed25519 signature (synthetic=false). - map_privacy() (§3.3 crux): maps by information content, NEVER byte value — Derived (byte 1) → P4/P5, never P1; fail-closed demotion floor to P2. P1 gates (tests/p1_gates.rs): round-trip serde, is_fusable verified receipt, RuFieldFusion::ingest accept + infer runs, privacy-safety (Derived never P1), full §3.3 table, fail-closed demotion, determinism, no-fabricated-position. 15 tests pass (5 unit + 9 integration + 1 doc), 0 failed. Honesty: P1 plumbing (tested conversion + safe privacy mapping), NOT wired into the live server (P3) and NOT an accuracy claim. Co-Authored-By: claude-flow <ruv@ruv.net> * docs(adr-262): mark P1 implemented + CI submodules:recursive + CHANGELOG/CLAUDE - ADR-262 Status → "Proposed — P1 implemented"; add §0.1 Implementation status (the bridge crate + the five P1 gates that pass; defers the provenance-carrier reuse, P3 live wiring, and P4 multi-modality). - ci.yml: add `submodules: recursive` to the rust-tests checkout so the new crate's `vendor/rufield` path-deps resolve in CI (they fail otherwise even though the workspace build passes locally with the submodule present). - CHANGELOG [Unreleased]: P1 bridge entry (kept alongside the upstream ADR-262 research entry). - CLAUDE.md: crate table row for `wifi-densepose-rufield`. Co-Authored-By: claude-flow <ruv@ruv.net>
27 lines
1.3 KiB
TOML
27 lines
1.3 KiB
TOML
[package]
|
||
name = "wifi-densepose-rufield"
|
||
version = "0.3.0"
|
||
edition = "2021"
|
||
description = "ADR-262 anti-corruption bridge: converts RuView WiFi-CSI sensing output into signed RuField FieldEvents (P0–P5 privacy mapping + ed25519 provenance)"
|
||
license.workspace = true
|
||
authors.workspace = true
|
||
repository.workspace = true
|
||
|
||
# ADR-262 §5.4: this crate is the single coupling point ("anti-corruption
|
||
# layer") between RuView and the standalone RuField MFS spec. It depends on the
|
||
# `vendor/rufield` submodule crates **via path** (the `vendor/rvcsi` pattern) —
|
||
# RuView does NOT depend on published rufield crates (there are none) and does
|
||
# NOT make rufield a v2 workspace member. The four crates below are pure-Rust
|
||
# (serde / serde_json / toml / sha2 / ed25519-dalek only — no tch / openblas /
|
||
# ndarray / candle), so they build under `--no-default-features`.
|
||
[dependencies]
|
||
rufield-core = { path = "../../../vendor/rufield/crates/rufield-core" }
|
||
rufield-provenance = { path = "../../../vendor/rufield/crates/rufield-provenance" }
|
||
rufield-privacy = { path = "../../../vendor/rufield/crates/rufield-privacy" }
|
||
rufield-fusion = { path = "../../../vendor/rufield/crates/rufield-fusion" }
|
||
serde = { workspace = true }
|
||
serde_json = { workspace = true }
|
||
|
||
[dev-dependencies]
|
||
serde_json = { workspace = true }
|