Maintainer QA

Logo audit

Every brand mark the charts draw, rendered through the same glyphs.js the charts import. If a mark is wrong here it is wrong on the chart, and if it is right here it is right there.

Each card carries a permanent ID. To report a mismatch, cite the ID and the organization it should be, like O-07 → Anthropic. IDs are frozen in data/logo-registry.json and never reused, so a note written today still points at the same card after a rebuild.

Organization marks

Keyed by canonical organization name. A card marked no mark draws the generic spark because no licensed brand mark was found for it, not because the lookup failed.

Model-family resolution

Every model that draws a point, from both layers, run through modelIcon(). This is where a family mark (Claude, Gemini, Grok) overrides the organization mark, and where it does not. The layer chip says which record a model came from: a crawled row records neither how the test was run nor when, so it is not a curated card's equal even though both resolve their mark the same way.