Files
news/.omo/evidence/task-11-news-triage.txt
T
connor 20a6c26f7c
Check / check (push) Failing after 1m27s
Check / guardrails (push) Failing after 39s
Check / bundle (push) Successful in 1m4s
Initial commit -- did OMO do a good job?
2026-09-01 18:29:46 -04:00

80 lines
3.6 KiB
Plaintext

Task 11 — PercentileTracker (news-store) + ImportanceScorer (news-server)
Workspace: /home/connor/docs/projects/news
Date: 2026-09-01
Files created/modified:
- crates/news-store/src/percentile.rs (new)
- crates/news-store/src/lib.rs (mod percentile; re-export PercentileTracker, MetricKind)
- crates/news-server/src/scoring.rs (ImportanceScorer + test)
- crates/news-server/src/lib.rs (re-export ImportanceScorer)
Note: StoreError::InsufficientData already existed in error.rs from an earlier todo,
so no change to error.rs was required.
================================================================================
$ cargo test -p news-store
================================================================================
running 17 tests
test tests::init_db_runs_migrations ... ok
test percentile::tests::rows_older_than_window_are_excluded ... ok
test sources::tests::seed_default_sources_is_idempotent ... ok
test percentile::tests::importance_and_relevance_are_independent_distributions ... ok
test items::tests::insert_if_new_dedupes_on_source_and_link ... ok
test sources::tests::list_enabled_returns_the_three_seeded_sources ... ok
test sources::tests::set_enabled_false_excludes_source_from_list_enabled ... ok
test percentile::tests::percentile_on_empty_window_returns_insufficient_data ... ok
test tests::raw_items_insert_is_reflected_in_fts_index ... ok
test clusters::tests::item_outside_45_minute_window_starts_new_cluster ... ok
test tests::migrating_an_already_migrated_pool_is_a_no_op ... ok
test items::tests::search_fts_no_match_returns_empty_vec ... ok
test items::tests::search_fts_returns_matching_items_ranked ... ok
test clusters::tests::same_source_repeats_create_one_cluster_with_both_members ... ok
test tests::raw_items_delete_removes_row_from_fts_index ... ok
test clusters::tests::source_count_is_distinct_sources_not_item_count ... ok
test percentile::tests::relevance_p90_of_1_to_100_is_exactly_90 ... ok
test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
Doc-tests news_store
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
================================================================================
$ cargo test -p news-server
================================================================================
running 4 tests
test scoring::trained_model_persists_and_reloads_with_same_total_samples ... ok
test scoring::matching_item_scores_higher_than_non_matching ... ok
test scoring::importance_scorer_matches_direct_formula ... ok
test scoring::blocklist_veto_returns_neg_infinity ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
================================================================================
$ cargo fmt --all --check
================================================================================
(no output)
exit status: 0
================================================================================
$ cargo clippy --workspace --all-targets -- -D warnings
================================================================================
Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.02s
exit status: 0
================================================================================
$ cargo test --workspace
================================================================================
Workspace totals after task 11:
- news-core: 18 passed
- news-ingest: 4 passed
- news-server: 4 passed
- news-store: 17 passed
- news-cli, news-web: 0 tests each
All commands green.