A corrupt daemon roster file is renamed aside instead of blocking, and orphaned transcripts get moved properly.
What's wrong with this entry?
A daemon roster file that fails to parse is moved aside to a timestamped roster.json.corrupt.<ts> name through the storage layer, falling back to a plain filesystem rename, and orphaned transcripts are renamed inside the transcript namespace rather than only on disk.
- The storage path is only taken when a storage backend is available.
roster quarantine v5 move failed
Strings lifted out of the shipped bundle, so the claim above can be checked against them.