38b056fced
The web job ran the node tests but never linted, so #921 merged with two real React violations in it — a predicate named like a hook, which tripped rules-of-hooks, and a synchronous setState inside an effect. Both were invisible to every gate the repo had. Errors only: `npx eslint .` exits 0 on the 79 warnings the tree still carries (i18n literals, next/image suggestions), so this starts catching the class of bug that just slipped through without demanding an unrelated cleanup first.