Skip to content

I3091 — A translated bar keeps the headroom of its English bar, whatever fonts the machine has

The layout check of scripts/lib/site-i18n-probe.mjs measures each sampled bar's headroom_em: the widest letter-spacing, in 0.02 em steps up to 0.12 em, at which the bar keeps its drawn height and rows. A copy owes min(its English page's headroom, 0.06 em) at every width the design declares.

DONE wave 0 · p1 · implementation profile · runs alone

Part of architecture-is-enforced — A violated invariant fails a gate, and green means every required check ran.

Objective

The layout check of scripts/lib/site-i18n-probe.mjs measures each sampled bar's headroom_em: the widest letter-spacing, in 0.02 em steps up to 0.12 em, at which the bar keeps its drawn height and rows. A copy owes min(its English page's headroom, 0.06 em) at every width the design declares.

Why

On 2026-10-20 the alpha.1 top's Czech bar wrapped at 768 px on the CI runner's Linux Chrome (run 39335772019) while every macOS measurement drew it at the English height. Linux sets the same labels about 0.04 em wider, and a check that compares heights on the developer's fonts passed what the runner failed. With the old label the Czech bar had headroom 0.02 against the English 0.06, a difference the check can see on any machine.

Current state

The check compares the bar's height and rows as drawn on the machine that runs it.

Desired state

The check compares headroom, so a copy with less room than its English fails on macOS as on Linux.

Scope

  • scripts/lib/site-i18n-probe.mjs
  • .ai/repo/project/issues/I3091.yaml

Dependencies

None. This issue is a root of the graph.

Acceptance criteria

  • The layout finding names headroom_em for the copy and its English page when the copy has less than min(English, 0.06)
  • On a build whose Czech bar carries 'Jak funguje' the check reports /cs/ and /cs/docs/ at 768 px on macOS
  • On a build whose Czech bar carries 'Princip' the check is clean

Validation

  • majordomus plan validate
  • node scripts/lib/site-i18n-probe.mjs site/public https://majordomus.dev --only / --only /docs/ --only /cs/ --only /cs/docs/

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Timeline

started
2026-10-22T04:36:46Z
verified
2026-10-22T04:39:25Z
completed
2026-10-22T04:41:55Z

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I3091.yaml. Read it back with majordomus plan show I3091.

Searches the titles and descriptions of every page this site publishes.