mirror of
https://github.com/ruvnet/RuView
synced 2026-06-09 10:13:17 +00:00
ab8d7a8583
Iter 49. Ships the crate's first README — genuinely missing artifact.
crates.io renders this file; the rendered page is what downstream
operators see when they `cargo doc --open` or browse the registry.
Added:
- v2/crates/wifi-densepose-bfld/README.md (~135 lines):
* Three structural invariants (I1/I2/I3) table with enforcement
mechanism per invariant
* Quickstart snippet: in-process consumer (BfldPipeline::process)
* Quickstart snippet: production worker (BfldPipelineHandle +
bootstrap helpers)
* Feature flag matrix (std / serde-json / mqtt / soul-signature)
* Two runnable example invocations
* Testing matrix (no_default / default / mqtt)
* Companion artifacts pointer (ADRs, research bundle, HA
blueprints, CI workflow)
* ADR cross-reference table (ADR-118 through ADR-123)
* BFLD_MQTT_BROKER env-var doc for live mosquitto opt-in
- v2/crates/wifi-densepose-bfld/Cargo.toml:
readme = "README.md"
(so crates.io picks it up on publish)
- v2/crates/wifi-densepose-bfld/tests/crate_readme.rs (8 tests):
readme_documents_three_structural_invariants
readme_documents_feature_flag_matrix
readme_documents_both_runnable_examples
readme_documents_three_test_invocations
readme_references_companion_adrs_118_through_123
readme_quickstart_uses_canonical_public_api
(8 symbol-presence checks: BfldPipeline::new, BfldConfig::new,
SignatureHasher::new, SensingInputs, IdentityEmbedding::from_raw,
pipeline.process, publish_availability_online, publish_discovery,
BfldPipelineHandle::spawn, PipelineInput)
readme_points_at_research_bundle_and_blueprints
readme_documents_env_gated_mosquitto_integration
ADR-124 status (iter step 0 sibling check):
- docs/adr/ADR-124-rvagent-mcp-ruvector-npm-integration.md unchanged
at 431 lines. SENSE-BRIDGE scope remains orthogonal.
ACs progressed:
- ADR-118 §2.1 documentation surface — crates.io / cargo doc landing
page now exists. Operators encountering wifi-densepose-bfld for the
first time get the three structural invariants, quickstart snippets
for both deployment patterns, feature matrix, and ADR map without
having to read source.
Test config:
- cargo test --no-default-features → 101 passed (crate_readme cfg-out)
- cargo test → 327 passed (319 + 8)
Out of scope (next iter target):
- PR-readiness pivot. CHANGELOG, witness bundle, AC closeout table.
External-resource-gated work (KIT BFId, Pi5/Nexmon) still skipped.
Co-Authored-By: claude-flow <ruv@ruv.net>
66 lines
2.2 KiB
TOML
66 lines
2.2 KiB
TOML
[package]
|
|
name = "wifi-densepose-bfld"
|
|
description = "BFLD — Beamforming Feedback Layer for Detection. Privacy-gated WiFi BFI sensing primitives. See ADR-118."
|
|
readme = "README.md"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
documentation.workspace = true
|
|
keywords.workspace = true
|
|
categories.workspace = true
|
|
|
|
[features]
|
|
default = ["std", "serde-json"]
|
|
std = []
|
|
# JSON serialization for BfldEvent (ADR-121 §2.1, ADR-122 §2.1). Pulls in
|
|
# serde + serde_json; tied to `std` because serde_json is std-only.
|
|
serde-json = ["std", "dep:serde", "dep:serde_json"]
|
|
# rumqttc-backed Publish trait impl. Pairs with the `mqtt` feature in
|
|
# wifi-densepose-sensing-server so the same broker connection can serve
|
|
# both publishers in the same process if desired.
|
|
mqtt = ["std", "dep:rumqttc"]
|
|
# Soul Signature integration (ADR-118 §1.4, ADR-120 §2.7, ADR-121 §2.6) —
|
|
# enables privacy_class = 1 (derived) mode and the SoulMatchOracle gate
|
|
# exemption. Disabled by default per the structural class-2 default.
|
|
soul-signature = []
|
|
|
|
[dependencies]
|
|
thiserror.workspace = true
|
|
static_assertions = "1.1"
|
|
crc = "3"
|
|
blake3 = { version = "1.5", default-features = false }
|
|
serde = { workspace = true, features = ["derive"], optional = true }
|
|
serde_json = { workspace = true, optional = true }
|
|
# MQTT publisher backend (optional). Matches the `rumqttc` choice already in
|
|
# `wifi-densepose-sensing-server` so both crates share TLS / version posture.
|
|
rumqttc = { version = "0.24", default-features = false, features = ["use-rustls"], optional = true }
|
|
|
|
[dev-dependencies]
|
|
proptest.workspace = true
|
|
|
|
# The minimal example uses BfldEvent::to_json(), which is gated on serde-json.
|
|
# Without this declaration, `cargo test --no-default-features` tries to build
|
|
# the example and fails on the missing to_json() method.
|
|
[[example]]
|
|
name = "bfld_minimal"
|
|
required-features = ["serde-json"]
|
|
|
|
# The handle example uses the std-only publish helpers and pipeline handle.
|
|
[[example]]
|
|
name = "bfld_handle"
|
|
required-features = ["std"]
|
|
|
|
[lints.rust]
|
|
unsafe_code = "forbid"
|
|
missing_docs = "warn"
|
|
|
|
[lints.clippy]
|
|
all = "warn"
|
|
pedantic = "warn"
|
|
nursery = "warn"
|
|
module_name_repetitions = "allow"
|
|
missing_const_for_fn = "allow"
|
|
missing_panics_doc = "allow"
|