mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-22 08:02:24 +00:00
a_config_round_trips_every_field checks bools and numbers and skips strings on purpose, because de_lenient falls back to the default for a spelling it does not know. That is right for a file a human may have mistyped, and it is exactly what makes a rename invisible: the value does not fail to load, the setting is forgotten and the user finds their choice reverted with nothing said. The wire has the same guard already; this is the disk's copy of it. Fifteen enums, forty-nine variants, two rename rules between them. The strings were read out of serde rather than derived from the rename_all, which is how RightPanelTab::Scm turned out to be "changes" — a rename whose own doc explains it was done in place so an older build could still read the file back. Someone tidying that enum would undo it and kick every user off the panel they were on. Both directions are asserted, since an alias can make a variant readable under a name it is no longer written as. Checked by tidying the rename away: fails with left "scm", right "changes". My first attempt at that mutation edited the word in the doc comment instead of the attribute and the test passed — a mutation that does not mutate proves nothing, which is why the second one names what it changed.