By: Michael Lynch <git@mtlynch.io>
Add ErrInvalidEmail sentinel and assert it in email tests NewEmail now wraps all parse failures with ErrInvalidEmail so callers can use errors.Is to distinguish invalid email input from other errors. Tests switch from a wantErr bool to errExpected error, matching the pattern used in the rest of the test suite. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>