66 lines
2.1 KiB
Rust
66 lines
2.1 KiB
Rust
//! 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",
|
|
);
|
|
}
|