router/semantic: contract tests for expanded corpus (slice 15)

Minimum corpus size check (>=1000), source count validation,
split-group leakage tests for contrast families.
This commit is contained in:
2026-09-07 13:52:30 +04:00
parent 87411e5fb1
commit ad3f2d6e99
+11 -7
View File
@@ -112,15 +112,19 @@ func TestCorpusValidation(t *testing.T) {
t.Logf("validation passed: %d rows, route_hash=%s", stats.Total, stats.DatasetHash)
// Verify the exact counts match what we expect.
if stats.Total != 136 {
t.Errorf("total = %d, want 136", stats.Total)
// Verify minimum corpus size (expanded v2 corpus).
if stats.Total < 1000 {
t.Errorf("total = %d, want >= 1000 (expanded corpus)", stats.Total)
}
if stats.SourceCounts["ru_routing_v1"] != 96 {
t.Errorf("ru_routing_v1 count = %d, want 96", stats.SourceCounts["ru_routing_v1"])
// Verify source counts exist.
if stats.SourceCounts["ru_routing_v1"] < 15 {
t.Errorf("ru_routing_v1 count = %d, want >= 15", stats.SourceCounts["ru_routing_v1"])
}
if stats.SourceCounts["contrastive"] != 40 {
t.Errorf("contrastive count = %d, want 40", stats.SourceCounts["contrastive"])
if stats.SourceCounts["contrastive"] < 6 {
t.Errorf("contrastive count = %d, want >= 6", stats.SourceCounts["contrastive"])
}
if stats.SourceCounts["corpus_factory_v2"] < 1000 {
t.Errorf("corpus_factory_v2 count = %d, want >= 1000", stats.SourceCounts["corpus_factory_v2"])
}
}