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.
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 (test suite): PASS — your test suite ran and passed. All three gates verified.
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.
A reviewer scanning a PR needs the literal state before the narrative. So this one block inverts the site's usual ordering deliberately.
No apology, no hedge, no exclamation. The block states the fact, quantifies what was verified, and hands the reviewer a next action.
The template is not adaptive. A section is never dropped because it had nothing interesting to say — an empty row is itself information.
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.