mirror of
https://github.com/ruvnet/RuView
synced 2026-07-20 17:03:24 +00:00
docs(adr-118): root README Documentation table BFLD row (337/337 GREEN)
Iter 51. PR-readiness pivot iter #2. Adds BFLD to the workspace-root README.md Documentation table — closes pre-merge checklist item #3 (README.md update if scope changed). GitHub renders this; new contributors / operators browsing ruvnet/RuView see the entry on landing. Added (in README.md, top-level Documentation table): - New row right after the Home Assistant + Matter row, linking to v2/crates/wifi-densepose-bfld/README.md (iter-49 crate README). - Summary covers: * 3 type-enforced structural invariants (raw BFI never exits / in-RAM-only embedding / cross-site cryptographically impossible) * Full operator surface (BfldPipeline, BfldPipelineHandle, SoulMatchOracle) * MQTT topic router + HA-DISCO + availability + LWT * 3 operator HA blueprints * Two runnable examples * eclipse-mosquitto:2 CI service container * 327+ tests - Per-ADR links: 118 (umbrella), 119 (frame), 120 (privacy class), 121 (risk scoring), 122 (HA/Matter), 123 (capture path) - Research dossier pointer: docs/research/BFLD/ (11 files, 13,544 words) Added (in v2/crates/wifi-densepose-bfld/tests/root_readme_link.rs): - 5 named tests via include_str!: root_readme_links_to_bfld_crate_readme root_readme_mentions_bfld_acronym_and_full_name root_readme_cites_all_six_bfld_adrs (per-ADR substring check) root_readme_points_at_research_bundle root_readme_documents_three_structural_invariants_in_summary ("raw BFI never exits", "in-RAM-only", "cross-site" — three invariants surfaced in the short table summary) 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: - Pre-merge checklist item #3 (CLAUDE.md) — root README updated to point at the new crate. Operator discovery path now reaches BFLD from the GitHub repo landing page in 1 click. - ADR-118 §2.1 documentation surface — discovery path complete: GitHub README → crate README → operator examples → ADRs → research dossier. All hops covered by include_str + link tests. Test config: - cargo test --no-default-features → 101 passed (root_readme_link cfg-out) - cargo test → 337 passed (332 + 5) Out of scope (next iter target): - Pre-merge checklist remaining: user-guide.md update (#6) if new CLI flags / setup steps, witness bundle regeneration (#8). External- resource-gated work (KIT BFId, Pi5/Nexmon) still skipped. Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
//! Validate the workspace-root `README.md` Documentation table cites the
|
||||
//! BFLD crate. crates.io won't show this, but new contributors browsing
|
||||
//! `ruvnet/RuView` on GitHub will — the entry is the primary discovery
|
||||
//! path for operators looking for "WiFi sensing privacy layer".
|
||||
|
||||
#![cfg(feature = "std")]
|
||||
|
||||
const ROOT_README: &str = include_str!("../../../../README.md");
|
||||
|
||||
#[test]
|
||||
fn root_readme_links_to_bfld_crate_readme() {
|
||||
assert!(
|
||||
ROOT_README.contains("v2/crates/wifi-densepose-bfld/README.md"),
|
||||
"root README must link to the BFLD crate README from the Documentation table",
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn root_readme_mentions_bfld_acronym_and_full_name() {
|
||||
assert!(
|
||||
ROOT_README.contains("BFLD"),
|
||||
"root README must mention the BFLD acronym",
|
||||
);
|
||||
assert!(
|
||||
ROOT_README.contains("Beamforming Feedback Layer for Detection"),
|
||||
"root README must expand the BFLD acronym at least once",
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn root_readme_cites_all_six_bfld_adrs() {
|
||||
for adr in ["ADR-118", "ADR-119", "ADR-120", "ADR-121", "ADR-122", "ADR-123"] {
|
||||
assert!(
|
||||
ROOT_README.contains(adr),
|
||||
"root README must cite {adr} so the discovery path is intact",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn root_readme_points_at_research_bundle() {
|
||||
assert!(
|
||||
ROOT_README.contains("docs/research/BFLD/"),
|
||||
"root README must point at the BFLD research dossier",
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn root_readme_documents_three_structural_invariants_in_summary() {
|
||||
// The doc-table summary is short, but it should still mention the
|
||||
// three I1/I2/I3 invariants since they're the single most operator-
|
||||
// visible property of BFLD.
|
||||
assert!(
|
||||
ROOT_README.contains("raw BFI never exits"),
|
||||
"root README must mention invariant I1 in the BFLD summary",
|
||||
);
|
||||
assert!(
|
||||
ROOT_README.contains("in-RAM-only") || ROOT_README.contains("in-RAM only"),
|
||||
"root README must mention invariant I2 in the BFLD summary",
|
||||
);
|
||||
assert!(
|
||||
ROOT_README.contains("cross-site"),
|
||||
"root README must mention invariant I3 in the BFLD summary",
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user