docs: correct mxgw Bootstrap claim + fold five-app sweep findings into admin_ui_cleanup
CLAUDE.md (Secrets row): - mxgw is NOT Bootstrap-free (libman.json pins bootstrap@5.3.3, App.razor:7 links it ahead of ThemeHead). The scadaproj#2 modal gate had skipped mxgw on that false premise; gate since run and PASS 2026-08-11. - scoped-CSS bundle claim scoped to its 2026-07-19 date; OtOpcUa links one now too, so it is two of four rather than one. admin_ui_cleanup.md — five rounds now (adds mxgw, HistorianGateway, ScadaBridge): - 1a-1: test sources are a fifth definition site, checked BEFORE the ghost list. A class matched only by a test is a selector, never a ghost. Extends to substring and visible-text assertions, so button labels are load-bearing. - 1a-4: two inverted button-sizing instances (literal font-size neutering btn-sm app-wide; a chassis class standing in for the button system). - 1a-5: determine dark scheme per app; where one exists the step inverts. - 1a-6 (new): a token override emitted as an inline style on the shell root defeats every scheme-level :root override. OtOpcUa carries the inert-but- latent instance. - 1c: reword nothing before checking test sources; the docs may be the wrong document, not the page. - 2: btn-sm fold breaks button.btn-*.btn-sm locators; cell-clip is wrong for resizable columns; briefs carry the rubric, not just line numbers. - verification: baseline pre-existing failures by measuring; a suspiciously fast green is a vacuous pass, not a pass. - live gate: mandatory bUnit or not; hit-testability over visibility; measure behaviour where computed values mislead (-webkit-box serializes flow-root); record what could not be exercised. - new: exemptions from a family-wide sweep must re-derive their premise.
This commit is contained in: