4cbefaf4b2
Adversarial review (roast) of the branch, 9 path-scoped passes: - cross-tab rebuild armed the new session's hooks before the deferred bundle dispatch, so an 'expired' event fired in that async window would be dropped by the reducer's bundle-identity check; arm now happens in the same callback as the dispatch, and the dispatched account is re-read from the live session (mirrors snapshot-after- prep). - Composer onPressPublish's dep array omitted appviewClient and resolveClients (stale-client hazard after cross-tab rebuild). - follow-all catch blocks (onboarding starter-pack card, starter pack screen) showed the error toast but fell through to dereference the undefined followUris map, throwing and showing a bogus success toast. - contacts createProfileRecord unconditionally overwrote the profile's createdAt on every run; now preserved when already set, matching StepFinished. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>