Open sourceAutonomous bug resolution — human-controlled

Show us the bug.Test the fix.

Punchbacks captures what went wrong in the browser, reproduces it in a sandbox, lets your chosen model repair the code, deploys an isolated preview — and asks the original reporter to confirm the fix.

See how it works
01
script tag to install
06
gates in the loop
04
verification levels
00
auto-merges, ever
punchbacks / repair loop
live loop
demo-store.vercel.app/cartREC

Your cart

Coffee Mug

₹799

12 +
Total₹799
“Quantity went to 2, but the total stayed ₹799. Expected ₹1,598.”
Send report →PB-142 captured

Watch a real report travel the loop — hover to hold a step, click the rail to jump.

PlaywrightAI SDKOpenAIAnthropicOpenCode GoGitHub AppVercel PreviewsrrwebOpenSandboxHonoPostgreSQLpg-bossDrizzleBunMCPPlaywrightAI SDKOpenAIAnthropicOpenCode GoGitHub AppVercel PreviewsrrwebOpenSandboxHonoPostgreSQLpg-bossDrizzleBunMCP

The closed loop

Six beats from bug to verified fix

Every report travels the same evidence-backed gauntlet. Nothing ships on vibes — each gate must pass before the next one opens.

01

Capture the truth

A user hits “Report a bug”, re-runs the failing interaction, and submits. Punchbacks records the action trace, console, DOM and safe network metadata — masked before it ever leaves the browser.

no account needed

02

Reproduce, or it didn't happen

The trace becomes a deterministic Playwright test. Only when it fails against the base revision for the reported reason does the report move forward.

no blind repairs

03

Repair behind glass

Your configured model investigates an isolated checkout inside OpenSandbox: deny-by-default egress, resource limits, bounded attempts and cost budgets. It patches the root cause, never the test.

policy-enforced tools

04

Draft PR with receipts

A punchback/<report> branch becomes a draft pull request carrying the root cause, the diff, and the full verification checklist. It is never auto-merged.

human merge authority

05

Preview + automated replay

Vercel builds an isolated preview of the branch. Punchbacks replays the original interaction against it — the exact clicks that failed must now succeed.

never production

06

The reporter decides

The person who hit the bug gets a tracking link: “Your fix is ready to test.” Their “It’s fixed” is the final gate — the acceptance test is human.

loop closed

The new development loop

Software development has entered a new generation.

The old loop turns a production bug into a ticket. Punchbacks turns the same moment into evidence, a tested change, and a decision-ready pull request.

One continuous system

From user evidence to human-verified code

Report

production truth

Reproduce

failing proof

Repair

bounded agent

Preview

isolated replay

Verify

human sign-off

Observed

Real interaction, not a reconstructed ticket

Contained

Repair runs behind enforceable boundaries

Accountable

A person still decides what ships

Built like a rig, not a demo

Everything a fix needs to be believed

Capture, isolation, evidence, and human sign-off — engineered as one pipeline instead of four disconnected tools.

Privacy-first recorder

Passwords are never captured. Elements marked data-punchback-private are masked, request bodies stay off by default, and reporters preview exactly what leaves their browser.

password••••••••••
card number•••• •••• •••• 4242

masked client-side · v1 redaction

Sandboxed by default

Every repair runs in an ephemeral OpenSandbox container: deny-by-default egress, CPU/memory/TTL limits, credentials vaulted, workspace destroyed after the run.

Proof, not vibes

The generated regression test must fail on the base revision for the reported reason — and pass on the patch. The existing suite stays green too.

Draft PRs with receipts

Root cause, minimal diff, artifacts and the verification checklist — delivered as a draft pull request your team reviews like any other.

Original failure reproduced

Regression test passes

Existing suite passes

Replay verified on preview

Reporter confirmation → posted to PR

Watch every repair live

The dashboard streams each run over SSE: actions, console, agent steps and test results on one timeline, with the original rrweb replay beside the fixed one.

Open source, self-hostable

Docker Compose brings up the whole control plane. A read-only MCP server exposes reports and repair evidence to your favourite agent client.

$ docker compose up --build

Bring your own intelligence

Your model. Your key. Our guardrails.

Connect OpenAI, Anthropic, or OpenCode Go, choose a model per project, and let Punchbacks route every repair through the provider you trust.

Encrypted at rest

Versioned AES-256-GCM encryption keeps credentials write-only.

Decrypted just in time

The worker opens the key only when the selected repair starts.

Never inside the sandbox

Provider credentials stay in the control plane, away from repository code.

project / ai repair
ready
O

OpenAI

credential + model

A

Anthropic

credential + model

OC

OpenCode Go

credential + model

Encrypted credential vault

selected at project level

repair agent
Model choice changes. The verified pull-request contract does not.

Punchbacks verified

Four gates. No shortcuts.

A fix only earns the stamp when technical, behavioural, and human verification all pass. Green CI alone doesn't count.

1

Reproduced

The original failure is recreated against the base revision.

2

Test verified

The new regression test and the existing suite pass on the patch.

3

Replay verified

The original interaction succeeds against the isolated preview.

4

Reporter verified

The person who hit the bug confirms it is actually gone.

Punchbacks verified

Hard guardrails

An agent with a punch, not the keys.

Never merges

Draft PRs only. Merge authority stays with your engineers, always.

Never touches production

Repairs and verification happen on isolated previews and sandboxes.

Bounded by policy

Attempt caps, wall-clock limits, token budgets, denied paths — enforced by the host, not the model.

No blind fixes

If the bug can't be reproduced, it's marked and handed back with evidence — no speculative patches.

The bug report no longer enters a backlog. It punches back.

Add one script tag to your site. The next bug your users hit comes back as a reproduced, tested, preview-deployed, reporter-verified pull request.

See the loop again