# QA Plan: Personalization Correctness Verification ## Scope This feature is itself a verification suite. QA validates that: 1. All tests in `tidal/tests/pg1_personalization_correctness.rs` compile and pass. 2. No regressions are introduced in existing test suites. 3. The mathematical assertions are sound (not trivially true). ## Test Execution ### Step 1: Run the new test suite ```bash cargo test --manifest-path tidal/Cargo.toml --test pg1_personalization_correctness -- --nocapture ``` **Pass criteria:** All tests pass. Zero failures, zero panics. ### Step 2: Run existing lib tests for regression ```bash cargo test --manifest-path tidal/Cargo.toml --lib ``` **Pass criteria:** Same pass count as before (no regressions). ### Step 3: Run clippy and fmt ```bash cargo fmt --manifest-path tidal/Cargo.toml -- --check cargo clippy --manifest-path tidal/Cargo.toml --tests -- -D warnings ``` **Pass criteria:** No warnings, no formatting errors in our test file. ### Step 4: Verify test assertions are non-trivial Manual review of each test to verify: - Decay tests use different timestamps and weights (not all zeros or ones). - Score ordering tests have items with meaningfully different signal histories. - Reactivity tests actually measure wall-clock time (not just assert results). - Gate tests have items both above and below the threshold. **Pass criteria:** Reviewer confirms assertions are non-trivial. ## QA Checklist | # | Check | Expected | |---|-------|----------| | 1 | `pg1_personalization_correctness` tests all pass | 0 failures | | 2 | Lib tests pass (no regression) | Same count as baseline | | 3 | `cargo fmt --check` clean for test file | No diffs | | 4 | `cargo clippy --tests` clean for test file | No warnings | | 5 | Decay tests use varied inputs | Confirmed by review | | 6 | Ordering tests compare items with different signal profiles | Confirmed by review | | 7 | Reactivity tests include timing assertions | Confirmed by review |