Skip to content

Replicant v0.5.2

Choose a tag to compare

@404SecNotFound 404SecNotFound released this 04 Aug 06:03
· 49 commits to main since this release
815f951

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 FIELDS in 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 Point wrapped 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 given nowrap, 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.