Curation v2 step 5: deep assessment, utility, diversified shortlist
assess.rs replaces score.rs (DEEP_INSTRUCTIONS, representative sample with [BEGINNING]/[MIDDLE]/[END], facets, cached deep rows with --rescore bypass), rank.rs adds the utility blend over present signals with gate ramps and the leader-clustered shortlist (cap 2 → 3 → uncapped, protected top-N, exploration reserve), editor.rs replaces select.rs with the §13 rendering and utility-ordered fallbacks. ScoredArticle is gone; Candidate is the only flow type. deep_batch_size replaces score_batch_size. Started by Codex (cut off by its usage limit mid-verification) and finished by a Claude agent from docs/plans/curation-v2-briefs/step5.md; reviewed against plan §12–§13. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A1rCLQeKBgnBo3oTgHuTMe
This commit is contained in:
+76
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"articles": [
|
||||
{
|
||||
"id": 101,
|
||||
"quality": 8.5,
|
||||
"fit": 7.0,
|
||||
"category": "Tech & Engineering",
|
||||
"rationale": "First-hand 40TB Postgres migration with failure timeline, numbers and a rollback plan",
|
||||
"paywalled_guess": false,
|
||||
"facets": {
|
||||
"format": "first_hand_account",
|
||||
"depth": "deep",
|
||||
"evidence": "first_hand",
|
||||
"commerciality": "none",
|
||||
"topic_group": "software_engineering",
|
||||
"technicality": "advanced",
|
||||
"locality": "not_applicable",
|
||||
"specific_topics": ["Postgres migration", "storage failover", "rollback planning"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 102,
|
||||
"quality": 3.0,
|
||||
"fit": 2.5,
|
||||
"category": "AI & Machine Learning",
|
||||
"rationale": "Model release announcement, benchmark table from the vendor, no independent evaluation",
|
||||
"paywalled_guess": false,
|
||||
"facets": {
|
||||
"format": "announcement_roundup",
|
||||
"depth": "brief",
|
||||
"evidence": "speculative",
|
||||
"commerciality": "promotional",
|
||||
"topic_group": "ai_ml",
|
||||
"technicality": "light",
|
||||
"locality": "international",
|
||||
"specific_topics": ["model launch"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 103,
|
||||
"quality": 6.5,
|
||||
"fit": 8.0,
|
||||
"category": "Boston & Local",
|
||||
"rationale": "MBTA slow-zone data pulled from the tracker and charted by line with original analysis",
|
||||
"paywalled_guess": false,
|
||||
"facets": {
|
||||
"format": "analysis_essay",
|
||||
"depth": "standard",
|
||||
"evidence": "data_or_experiment",
|
||||
"commerciality": "none",
|
||||
"topic_group": "boston_new_england",
|
||||
"technicality": "intermediate",
|
||||
"locality": "boston_new_england",
|
||||
"specific_topics": ["MBTA slow zones", "transit data"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 104,
|
||||
"quality": 5.0,
|
||||
"fit": 6.0,
|
||||
"category": "Culture & Essays",
|
||||
"rationale": "Promising essay on typesetting history; the body reads cut off after the second section",
|
||||
"paywalled_guess": true,
|
||||
"facets": {
|
||||
"format": "analysis_essay",
|
||||
"depth": "standard",
|
||||
"evidence": "synthesis",
|
||||
"commerciality": "none",
|
||||
"topic_group": "books_writing",
|
||||
"technicality": "nontechnical",
|
||||
"locality": "not_applicable",
|
||||
"specific_topics": ["typesetting", "print history"]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"articles": [
|
||||
{
|
||||
"id": 201,
|
||||
"quality": 7.0,
|
||||
"fit": 6.5,
|
||||
"category": "Science & Space",
|
||||
"rationale": "careful write-up of an amateur radio occultation measurement",
|
||||
"paywalled_guess": false,
|
||||
"facets": {
|
||||
"format": "first_hand_account",
|
||||
"depth": "standard",
|
||||
"evidence": "data_or_experiment",
|
||||
"commerciality": "none",
|
||||
"topic_group": "science_space",
|
||||
"technicality": "intermediate",
|
||||
"locality": "us",
|
||||
"specific_topics": ["radio occultation"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "202",
|
||||
"quality": "6",
|
||||
"fit": "5.5",
|
||||
"category": "Niche Corner",
|
||||
"rationale": "mailing-list argument about tape drives, oddly gripping",
|
||||
"paywalled_guess": "false",
|
||||
"facets": {
|
||||
"format": "discussion_thread",
|
||||
"depth": "standard",
|
||||
"evidence": "anecdote",
|
||||
"commerciality": "none",
|
||||
"topic_group": "retro_computing",
|
||||
"technicality": "intermediate",
|
||||
"locality": "not_applicable",
|
||||
"specific_topics": ["LTO tape", "backups", "archival", "vendors", "pricing"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 203,
|
||||
"quality": 4,
|
||||
"fit": 4
|
||||
},
|
||||
{
|
||||
"id": 204,
|
||||
"quality": 12.5,
|
||||
"fit": -1,
|
||||
"category": "Sports",
|
||||
"rationale": "model ignored the rubric ceiling and invented a section here",
|
||||
"paywalled_guess": false,
|
||||
"facets": "not an object"
|
||||
},
|
||||
{
|
||||
"id": 205,
|
||||
"quality": 8.0,
|
||||
"category": "Top Stories",
|
||||
"rationale": "fit is missing, so this item is unusable"
|
||||
},
|
||||
{
|
||||
"quality": 9.0,
|
||||
"fit": 9.0,
|
||||
"category": "Top Stories",
|
||||
"rationale": "no id at all, unusable"
|
||||
},
|
||||
"a bare string where an object belongs"
|
||||
]
|
||||
}
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
{
|
||||
"articles": [
|
||||
{
|
||||
"id": 101,
|
||||
"score": 8.5,
|
||||
"category": "Tech & Engineering",
|
||||
"rationale": "first-hand 40TB Postgres migration with numbers, failures and rollback plan",
|
||||
"is_paywalled_guess": false
|
||||
},
|
||||
{
|
||||
"id": 102,
|
||||
"score": 3.0,
|
||||
"category": "AI & Machine Learning",
|
||||
"rationale": "model release announcement, no independent evaluation",
|
||||
"is_paywalled_guess": false
|
||||
},
|
||||
{
|
||||
"id": 103,
|
||||
"score": 6.5,
|
||||
"category": "Boston & Local",
|
||||
"rationale": "MBTA slow-zone data analysis with original charts",
|
||||
"is_paywalled_guess": false
|
||||
},
|
||||
{
|
||||
"id": 104,
|
||||
"score": 5.0,
|
||||
"category": "Culture & Essays",
|
||||
"rationale": "promising essay on typesetting, body appears truncated",
|
||||
"is_paywalled_guess": true
|
||||
}
|
||||
]
|
||||
}
|
||||
-35
@@ -1,35 +0,0 @@
|
||||
{
|
||||
"articles": [
|
||||
{
|
||||
"id": 201,
|
||||
"score": 7.0,
|
||||
"category": "Science & Space",
|
||||
"rationale": "careful write-up of an amateur radio occultation measurement",
|
||||
"is_paywalled_guess": false
|
||||
},
|
||||
{
|
||||
"id": "202",
|
||||
"score": "6",
|
||||
"category": "Niche Corner",
|
||||
"rationale": "mailing-list argument about tape drives, oddly gripping",
|
||||
"is_paywalled_guess": "false"
|
||||
},
|
||||
{
|
||||
"id": 203,
|
||||
"score": 4
|
||||
},
|
||||
{
|
||||
"id": 204,
|
||||
"score": 12.5,
|
||||
"category": "Top Stories",
|
||||
"rationale": "model ignored the rubric ceiling here",
|
||||
"is_paywalled_guess": false
|
||||
},
|
||||
{
|
||||
"score": 9.0,
|
||||
"category": "Top Stories",
|
||||
"rationale": "no id at all, unusable"
|
||||
},
|
||||
"a bare string where an object belongs"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user