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. When the old set saturated (80/80), it was retired: a test that always passes measures nothing.
manualStill finds what no check does. Three corpus holes on holdout v2 came from reading, not from metrics.
WHY THIS MUCH
A finite run of good results is evidence, not proof — the PhD lesson. Generation got cheap; verification did not. This page is where that bill gets paid.
DMITRY(1)USER COMMANDSDMITRY(1)
NAME
dmitry — AI engineer for production-critical domains
SYNOPSIS
dmitry [--formalize DOMAIN] [--constrain] [--verify] [--model LAST]
DESCRIPTION
Takes a domain that resists automation, writes it down as an engine with validators, and only then lets a model in. 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.
‹second known bug›
‹third known bug›
ENVIRONMENT
M5 / 32 GB · MLX for training · llama.cpp on the phone · Munich
SEE ALSO
grishchenko.org{{ buildDate }}DMITRY(1)