og.mjs renders an HTML card in headless Chromium at a fixed 1200x630 and screenshots
it. The heading and install command are read from hero.json and site.json — the
same files the page renders from — because those are exactly the two strings that
drift.
The card spent a while advertising a headline the page had stopped using and an
install command for somebody else's package, which is what a picture of copy gets
you when nothing checks it.