Trigger.dev @triggerdev.bsky.social Β· Apr 13

3 tasks, each in its own container: πš‘πšŠπš—πšπš•πšŽ-πš™πš›: fetches the diff, calls Claude, posts a single review comment (HTML anchor πšŠπš’-πš›πšŽπšŸπš’πšŽπš -πšœπšžπš–πš–πšŠπš›πš’ prevents duplicates on re-runs) πš‘πšŠπš—πšπš•πšŽ-πš’πšœπšœπšžπšŽ: Claude classifies, parses JSON labels, applies via GitHub API πš‘πšŠπš—πšπš•πšŽ-πš™πšžπšœπš‘: Claude summarizes commits in Slack

1 likes 1 replies

?

Replies

Trigger.dev Β· Apr 13

The idempotency pattern is the interesting part. A Hookdeck transform extracts GitHub's πš‡-π™Άπš’πšπ™·πšžπš‹-π™³πšŽπš•πš’πšŸπšŽπš›πš’ header into the payload. That becomes the idempotency key. Hookdeck retries the delivery? Same key. No duplicate task runs. No duplicate PR comments. Zero application code for dedup.