Severity: low. load_from returns default_entries() both when the file is missing and when a parsed file has zero entries. A user who curates their list to zero has save write entries = [], but the next launch re-seeds CoffeeMUD/Star Wars/Aardwolf/LORD/Synchronet. An empty address book can never be persisted.
Fix: distinguish an absent file from a present-but-empty one; seed defaults only when the file doesn't exist.
Location: src/config/address_book.rs:59-61.
Filed from the 2026-07-09 full-repo review (findings adversarially verified before filing).
Severity: low.
load_fromreturnsdefault_entries()both when the file is missing and when a parsed file has zero entries. A user who curates their list to zero hassavewriteentries = [], but the next launch re-seeds CoffeeMUD/Star Wars/Aardwolf/LORD/Synchronet. An empty address book can never be persisted.Fix: distinguish an absent file from a present-but-empty one; seed defaults only when the file doesn't exist.
Location:
src/config/address_book.rs:59-61.Filed from the 2026-07-09 full-repo review (findings adversarially verified before filing).