Seven icons that looked fine and were not
A regex that was one anchor short deleted the geometry from every icon built out of rectangles, and they still validated as SVG.
This site inlines its icons instead of loading them from a CDN. That means vendoring the source files and normalising them: strip the licence comment, remove the fixed width and height so CSS controls the size, collapse the whitespace.
The normalisation was four lines of regex. One of them was wrong:
s = re.sub(r'\s+width="\d+"', '', s)
That matches every width attribute in the file, not just the one on the root <svg> element.
Why nothing failed
Most icons in the set are drawn with <path> elements, which have no width or height, so they were untouched. Seven were drawn from <rect> primitives: a server, a monitor, a phone, a calendar, an envelope, a padlock, a dashboard.
A <rect> with no width and no height renders nothing at all. The files were still well-formed SVG, still parsed, still returned 200. The icons simply came out as a couple of stray dots where the small decorative details survived.
No test failed, because there was no test that could. You cannot assert "this icon looks like a server" without a rendered comparison, and a broken SVG is not a broken page.
What actually caught it
Looking at a screenshot. The server icon on the services page was visibly two dots in a box, next to five icons that were fine, which is exactly the kind of thing that is obvious in a picture and invisible in a diff.
The fix was to anchor the substitution to the root tag. The more useful outcome was writing down, next to the icons, which seven are rect-based and that they are the ones to look at after any change to that pipeline.