Files
the-daily-epub/docs/plans/curation-v2-briefs/step7.md
T

2.0 KiB
Raw Blame History


YOUR STEP: 7 — Cleanup (plan §21 step 7)

Steps 16 have landed. This step removes what the plan retired and updates the implementation notes. Read git log -12 and skim every file under src/ for leftovers.

  1. Dead code: anything only the old prefilter/scores/select/feed-prior paths used — unused functions, types (LlmScore if nothing reads it, ScoredArticle, FeedPrior, Rating), kv keys no longer read, config aliases and #[serde(alias)]s introduced as transition aids, // filled in by step N comments, stale doc comments that still describe 👍/👎, "From the Editor", section intros, prefilter gating, or async-openai. cargo clippy --all-targets -- -W dead_code must be clean; do not add #[allow(dead_code)].
  2. Prune paths (§7.1, §7.4): confirm features prune covers article_embeddings (embedding_retention_days) and candidate_runs (telemetry_retention_days); add article_assessments older than telemetry_retention_days to it. Make generate call the prune once per run after publishing (best effort, logged).
  3. Docs: update docs/plans/2026-08-15-implementation-notes.md: fix item 5 (hand-rolled reqwest client, not async-openai), add the new providers (Anthropic Messages API facts from plan §4.2, Voyage facts from §4.3, each with "verified 2026-09-02"), the new tables, the lock, the budget-day rule, and a short "curation v2" section pointing at docs/plans/2026-09-02-personalized-curation-v2.md. This is the one step allowed to edit docs/. Do not edit the plan itself.
  4. Consistency pass: config.example.toml matches Config::default() key for key (write a test that loads the example and compares every [curation.*], [anthropic], [voyage], [editorial] value to the defaults, since the defaults are the plan's numbers); README CLI section matches daily-epub --help output for every subcommand (spot check by running the binary).
  5. Run cargo fmt, cargo clippy --all-targets, cargo test; report the summary lines.