AWARD · EVALUATION

A critic that refuses.

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.

MOVE A SCORE. ABSTAIN AN AXIS. the real weights, the real arithmetic
SPECIMEN

A quiet headline

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.

Scores what it could not see as zero 49
Award 77

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.

THE VERB

axes / prompt / score / verdict

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.
page craft — 5 axes, weights sum to 1.00 typographicHierarchy 0.26 spatialRhythm 0.22 compositionalTension 0.18 chapterDifferentiation 0.18 colorDiscipline 0.16

The arithmetic is auditable; the seeing is not. Award holds only the half that can be checked.

THE ARITHMETIC

Abstention is required,
not optional.

$ 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.

DOCTRINE

Rules, each one paid for.

01

Never tune a threshold to make a run pass. Fix the work.

02

Tests must recompute. Never assert over a checked-in result.

03

The gold set must include work you did not produce. Otherwise it only proves the critic agrees with you.

04

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.

THE CLI GUIDES YOUR AGENT

Point your agent at npx @mrkt_frwd/award.

axesThe rubric: axes, weights, what gets docked, when to abstain.
promptThe scorecard prompt to hand a judge. Returns JSON only.
divergenceRefuse a composition that clones a reference still.
providersWhich vision judges are reachable from here.

That is the whole instruction.

DOCS

What the CLI cats.

Doctrineseven rules · seven bugs Agent readinessagents.md Doc indexllms.txt All seven enginesthe register