Skip to content

Generated stat tiles do not pluralise: /contracts reads "1 gaps" #271

Description

@bdelanghe

Cold read of https://bounded.tools, 2026-09-03.

/contracts renders its summary tiles as:

<div class="tile__n">74</div><div class="tile__l">repos</div>
<div class="tile__n">7</div><div class="tile__l">checked</div>
<div class="tile__n">6</div><div class="tile__l">passing</div>
<div class="tile__n">1</div><div class="tile__l">gaps</div>
<div class="tile__n">35</div><div class="tile__l">declared</div>

"1 gaps." The label is a fixed string, so the count and the noun agree only by luck.

Trivial in isolation. It reads worse than trivial here, because it is on the page whose whole argument is that the numbers are generated rather than typed, and it is the one number a reader is meant to look at hardest. Right now the count of real drift is the count that is ungrammatical.

The same shape is latent elsewhere. /ledger currently shows 0 movements and 6 entries, correct today, wrong the day either lands on one. /map's 26 packages mapped and 74 repos in the org have the same exposure.

Suggested shape

Give the tile component a singular form alongside the plural and pick on the count, in whichever generator owns the tile (gen-contracts.mjs, gen-map.mjs, gen-ledger.mjs all emit this markup). A count of one is not an edge case here; /contracts is sitting on it in production.

Filed from a cold read, unclaimed and unassigned.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions