Files
news/.omo/evidence/task-14-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

69 lines
3.2 KiB
Plaintext

Task 14 evidence: NewsConfig TOML loader with SIGHUP hot-reload
Generated: 2026-09-01
=== Files changed ===
- /home/connor/docs/projects/news/crates/news-server/src/config.rs (new)
- /home/connor/docs/projects/news/crates/news-server/src/lib.rs (+pub mod config;)
- /home/connor/docs/projects/news/crates/news-server/src/error.rs (+Io, +Toml variants)
- /home/connor/docs/projects/news/crates/news-server/Cargo.toml (tokio promoted, +toml/tracing deps, +tracing-test/tempfile dev-deps)
- /home/connor/docs/projects/news/Cargo.toml (+toml/tracing/tracing-test/tempfile workspace deps)
=== config.rs pure LOC ===
135 (ceiling: 250)
=== Verification 1: cargo test -p news-server ===
$ cargo test -p news-server
(...compiling...)
running 16 tests
test config::tests::happy_path_loads_notify_opinions_true ... ok
test config::tests::bad_reload_keeps_last_good_config ... ok
test gate::tests::happy_path_notifies_when_relevance_and_budget_allow ... ok
test gate::tests::quiet_hours_suppresses_high_relevance ... ok
test gate::tests::already_notified_suppresses_when_delta_not_reached ... ok
test gate::tests::below_band_suppresses_below_threshold ... ok
test api::feedback::tests::malformed_kind_returns_422 ... ok
test api::feedback::tests::unknown_cluster_id_returns_400 ... ok
test gate::tests::material_update_notifies_again_when_delta_reached ... ok
test gate::tests::digest_band_returns_digest ... ok
test scoring::tests::trained_model_persists_and_reloads_with_same_total_samples ... ok
test gate::tests::bypass_ceiling_is_independent_of_normal_budget ... ok
test scoring::tests::matching_item_scores_higher_than_non_matching ... ok
test api::feedback::tests::valid_feedback_records_row_and_trains_model ... ok
test scoring::tests::importance_scorer_matches_direct_formula ... ok
test scoring::tests::blocklist_veto_returns_neg_infinity ... ok
test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
=== QA scenario: happy path (notify_opinions = true) ===
$ cargo test -p news-server -- --nocapture config::tests::happy_path_loads_notify_opinions_true
running 1 test
test config::tests::happy_path_loads_notify_opinions_true ... ok
Result: loaded config has notify.notify_opinions == true, 2 sources, 3 interests.
=== QA scenario: bad reload keeps last good config ===
$ cargo test -p news-server -- --nocapture config::tests::bad_reload_keeps_last_good_config
running 2 tests
test config::tests::happy_path_loads_notify_opinions_true ... ok
2026-09-01T17:49:46.159239Z ERROR bad_reload_keeps_last_good_config: news_server::config::tests: config reload failed: toml parse error: TOML parse error at line 1, column 8
|
1 | [notify
| ^
invalid table header
expected `.`, `]`
test config::tests::bad_reload_keeps_last_good_config ... ok
Result: in-memory config unchanged after invalid TOML reload; parse error captured in tracing logs.
=== Verification 2: cargo fmt --all --check ===
$ cargo fmt --all --check
(no output)
Exit 0.
=== Verification 3: cargo clippy --workspace --all-targets -- -D warnings ===
$ cargo clippy --workspace --all-targets -- -D warnings
Checking news-server v0.1.0 (/home/connor/docs/projects/news/crates/news-server)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.62s
Exit 0.