OneShot

All packsOffline Sync EngineSolve

postgres advisory lock serialize transaction commit order race

Two transactions can take sequence numbers out of commit order

Transaction A takes sequence 100, transaction B takes 101 and commits first -- a client that pulled through 101 never sees seq 100, because nothing serialized commit order against sequence order.

This is one of the things Offline Sync Engine already handles. Let your app keep working with no internet, then merge the changes correctly when it reconnects.

Buy for $992 of 3 clean-room builds passed · full refund if it fails on your machine

Is this you?

If two push transactions run concurrently, transaction A might grab sequence number 100 while transaction B grabs 101 -- and then B commits first. A client pulling changes in sequence order, having already paginated through 101, has no reason to go back and check for 100: from its perspective it's already past that point, but transaction A's row commits moments later at a sequence number the client has already scrolled past and will never revisit.

Why this one is easy to get wrong

Handing out sequence numbers via a database sequence and letting transactions commit whenever they finish is the default, low-friction way to build a paginated feed, and it works correctly under light load where transactions rarely overlap -- the race is a genuine concurrency bug that only manifests under simultaneous writes, which single-threaded manual testing essentially never produces.

What you get instead

The pack pins a single fix rather than leaving this as an open risk: every push transaction opens with SELECT pg_advisory_xact_lock(4217), serializing all pushes through one lock so sequence order and commit order become the same thing by construction. The documented ceiling is real -- this caps push throughput at roughly hundreds per second -- and the pack states the upgrade path explicitly (fencing pulls at the oldest in-flight transaction) rather than suggesting the lock be removed to fix throughput.

Source: ARCHITECTURE.md 'Pagination (decided)' — checkable in the pack you receive

How you actually use this

You don’t install a library or wire up an SDK. Your own coding agent builds the code in your project, and you keep it — no runtime dependency on us.

  1. Step 1

    Download and unzip

    You get a folder: the docs that tell an agent what to build, a starting skeleton, and the test suite that decides when it's done.

  2. Step 2

    Open it in Claude Code or Cursor

    Point your coding agent at the folder. Nothing to install, no account with us, no API key.

  3. Step 3

    Paste one prompt

    The pack contains the exact prompt. Paste it as your first message and leave it alone — it works through the build itself, choosing a cheaper or stronger model per task.

  4. Step 4

    Run ./verify.sh

    One command. It prints a pass or fail for every check. Green means the build is done — the same script we ran to produce the receipt on this page.

Typical build: about 12 minutes of your agent working, mostly unattended. Then you integrate the working module into your app the way you would any code you’d written yourself.

Why you can believe this

2 of 3 runs passed

We ran this pack from an empty folder 3 times and published exactly what happened — every check, the model, the token cost, the wall time. Not a testimonial, and not our opinion: the same verify.sh you run yourself. Read the full receipt →

Buy for $9914-day refund if verify.sh fails →

Related problems