[/]patchward
the verification receipt

Every PR states which checks ran. Including the ones that didn't.

A bounded draft PR with a recorded verification receipt is what Patchward always delivers. The receipt is not a summary written after the fact — it is the gate ledger itself, printed into the PR body in a fixed order, every row present every time.

gate 3 · two exits

Both outcomes are real. Both are drawn the same size.

Runs against your real test suite in the normal (CLI-delivered) case. On the hosted webhook path, when no test runner is present, Gate 3 skips and the PR discloses this explicitly rather than proceeding silently or failing the whole fix.

gate 3 · normal case
✓ pass

Gate 3 (test suite): PASS — your test suite ran and passed. All three gates verified.

gate 3 · disclosed edge case
– skipped

Gate 3 (test suite): SKIPPED — no test runner was available in this environment, so this fix was not validated against your tests. Gates 1 and 2 passed: the flagged rule no longer fires, and the change stays inside the authorised lines. Run your suite before merging.

// status is never colour alone — every state ships as word + icon + colour.
anatomy of the disclosure

Four parts, in this order, no hedging.

A reviewer scanning a PR needs the literal state before the narrative. So this one block inverts the site's usual ordering deliberately.

01The literal stateSKIPPED or PASS — first, before any explanation
02The reasonno test runner was available in this environment
03What was verifiedGates 1 and 2, named explicitly — not "partially checked"
04A reviewer actionrun your suite before merging

No apology, no hedge, no exclamation. The block states the fact, quantifies what was verified, and hands the reviewer a next action.

the pr body

Fixed sections. Every row, every time.

The template is not adaptive. A section is never dropped because it had nothing interesting to say — an empty row is itself information.

pr body · fixed section order
titlefix: <plain description> (<tool> <rule-id>)
outcomescanner and rule, affected file:line, the bounded intent of the fix
findingwhat fired, and why it matters in this repository specifically
changethe exact behavioural change — including what was deliberately not changed
receiptGate 1, Gate 2, Gate 3 — three separate rows, never collapsed into one
reviewer notesresidual uncertainty, repo conventions to check, the smallest useful question
provenancegenerated and verified by Patchward — no invented run identifier
what verifies the verifier

565 passed, 3 skipped · 91.20% coverage

The gate pipeline is deterministic code, and it carries its own test suite. That figure is quoted from the canonical facts ledger, with its verification date attached — not hand-typed into this page.

The limit worth stating plainly: Free, self-hosted CLI. Install it yourself (`uv tool install patchward`) and run it with your own Anthropic API key and GitHub token — your code and credentials never pass through Patchward's own infrastructure. There is no hosted service, no paid tier, and no sales process.. See/limits for the rest of what this does not yet do.