Desktop review workspace

Know what needs
your review.

PRamatic keeps review requests, moved heads, findings, and conversations in one read-only workspace—without posting anything for you.

Explore the product
Read-only GitHub Local reports Copy-only drafts
Inbox
OPEN3
craft/monorepo

Make retries boring again

#428 · Review requested

2 findings
craft/monorepo

Move billing jobs to the queue

#421 · Authored by you

Clean
studio/web

Tighten session boundaries

#98 · Previously involved

Head moved
craft/monorepo#428

Make retries boring again

PRamatic summary

Found 2 actionable issues across 14 changed files.

100%
Findings 2ConversationDiffChat
P1

Stop retrying after the terminal attempt

jobs/retryPayment.ts:42–48

The 429 branch re-enqueues forever. A provider incident can quietly turn into an immortal queue.

Local draft commentCan we apply the configured attempt cap here?
P1 actionable
head verified
Explore
01 / QUEUE

A review queue
that stays current.

Review requests, your own PRs, stale reports, and conversations that need attention land in one ordered queue. Refreshing archives what is merged or already approved.

  • Suggested review list with search and filters
  • Head-change detection and force re-review
  • Automatic merge and approval archiving
Review queue
synced now
Open 5Needs attention 2My PRsArchived
KM
craft/monorepo · #428Make retries boring again

Your review requested · head moved 4m ago

Re-review
AP
studio/web · #98Tighten session boundaries

Approved by you · auto-archiving

Approved
YS
mobile/ios · #71Unify push-notification receipts

Merged · moving out of your way

Archived
One refresh, less archaeology.Merged and approved PRs leave the open queue automatically.
jobs/retryPayment.ts
+3-1
@@ -39,4 +39,7 @@ async function retryPayment
3939 const delay = retryAfter(response)
40+const terminal = attempt >= maxAttempts
4041 if (response.status === 429) {
42+ if (terminal) return markFailed(job)
4143- return enqueue(job, delay)
44+ return enqueue(job, withJitter(delay))
4245 }
P1Terminal attempts still re-enqueue

This path needs the configured attempt cap before it schedules more work.

02 / DIFF

Findings anchored
to the code.

Read a GitHub-style diff, move from a finding to the exact line, and open that location on GitHub when you are ready to comment.

  • Rendered file-by-file diff
  • Finding-to-line navigation
  • One-click handoff to GitHub
03 / THREADS

Every thread
in one place.

The conversation view follows mentions, replies, change requests, and review threads across repositories—without making you revisit every pull request.

  • Open and resolved review threads
  • Mentions and conversations involving you
  • Hide, collapse, or archive the quiet ones
ConversationsAcross every PR you touched
Search threads
KM
craft/monorepo #428 · line 42“Should this use the existing backoff helper?”

@you were mentioned · 2 new replies

2
JE
studio/api #216 · generalChanges requested on your PR

Unresolved · updated 18m ago

Needs you
AP
mobile/ios #71 · line 88Receipt format is settled

Resolved · collapses quietly

Resolved
3 conversations need you
Retry behaviorcraft/monorepo #428 · finding context
SHA 8d31c5a
You

Is this still a bug if the queue lease expires first?

PRamatic

Yes. The lease controls who owns the current attempt; it does not cap future attempts. The 429 branch schedules a new job before the lease matters.

retryPayment.ts:42
Ask about this PR or finding…
04 / CHAT

Ask with the PR
already attached.

Open separate chats for a pull request or a specific finding. Each answer is grounded in the exact reviewed head, with a direct route back to the diff.

  • PR- and finding-scoped chats
  • Multiple named conversations per PR
  • SHA-bound context that rejects stale heads
05 / SECURITY

Read-only
by construction.

Reports and drafts stay on your device. Review context is sent only to the AI provider you explicitly choose. The boundary is visible before the first review.

GitHub is read-only

No posting, approval, merge, push, or repository mutation action exists in the app.

Fixed read operations
Reports stay local

Findings, drafts, receipts, preferences, and caches live on your device and can be exported or deleted.

Telemetry off
AI flow is explicit

Selected metadata, diffs, source excerpts, policies, and chat context go only to the provider you select.

Consent required
Secrets stay native

Provider keys and GitHub App credentials use the system credential store and never enter report requests or diagnostics.

Native credential storage
GitHub readSanitized workspaceChosen AI providerLocal report
Version 0.2.3

Download the
desktop preview.

Available for macOS, Windows, and Linux. Keep the same review workspace on the desktop you use.

Release disclosures
PRamatic desktopVersion 0.2.3 · Mac · Windows · Linux
  • Read-only review inbox
  • GitHub activity notifications
  • Local reports and drafts
Universal Mac · Windows x64 · Linux x64. Choose your download for requirements.
06 / SUPPORT

Free to use.
Built to stay useful.

PRamatic is an independent project. If it saves you from a few browser tabs—or one stale review—a coffee helps fund signed releases, compatibility work, and the small fixes that keep review flow calm.

Fuel the next release One-time or monthly support via Buy Me a Coffee.