3.4 KiB
3.4 KiB
Code Review: Quality & Diversity Baseline
Summary
This feature adds a brief built-in ranking profile with quality gates and diversity constraints, fixes two bugs in the scoring pipeline that prevented format diversity from working, and adds 6 integration tests.
Files Changed
| File | Change |
|---|---|
tidal/src/ranking/builtins.rs |
New brief() profile function, 5 constants, registration in register_builtins() |
tidal/src/query/executor/mod.rs |
Extended needs_metadata_for_creator_grouping to check format_mix_max_fraction; added format population in metadata enrichment loop |
tidal/tests/p1_quality_diversity.rs |
New file: 6 integration tests |
Review Checklist
Correctness
- Quality gates: Two gates (view >= 3, completion >= 1) using
SignalAgg::Value+Window::AllTime. Evaluated inpasses_gates()before scoring. Correct aggregation type —Valuereads the windowed count, which is what we want for threshold checks. - Exploration disabled:
BRIEF_EXPLORATION = 0.0. Correct decision —inject_exploration()runs after gate filtering and would re-introduce candidates that failed quality gates. Well-documented with a comment explaining the rationale. - Format enrichment fix: The metadata enrichment loop now populates both
creator_idandformatfrom item metadata. Theneeds_metadata_for_creator_groupingflag correctly checks bothmax_per_creatorandformat_mix_max_fraction. Without this fix,format_mix_max_fractionwas silently ignored becauseScoredCandidate.formatwas alwaysNone. - Profile structure: Follows the existing
skeleton()pattern. Sort, gates, boosts, diversity all use the correct types. - Registration: Added after
date_saved()inregister_builtins(). No ordering issues.
Code Quality
- Constants are well-named and documented:
BRIEF_VIEW_GATE_THRESHOLD,BRIEF_COMPLETION_GATE_THRESHOLD,BRIEF_MAX_PER_CREATOR,BRIEF_FORMAT_MIX_MAX_FRACTION,BRIEF_EXPLORATION. - The
brief()function has a comprehensive doc comment explaining the profile's purpose. - The exploration constant has a detailed comment explaining why it's 0.0.
- The collapsible-if pattern in
mod.rsfollows clippy's recommendation (let-chain). cargo clippy -D warningspasses cleanly.cargo fmt --checkpasses cleanly.
Test Quality
- 6 integration tests covering all specified scenarios.
- Tests use
TidalDb::builder().ephemeral()— no disk I/O, fast execution (0.01s total). - Helper functions are well-factored:
brief_schema(),test_db(),write_item(),record_views(),record_completions(),write_quality_item(),retrieve_brief(). - Test assertions include descriptive failure messages.
- Creator diversity test accounts for the DiversitySelector architecture (diversity operates on full scored set, then pagination takes a slice).
Risks
- None identified. The change is additive (new profile, new test file). The pipeline fixes are backward-compatible — format was previously always
None, so format-based diversity was a no-op before. Now it works as intended.
Verdict
PASS. Clean implementation, well-tested, no regressions. The two pipeline fixes (format enrichment and metadata loading trigger) are important bug fixes that benefit all profiles using format_mix_max_fraction, not just brief.