Scores design work out of 100. The difference is what it does when the judge could not actually see something: it leaves that out of the maths, instead of scoring it zero. A zero is not a low score — it is a made-up one, and it drags the total down for no reason. When nothing can be judged at all, the answer is unscored rather than a number.
And the line that sits underneath it.
Body copy, set at a size that has to hold against the heading above it without competing with it.
A second paragraph, so the spacing between them is visible rather than theoretical.
This is what you are scoring. Move a slider and it changes.
Move a slider, or mark an axis abstain to say the judge could not see it. Scoring an unseen axis zero drags the total down for something nobody looked at. Award drops it and re-weights what is left, which is why the two numbers differ.
axes() → the rubric prompt() → hand to a judge score(axes) → weighted, re-balanced verdict(v) → complete and in range? divergence(f) → is this a clone? // Award never scores your page. // It scores a judge's scorecard.
The arithmetic is auditable; the seeing is not. Award holds only the half that can be checked.
$ npx @mrkt_frwd/award score partial.json typographicHierarchy 78 spatialRhythm 72 compositionalTension abstained chapterDifferentiation abstained colorDiscipline 81 page craft 77 $ npx @mrkt_frwd/award score nothing-scorable.json unscored — no axis was scorable. That is an answer, not a zero.
No evidence for an axis means skip, never a guessed middle score. Measured across six judges and three rounds before the guard was built.
Never tune a threshold to make a run pass. Fix the work.
Tests must recompute. Never assert over a checked-in result.
The gold set must include work you did not produce. Otherwise it only proves the critic agrees with you.
Calibrate against the medium you are judging. A page rubric inverted the ranking once.
Four of seven. The doctrine carries the rest, each beside the bug that bought it.
That is the whole instruction.