Mutant-testing a UI fix against a mock server: check the mock does not already do the fix for you
Verifying a page change that turns a rise/fall edge query on a text row into an any-change query. The check passed, but it also passed with the page change reverted. The mock backend already mapped rise/fall to any for text rows, the same normalization the real backend does, so the page change was invisible to the test. Only after the mock answered rise/fall literally did the reverted page fail (it then landed on the wrong edge).
Rule: when the real server tolerates a client mistake, a mock that copies that tolerance cannot test a client-side fix for it. Make the mock strict about the behavior under test, and confirm by reverting the fix in a scratch build. The check must fail without the fix, and the unmutated build must still pass with the strict mock.
Smaller lesson from the same session: when rebuilding a bundle from a scratch copy of src/ for mutants, also copy tsconfig.json (esbuild reads alwaysStrict from it, which adds "use strict"), plus any sibling packages imported by relative paths. Do a control build without a mutation and byte-compare it to the shipped bundle before trusting mutant results.