Your settings are part of your memory
An app that remembers what you tell it should also remember what you set. Three reports with no apparent connection, a preference lost after a reinstall, a setting silently replaced, a dictation that produced nothing: three independent causes, and one piece of groundwork on what memory is supposed to keep.
Three symptoms, no common cause
Three different reports over a few days. The first: the tone of the answer changes on its own, from one exchange to the next, without anything being touched. The second: after a reinstall, the chosen setting had reverted to its factory value. The third: one dictation out of several produced nothing, or worse, produced a sentence that had never been spoken.
From the outside, that reads as a single impression: the app remembers nothing. From the inside, those are three defects with no link whatsoever between them. It is the most deceptive situation there is, because fixing the first one doesn't shift the overall impression by a millimeter, and you conclude far too quickly that you were on the wrong track.
Two lists that had drifted apart
The tone setting existed in two places: a list on the phone, to display it, and a list on the server, to validate it. Both had been written separately, and they had ended up not quite saying the same thing. The phone offered an entry the server didn't know about, the server rejected it without a word and fell back to its default. The setting wasn't changing on its own, it was being silently replaced.
The fix comes down to two moves. A single list, declared once, from which both sides derive, so that an addition can no longer exist on one side only. And a written trace every time a choice is rejected and replaced. A silent rejection is a defect you cannot go looking for: it leaves nothing behind.
The same problem had a cousin. The daily inbox briefing wasn't reading the setting at all, and always spoke with the factory value. The same app addressed you in two different ways depending on where it was speaking from.
A setting kept on the phone is not a setting remembered
The second defect is the more interesting one, because it wasn't really a defect. The preference was kept in the phone's local storage, which is the obvious place when you first write the feature. Except that this storage disappears on uninstall and doesn't follow you when you change devices. The setting wasn't lost by accident: it had never been recorded anywhere other than the exact place where it was going to disappear.
So we moved it to where the rest of what the app remembers already lives. The phone keeps a copy, because it has to answer fast and without a network, but the authoritative version sits on the server, attached to your account. At startup, the device resynchronizes; on every change, it pushes the new value.
That left the case of someone who uses the app without an account, then creates one. Their memories already migrate from the device to the account at signup: their settings now make the trip in the same movement. It is the same question in two forms, the one about who owns your data and where it lives.
Sending nothing beats sending silence
The third defect was about capturing sound. Two mechanisms were fighting over the microphone: when the app had just spoken, audio playback still held the sound session, and the recording started right after opened a file that stayed empty. A collision of the same kind happened during the microphone permission prompt, where a recorder could keep running in the background while everyone believed it had stopped.
The underlying fix was to hand back before taking, and to check the result afterwards rather than trusting the starting signal. A file of a few kilobytes contains nothing audible: rather than sending it up, we say plainly that there was nothing to hear.
That is what this piece of work taught us best. A transcription engine never returns "nothing." Faced with silence, it produces a plausible sentence, often well turned, sometimes so mundane it goes unnoticed. An empty file therefore doesn't become a visible error, it becomes a sentence you never said, filed away in your memory with the same seriousness as the rest. A memory that fills a gap is more dangerous than one that admits to it. It is the same requirement that had led us, a few days earlier, to rebuild the press-and-hold dictation gesture from scratch.
What we take away
Three independent fixes, one rule: what you choose is a piece of memory like any other. A setting is not a display detail to be tucked away in a corner, it is something the app is supposed to remember about you, exactly like what you entrust to it. Everything touching conversation and the way it answers you has followed that rule ever since.
