Skip to content

Commit 7950dd0

Browse files
stewartjarodclaude
andauthored
fix(inbound): derive emailId and receivedAt from the raw object so retries are idempotent (#202)
* fix(inbound): derive emailId and receivedAt from the raw object so retries are idempotent The inbound Lambda minted a random emailId and a fresh receivedAt on every invocation, so a Lambda async retry (for example after a PutEvents rejection) re-parsed the same raw object under a new id, leaving a duplicate parsed/{emailId}.json and a duplicate email.received event. Derive emailId from a sha256 of the raw S3 key and receivedAt from the S3 record eventTime (falling back to now when absent). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LXhsBcDrKD8BtN1jaAyhD * chore(inbound): rebuild inbound-processor bundle Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LXhsBcDrKD8BtN1jaAyhD --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
1 parent 8e475d7 commit 7950dd0

3 files changed

Lines changed: 154 additions & 58 deletions

File tree

0 commit comments

Comments
 (0)