Back to inline

The change, in the order it was built

A large pull request arrives as an alphabetical file list, which is the one order nobody wrote it in. inline reorganizes a reviewed diff into ordered layers, each with a note on why it exists, and hosts it behind a link posted on the pull request.

Layers, not
a file list

Schema before persistence, persistence before the endpoint, the endpoint before its tests. Each layer carries a short recap of what it does and which findings landed inside it, so a reviewer can start where the risk is.

Change stack4 layers · 21 files
  1. 1Schema
    idempotency_keys table
  2. 2Persistence
    key insert + unique index
  3. 3Endpoint
    charge path rewiring
  4. 4Tests
    replay + concurrency cases
src/charges.ts
114 async function charge(req: ChargeRequest) {
115 const key = req.headers['idempotency-key'];
116 const existing = await keys.find(key);
117- const charge = await stripe.charge(req.amount);
117+ await keys.insert(key); // unique index
118+ const charge = await stripe.charge(req.amount);
119 return charge;
Why this layer

The key has to land before the money moves, so a concurrent retry loses the unique-index race instead of charging twice.

Included

Public share linkssigned tokens, opened straight from the PR comment
Ask inlinechat grounded in that exact diff, layers and findings
Unanchored findingsanything that could not be pinned to a line still surfaces here
Wireframe recapsUI changes get a mockup of the before and after

Put it on one repository

Connect GitHub, enable a repo, and the next pull request opened gets a review.