Area: Cross-cutting infra (audit p14) · Surface: platform/templates/email/email-change.php · Dimension: deadcode · Severity: minor
templates/email/email-change.php is a legacy single-step email-change verification template. The codebase migrated to a two-step current-then-new ownership-proof flow (email-change-current.php + email-change-new.php), both of which are actively sent from AccountController. The old single-step template is no longer referenced by any send() call.
Evidence
Zero inbound references. `$ grep -rnE "'email-change'" src/ bin/ public/ --include=*.php` → (empty). The live flow uses the two-step templates instead: AccountController.php:928 sends 'email-change-current' and AccountController.php:991 sends 'email-change-new'. The single-step email-change.php (templates/email/email-change.php:3 docblock "Email address change verification code") is never passed to MailService::send().
Suggested fix. Delete templates/email/email-change.php. Confirm no scheduled/queued job references the bare name 'email-change' (already verified zero hits) before removal.
Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.
Patrick Bass
@mobieus