Turn a PR event into durable review work #14

Open
opened 2026-07-14 22:32:20 -04:00 by caleb-brown · 0 comments
Owner

What to build

An eligible Forgejo pull-request event creates durable, deduplicated review intent atomically and makes that queued work visible to Temper Operators.

Acceptance criteria

  • Supported open, reopen, and revision events normalize into a review request for an exact repository, pull request, and head SHA.
  • Delivery receipt and durable review-request creation commit atomically, so accepted work cannot disappear before enqueue.
  • The request freezes references to the effective Review Policy, Reviewer Profile revisions, and provider configuration.
  • Duplicate deliveries and equivalent automatic requests for the same revision do not create duplicate work.
  • Ineligible events are recorded as safely skipped with a reason and do not enqueue review work.
  • Operators can see the delivery, resulting request, trigger, revision, and queued state without seeing raw repository content.
  • Real-PostgreSQL tests cover atomicity, uniqueness, replay, and concurrent duplicate delivery.

Blocked by

  • #12 — Install a repository and prove webhook delivery
  • #13 — Activate a repository Review Policy
## What to build An eligible Forgejo pull-request event creates durable, deduplicated review intent atomically and makes that queued work visible to Temper Operators. ## Acceptance criteria - [ ] Supported open, reopen, and revision events normalize into a review request for an exact repository, pull request, and head SHA. - [ ] Delivery receipt and durable review-request creation commit atomically, so accepted work cannot disappear before enqueue. - [ ] The request freezes references to the effective Review Policy, Reviewer Profile revisions, and provider configuration. - [ ] Duplicate deliveries and equivalent automatic requests for the same revision do not create duplicate work. - [ ] Ineligible events are recorded as safely skipped with a reason and do not enqueue review work. - [ ] Operators can see the delivery, resulting request, trigger, revision, and queued state without seeing raw repository content. - [ ] Real-PostgreSQL tests cover atomicity, uniqueness, replay, and concurrent duplicate delivery. ## Blocked by - [#12](https://git.caleb-brown.dev/caleb-brown/temper/issues/12) — Install a repository and prove webhook delivery - [#13](https://git.caleb-brown.dev/caleb-brown/temper/issues/13) — Activate a repository Review Policy
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
caleb-brown/temper#14
No description provided.