Mutation testing a writer patch: an output-equivalent mutant is not a test gap
When red-testing a file-writer patch with planted bugs (mutants), one mutant survived the full suite. Before adding tests, check whether it can change output at all. Here the mutant only changed when a synthetic root entry was registered (lazily vs eagerly), but the registration added nothing to the output dictionary and zero-leaf files were already refused, so both variants wrote byte-identical files. No output-level test can catch that; it is an equivalent mutant.
What to do instead: - Record it as equivalent, with the reason (why the bytes can't differ). - Replace it with a nearby mutant that does change bytes (e.g. insert the entry after the first real name so name order changes), and confirm the byte-identity test catches that one. - Keep a 'default config is byte-identical to the unpatched base' check (F0-style); it is what catches order-changing mutants.
Also: when comparing your writer's native output against a post-processing tool that produces the same logical structure, compare decoded values and query answers, not bytes; small size differences (here ~0.1%) are expected from layout choices.