# QA Plan: Quality & Diversity Baseline ## Scope Verify that the new `brief` built-in ranking profile enforces quality gates and diversity constraints as specified, without regressing existing functionality. ## Test Matrix ### 1. Quality Gate Verification | # | Scenario | Input | Expected | Type | |---|----------|-------|----------|------| | Q1 | Low-view items excluded | 10 items: 5 with 1-2 views, 5 with >= 3 views. All have >= 1 completion. | Only the 5 high-view items appear in results | Integration | | Q2 | Zero-completion items excluded | 10 items: all have >= 3 views, 5 have 0 completions | Only the 5 items with completions appear | Integration | | Q3 | Both gates combined | Items with mixed view/completion. Some fail view gate, some fail completion gate, some pass both | Only items passing both gates appear | Integration | | Q4 | Edge case: exactly at threshold | Items with exactly 3 views and exactly 1 completion | Items appear in results (>= threshold, not >) | Integration | ### 2. Diversity Verification | # | Scenario | Input | Expected | Type | |---|----------|-------|----------|------| | D1 | Creator diversity | 30 items from 5 creators, 10 from dominant creator. Limit 10. | Multiple creators represented, no single creator has all 10 | Integration | | D2 | Format dominance prevented | 12 items: 6 video, 6 podcast. Different creators, all pass quality gates. | No format exceeds 60% of results | Integration | | D3 | Combined constraints | 13 items: mixed quality, skewed creators, mixed formats | Quality gates + creator diversity + format max 60% all hold | Integration | ### 3. Profile Registration | # | Scenario | Expected | Type | |---|----------|----------|------| | R1 | Profile resolvable | `brief` profile found in registry, query executes without error | Integration | | R2 | Builtin count | Total registered builtins includes `brief` | Unit (existing test updated) | ### 4. Regression | # | Scenario | Expected | Type | |---|----------|----------|------| | RG1 | Existing lib tests pass | `cargo test --lib` passes with no failures | Automated | | RG2 | Clippy clean | `cargo clippy -D warnings` passes | Automated | | RG3 | Format clean | `cargo fmt --check` passes | Automated | ## Pass Criteria - All Q1-Q4, D1-D3, R1-R2 tests pass. - All RG1-RG3 checks pass. - No new warnings introduced. ## Automation All tests are automated via `cargo test`. No manual testing required. ```bash # Quality and diversity integration tests cargo test --manifest-path tidal/Cargo.toml --test p1_quality_diversity # Lib unit tests (includes builtin count check) cargo test --manifest-path tidal/Cargo.toml --lib # Lint cargo clippy --manifest-path tidal/Cargo.toml -- -D warnings cargo fmt --manifest-path tidal/Cargo.toml --check ```