Verified by grepping every call site rather than only the three named: pipeline-executor.ts:499
and :591 and deliver.ts:37 all pass getOwnerHomeDir(email) now, and no caller anywhere passes
an identity where a path is expected. Gates unchanged, 97 tests, 259 assertions.
The "@param home — NOT an email" comment is the right residue: the compiler cannot distinguish
the two strings and never will, so the warning has to live where a fourth caller would read it.
Closes everything reviewable without a live member turn.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>