Files
Meister-Eder/openspec/changes/email-reply-to-addresses/tasks.md
T
Claude 248d4aa5f7 feat(email): set Reply-To headers on confirmation and notification emails
- notify_parent: adds Reply-To set to the first CC (admin) address so
  parent replies to the completion confirmation reach the admin rather
  than re-entering the agent pipeline
- notify_admin / notify_registration_update: Reply-To = parent email
  was already wired through _send(); confirmed with new tests
- Mid-registration send_reply emails carry no Reply-To (verified by test)
- 5 new tests across TestNotifyParentReplyTo and TestNotifyAdminReplyTo;
  1 new test in TestSendReplyNoAdminReplyTo (174 passing, 0 failing)

https://claude.ai/code/session_014NynTjALA5TeP85mbr5ZA8
2026-02-27 17:29:38 +00:00

1.3 KiB

1. Confirmation Email Reply-To (Email Channel)

  • 1.1 Identify where the registration completion confirmation email is constructed in src/ (email channel adapter / agent core)
  • 1.2 Add Reply-To: spielgruppen@familien-verein.ch header to the confirmation email only (not to mid-registration conversational emails)
  • 1.3 Add a unit test verifying the Reply-To header is present on the confirmation email
  • 1.4 Add a unit test verifying mid-registration emails do NOT carry the admin Reply-To header

2. Notification Email Reply-To (Registration Notifications)

  • 2.1 Identify where registration notification emails are constructed and sent
  • 2.2 Set Reply-To: <parent email> header on all outgoing notification emails (indoor, outdoor, and both routing types)
  • 2.3 Add a unit test verifying the Reply-To header equals the parent's email for indoor-only notification
  • 2.4 Add a unit test verifying the Reply-To header equals the parent's email for outdoor-only notification
  • 2.5 Add a unit test verifying the Reply-To header equals the parent's email when both leaders are notified

3. Verification

  • 3.1 Run the full test suite and confirm all tests pass
  • 3.2 Manually send a test registration through the email channel and verify reply routing behaves correctly