Replicant v0.5.2
A readability release. No behaviour changes, no new techniques, and nothing in the emitted
telemetry moves. Worth upgrading only if you look at the web UI.
More than half the interface rendered below 12px
Reported plainly as "the text is quite small, you have to really focus your eyes". Measured on the
rendered page rather than argued about.
| most common size in the whole UI | 10.5px (30 of 104 elements) |
| below 12px | 58 of 104 |
| at or above the 16px browser default | 3 of 104 |
| smallest text on screen | 8.5px, a rule id inside the signal-path diagram |
| contrast failures | 1 |
Contrast was fine. It was audited during the reskin and that audit held. Size was never audited at
all, and that turned out to be the real gap.
It was also not a design decision. The design doc defines a palette, spacing and a motif and
contains no type scale whatsoever, while the code carried eleven hardcoded sizes across 84 call
sites. Eleven sizes is not a scale. It is eleven separate decisions taken one component at a time
and never compared with one another.
What changed
The scale separates read from scan, which is the distinction that was missing. Prose is read
in sentences and needs size. Monospace and tabular data is scanned, and density genuinely helps
there. So scanned data stays tight at 12.5px while body prose moves from 13px to 14px, the technique
objective gets its own 15px, and nothing renders below 11px. Six named rungs replace the eleven ad
hoc values, so the next component cannot quietly invent a twelfth.
Two regressions were introduced by the change and caught by measuring again afterwards. Both are
recorded because the second had shipped once before.
SIGNAL FIELDSin the signal-path diagram grew wide enough to sit on top of its own values. The
values moved rather than the label shrinking back.Check Pointwrapped to two lines in the vendor picker and doubled the control height. It needs
84.1px in an 83.7px segment, so half a pixel of growth tipped it over, and it had always been
marginal. Restored to 12px and givennowrap, so the next long vendor name overflows visibly
instead of silently reflowing, which is exactly how it shipped that way the first time.
The screenshot script had been broken for months
scripts/capture-webui-screenshots.py clicked a button labelled Start run. That button was
renamed to name its destination some time ago, so the script had been failing since, and nobody
knew, because it only runs when someone regenerates screenshots. It now matches on a stable prefix.
All five images are regenerated against the new scale.
Unchanged
Every known limitation from v0.5.1 still stands, including F-08 (the events-per-second cap is
per process) and F-14 (the remaining advisories are development-only and their fixes drop
Node 18). Palo Alto and Check Point vendor fidelity remains [Unverified] against real appliances.
The attached wheel was built from a clean checkout of this tag and smoke-tested outside the
repository, including that the rebuilt web assets ship inside it.