feat(labeler): redraw the line — composed vs generated, judge → gemma-4-12B
The old line ('written by a person') was wrong in both directions: most
banned content WAS human-written at the source (patents by attorneys,
recall notices by regulators, transcripts of humans speaking), and
original writing by an AI belongs in the index. What actually unites
every ban is the generating process: one document per dataset record,
template + data determining the text — even when the dataset is the
account's own (prideraiser enumerates its own campaigns).
Everything now states that line consistently: the judge prompt (kept in
lockstep with scripts/judge-eval), the /labels page, the exclusions.md
policy, and the label-declaration description.
Judge → gemma-4-12B-it-8bit: 19/19 conclusive votes correct across two
validation runs on the new prompt (all misses were 503s/timeouts, never
wrong verdicts), and it's the model our own provider machine serves.
judge-eval gains coryd.dev (942-doc human) as a 4th ground-truth case,
JUDGE_TIMEOUT/JUDGE_CONCURRENCY knobs, creds validation, and reasoning-
model parsing. SCORING_VERSION 8→9 re-judges all decided authors under
the new line on deploy.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>