6966705751
every hermes honcho command read honcho.json, changed a field, and wrote the whole dict back with no lock. a token refresh in another process that landed between the read and the write was overwritten with the old access and refresh tokens, and the next refresh replayed a rotated single-use token. _write_config now holds the same cross-process file lock the refresh path holds, re-reads disk under it, and applies only the keys the command changed since its _read_config(). untouched keys keep their on-disk value, so a rotation survives; a credential the command set on purpose still wins. a write with no prior read keeps today's whole-file behavior.