The READ_CONTACTS check was written out three times (data source, RootScreen resume trigger, settings screen). A single extension in the contacts package mirrors the existing Context.hasCalendarPermission() precedent; the settings call site follows in the settings cleanup commit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>