Curation v2 step 7: cleanup, prune paths, implementation notes

Dead code and stale v1 comments removed (clippy -W dead_code clean, the
three world.rs warnings fixed), the Brief chapter's TOC title renamed from
"From the Editor", features prune now also sweeps article_assessments and
generate runs the sweep once after publishing, the example config is
tested key-for-key against Config::default(), README commands match
--help, and docs/plans/2026-08-15-implementation-notes.md records the
Anthropic and Voyage facts, the new tables, the budget-day rule and the
lock.

Implemented by a Claude agent from docs/plans/curation-v2-briefs/step7.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1rCLQeKBgnBo3oTgHuTMe
This commit is contained in:
2026-09-02 16:32:18 +00:00
co-authored by Claude Fable 5.1
parent d261cd485d
commit d403c51edf
18 changed files with 288 additions and 88 deletions
+3 -3
View File
@@ -160,11 +160,11 @@ fn dropped(element: &scraper::node::Element) -> bool {
fn node_text(node: NodeRef<'_>, skip_lists: bool, out: &mut String) {
match node.value() {
Node::Text(text) => {
out.push_str(&text);
out.push_str(text);
out.push(' ');
}
Node::Element(element) => {
if dropped(&element) || (skip_lists && matches!(element.name(), "ul" | "ol")) {
if dropped(element) || (skip_lists && matches!(element.name(), "ul" | "ol")) {
return;
}
for child in node.children() {
@@ -208,7 +208,7 @@ fn links_without_child_lists(element: ElementRef<'_>, base: &Url) -> Vec<String>
let Node::Element(element) = node.value() else {
return;
};
if dropped(&element) || matches!(element.name(), "ul" | "ol") {
if dropped(element) || matches!(element.name(), "ul" | "ol") {
return;
}
if element.name() == "a"