ServerChirp Rollout, Mobile OTA Recovery, and Password Recovery
Finalizing ServerChirp
I finalized the ServerChirp rollout and Mail onboarding (92290286), finalized ServerChirp provenance at startup (4cdf3354), and optimized the ServerChirp Docker build graph (ccf4c73c). Provenance at startup—knowing exactly which build is running—is the thing that makes “is the fix deployed?” answerable without guessing.
Mobile OTA Debugging
The bulk of the day was the mobile over-the-air update path, and it was a mess: added an Android update restart action (5f33fb41), fixed a mobile OTA startup freeze (668cf258), gated OTA updates on native file hashing (680bf599), fixed Hermes bundle entry initialization (e29f1ca8), documented the official mobile OTA recovery plan (a12b1b8c), restored the official Android bundle handoff (5d5d968e), added OTA handoff lifecycle diagnostics (a1868d5e), preserved the upstream mobile OTA shell fix (8bb91732), recorded the official shell contract checkpoint (f4a12d4e), pinned OTA builds to the official mobile shell (8ac28214), and recorded the production handoff deployment (ba47dbe1).
Mobile OTA is one of the least forgiving systems in software: a bad update can leave an installed app unable to start. Gating updates on native file hashing and pinning to a known shell are the safeguards that make OTA safe.
Sales Conversion
I added a one-shot Sales workflow conversion (b9c1823d) and skipped empty Outlook folders during the conversion (3eccfd80). Migrating a mailbox into a workflow is exactly the kind of task that needs to be resumable and to tolerate weird folders.
Account Recovery
I added staff backup email and member password recovery (b16f5d69). Recovery is a security-sensitive surface—it’s worth building deliberately rather than bolting on.
Mobile Setup
I guided setup without eager mailbox loading (9d089646), recorded the official mobile loading trace and an unresolved client pause (c9df1a74), and recorded a verified mobile setup production release (5ca40487). Leaving an unresolved issue documented rather than pretending it’s fixed is the honest move.
Shipping Mobile Is Different
You can roll back a web deploy in seconds. A mobile update lives on someone’s phone, so every OTA change deserves the paranoia today’s commits show.