*Released by @Bastidores. Translated into English here, like every other note, under the language
rule adopted in v0.10.0 — the words are that release's, the language is the house's.*

**The design review, implemented — and what it measured becomes a gate.** The editor commissioned
a design and legibility review, with the complaint that *"the current design is hard to read, and
does not look as professional and smooth as a news site or a strong blog should"*. The review
arrived in an encrypted vault (e54hfntq, v0.1.0, against build v0.6.0) and did the unusual thing
for a design review: it measured. Characters per line derived from the grid rather than eyeballed,
contrasts computed from the tokens in `:root`, empty cells counted one by one, screenshots at
1440px and 390px. That is why this release is large and specific rather than a matter of taste.

**"Hard to read" had four measured causes, and they compounded each other.** The text column ran
88 characters per line on the front page and 96 on an entity page, where a newspaper column sits at
45–75 — above that the eye loses the return to the next line, and the experience is exactly "I can
read it but it is tiring". Leading was at 1.45, where a serif on cream paper wants 1.6–1.65.
`-webkit-font-smoothing: antialiased` was drawing the text lighter than specified, taking weight
off the strokes Newsreader needs at 15–18px. And the rules were not visible: `--filete` sat at
1.36:1 against the paper, when the standard asks 3:1 of a non-text element carrying meaning. This
stylesheet's entire thesis is "rules, not boxes" — structure is carried by rules — and the
structure was being carried by lines that, on a light screen, are not there. That is why the front
page's blocks appeared to run into one another.

**"Does not look like a news site" had one dominant cause, and it cost ten lines.** IBM Plex Mono
set the dateline, every kicker, every section label, the front page's thirty chips, every table
header and the entire footer. Cumulatively the page read as a build log with a good headline. A
newspaper does not set its section labels in a typewriter face. The kicker and the section label
move to the serif, and with them the table header and the prose of the "for an agent" block. The
rule now written into the stylesheet: **the mono face means one thing — a machine fact.** A hash, a
byte count, an identifier, a time, a path, code.

**The accent had seven jobs and therefore signalled none.** Kicker, current section, link-on-hover,
confirmed source, ok-chip, graph verb and "open the graph". It now has two: interactive, and
confirmed. The kicker leaves it. And three of the four state colours failed or scraped AA —
`--disputa` was at 4.48:1, below the line, carrying verification state at 11px. In a publication
whose whole proposition is that a reader can see the verification state of every claim, that is not
a contrast detail. The ramp darkened: accent at 6.83:1, warning at 6.06:1, disputed at 5.81:1.

**Seven gates, 27 to 33, so it is not reviewed by eye again.** The review's §4.4 said the thing
that stops a review becoming decoration: *"Do not review by eye again. These are the numbers that
changed. Each is cheap to assert in a build check."* `build/gates_desenho.py` is that file — each
gate reads a value off disk and compares it with a threshold the review wrote. Two of the seven
numbers need a browser and live in the browser gate instead, which is said rather than omitted.

**And one number in the review was wrong, in the direction that mattered.** The review used 0.48em
as Newsreader's average glyph width, the usual figure for a screen serif. Measured in the browser —
a canvas, the element's own computed font, real Portuguese text — it is **0.405em**, about 18%
narrower. That cuts both ways: the problem was worse than reported (the 758px column held ≈104
characters, not 88), and the fix the review asked for did not reach the target it set (34em is
612px, which measures 84 characters, still above 75). So the site's measure is 29em, not 34em, and
the gate measures with 0.405. The way to get the number again is the same as the way it was got:
measure, do not estimate.
