HARNESS · HOW EVERY EXPERIMENT GETS JUDGED
There is no reference API to compare against. So the instrument is checked before the model, and three independent loops have to agree.
1 gate→
2 fact scorer→
3 hard holdout→
manual read
1 · gate51 parser fixtures + 8 chat probes. Field accuracy EN ≥ 90%, RU ≥ 80%. Chat: Cyrillic share · no markdown · 1–4 sentences · non-degenerate. Relevance is judged by hand — and the harness says so.
2 · scorerAn answer counts only if the language matches, every kg-number traces to ground truth or the fact block, and the key number is within one plate (2.5 kg; weeks exact or ±1).
calibrationThe scorer runs on the gold answers first and must score ~100%: 99.7 / 100 / 100 / 99.4. A model well below that line has a real failure, not a parser quibble.
3 · holdoutSplit by programme, never by pair — a programme cannot sit on both sides. The earlier set reached 80/80 and stopped distinguishing the current candidates. It could still detect regressions; a harder set was added to evaluate remaining failure modes.
manualStill finds what no check does. Three corpus holes on holdout v2 came from reading, not from metrics.
WHY THIS MUCH
My PhD taught me this: a finite run of good results is evidence, so I don't call it a proof. Generation got cheap; verification did not. This page is where that bill gets paid.
DMITRY(1)USER COMMANDSDMITRY(1)
NAME
dmitry — SRE & AI engineer
SYNOPSIS
dmitry [--formalize DOMAIN] [--constrain] [--verify] [--model LAST]
DESCRIPTION
Optimization PhD, production SRE, and the solo author of a training app that ships a model it will not trust with arithmetic. Refuses to call a result proven on experiments alone. Ships alone when needed; prefers a team with clear roles.
OPTIONS
--formalizeTurn expert knowledge into rules code can run. Default; cannot be disabled.
--constrainBound what the model may decide before it decides anything. Not one number from the model.
--verifyGate → scorer → hard holdout → manual read. Instrument calibrated before the model.
--offlinePrefers on-device. API spend on the current project: 0.
--metricTranslates a business question into something an algorithm can optimise, and back.
--oncallHas been paged. Writes the postmortem.
EXIT STATUS
0shipped · in harness · with a receipt
1killed · with a postmortem
2shelved · by a constraint, not by the data
BUGS
Over-tightens correctness when "good enough, on time" was the goal.
ENVIRONMENT
M5 / 32 GB · MLX for training · llama.cpp on the phone · Munich
SEE ALSO
grishchenko.org{{ buildDate }}DMITRY(1)