#![allow(clippy::unwrap_used, clippy::expect_used)]
use difflore_core::context::{eval, index_db};
#[tokio::test]
async fn golden_smoke_fixture_holds_ranking_baseline() {
let fixture = eval::parse_golden_fixture(eval::GOLDEN_SMOKE_FIXTURE)
.expect("embedded golden fixture parses");
let docs = eval::golden_rules_to_documents(&fixture);
let tmp = tempfile::tempdir().expect("tempdir");
let pool = index_db::open_index_pool_at(&tmp.path().join("golden.db"))
.await
.expect("open isolated index");
index_db::upsert_rule_chunks_isolated(&pool, &docs)
.await
.expect("build isolated index");
let top_k = fixture.rules.len().max(eval::GOLDEN_K);
let report = eval::score_golden_cases(&pool, &fixture, top_k)
.await
.expect("score golden cases");
assert!(
report.mean_recall_at_k >= 0.8,
"recall@{} regressed below floor: {:.3}",
report.k,
report.mean_recall_at_k,
);
assert!(
report.mean_reciprocal_rank >= 0.75,
"MRR regressed below floor (expected rule fell out of the top): {:.3}",
report.mean_reciprocal_rank,
);
assert!(
report.positive_forbidden_hits <= 1,
"forbidden-rule leakage into positive cases increased above baseline: {}",
report.positive_forbidden_hits,
);
assert_eq!(
report.strict_file_correct, report.strict_file_total,
"a recalled rule stopped matching its source file globs",
);
}