use std::fs;
use std::path::Path;
const BANNED: &[&str] = &[
"heartbeat.every",
"heartbeat: {",
"HEARTBEAT_OK",
"ackMaxChars",
"agents.defaults",
];
const BANNED_IMPORTED_DOC: &[&str] = &[
"Pi agent",
"gateway.auth",
"allowFrom",
"{{MediaPath}}",
"MEDIA:",
"/tmp/opencrabs.log",
"/tmp/opencrabs.err",
"resetTriggers",
"thinkingDefault",
"health --json",
"opencrabs setup",
];
const BANNED_IN_OPENCRABS_MD: &[&str] = &["opencrabs gateway", "opencrabs dashboard"];
fn scanned_docs() -> Vec<(String, String)> {
let mut out = vec![(
"README.md".to_string(),
fs::read_to_string("README.md").expect("README.md readable"),
)];
collect_markdown(Path::new("src/docs"), &mut out);
out
}
fn collect_markdown(dir: &Path, out: &mut Vec<(String, String)>) {
for entry in fs::read_dir(dir).expect("src/docs readable") {
let path = entry.expect("dir entry").path();
if path.is_dir() {
collect_markdown(&path, out);
} else if path.extension().is_some_and(|ext| ext == "md") {
let name = path.display().to_string();
let content = fs::read_to_string(&path).unwrap_or_default();
out.push((name, content));
}
}
}
#[test]
fn docs_never_advertise_the_phantom_heartbeat_subsystem() {
let docs = scanned_docs();
assert!(
docs.len() > 10,
"doc scan found suspiciously few files ({}) — did the layout move?",
docs.len()
);
for (name, content) in docs {
for banned in BANNED {
assert!(
!content.contains(banned),
"{name} advertises '{banned}' — the heartbeat subsystem does not \
exist in the binary and `agents.defaults.*` is not a valid config \
path (see #1621). Periodic checks are cron jobs reading \
HEARTBEAT.md."
);
}
}
}
#[test]
fn docs_never_carry_the_imported_doc_fiction() {
let docs = scanned_docs();
for (name, content) in &docs {
for banned in BANNED_IMPORTED_DOC {
assert!(
!content.contains(banned),
"{name} contains '{banned}' — imported-doc fiction from another \
product (see #1650). The binary has no such command, config key, \
media syntax, or log path."
);
}
if name.ends_with("OPENCRABS.md") {
for banned in BANNED_IN_OPENCRABS_MD {
assert!(
!content.contains(banned),
"OPENCRABS.md advertises '{banned}' — no such CLI command \
exists (see #1650)."
);
}
}
}
}