ml-harness

the layer above the trainer — whether to train at all, and whether to believe the result

buildingflagshipprivatelast active 2026-09

built out of the same parts

PythonFastAPIPythonFastAPIPythonml-harnesslocalleadfindermedical-intake-airevenue-squadschwaisocialsweep
5 of the other 11 projects use something this one uses

ML Harness sits above the training loop and answers the two questions a trainer never asks: is this corpus worth spending a GPU on, and is the number that comes back a fact. Three pinned recipes, a preference-pair generator with the degradation rules in code rather than in a prompt, and a judge instrument that is checked against the text it judged instead of trusted.

Most of what it does is refuse. A counting gate asserts that the tests that ran are the tests that were discovered and exits with its own code before pass or fail is read: 4,392 of 4,392 on the current tree. A deterministic diff runs in front of the judge model and throws out every pair where nothing was removed, so the judge never sees a question it could answer by agreeing with the prompt. A count that does not say what it counted is refused rather than printed.

The findings it has produced about itself are the point. A judge asked to grade 72 rewrites with no defect in them kept 19 and justified every one with a deletion that never happened. A corpus reported as 95 rows was 60 distinct ones. And seeding the judge made it perfectly repeatable while leaving the same eight errors in place every time, which is a remedy that removes the detector rather than the defect.

627 commits since 11 August 2026. Written up in the deep dives.

private repo — described here, not linkable