Taxonomy validation design (Phase 2, checkpoint H-2)
Sample: 2,000 eligible works, stratified = 50 per rule-assigned primary category (40 × 50), drawn with seed 44 from works
with an abstract (month-precision or year-precision alike), plus 200 works with no category assigned (coverage check).
Raters: two independent LLM raters that never see the rule-based assignment — rater A claude-haiku-5-5,
rater B claude-sonnet-5-5 (different model families within Claude; the PI is the third rater on a 200-work
subsample, pi_review = TRUE). Each rater receives the 40 category definitions (from ontology.yaml) and, per work,
title + abstract + venue + year, and returns, under a JSON schema: categories (all applicable ids, 0–5),
primary (one id or null), confidence (0–1), rationale (≤ 30 words).
Metrics (taxonomy/validation/metrics.json): per-category precision/recall/F1 of the rules against each rater and against
the rater consensus (both raters agree); micro/macro F1; Cohen's κ (primary) and Krippendorff's α (multi-label, MASI
distance) between raters; agreement on "no category". Disagreements are exported for the PI (validation/disagreements.csv).
Decision rule fixed in advance: a category with consensus F1 < 0.60 triggers a mapping revision (logged as an amendment)
and a re-run of the classification; the validation sample is then re-rated with the revised rules held out of the rater
prompt (the raters never see rules, so no leakage).
Budget: ≤ 25 USD (A-003).