A green quickrun can test the twin while leaving your app untested.
Replit says the Paddle checkout works. The confirmation email appears. A green quickrun can still leave the app untested.
That is because the quickrun exercises a FetchSandbox workflow against a provider twin. It does not call the Replit checkout, webhook handler, database, or email path. You can have a healthy twin and an app that still grants access after a declined payment.
Make the app part of the test
Connect FetchSandbox through Replit's hosted MCP URL, https://fetchsandbox.com/mcp/v1, with a Bearer key. Then ask the agent to call validate_integration for Paddle and Resend with the app's reachable URL. That starts an app-level session and returns the twin configuration and available probes for that run.
The Replit app must actually use those temporary twin hosts from its development or disposable test configuration. Keep live provider keys out of this run. If the test needs to deliver a webhook, the app's webhook route must be reachable from FetchSandbox; a private preview that redirects to a login page is not reachable evidence.
Next, arm one probe the session returned, exercise the matching action in the app, and submit that session_id, the run_id returned by arming, and the probe back to FetchSandbox. That links the provider request to what the running app did. A green quickrun is useful for checking the twin workflow, but it is not a substitute for this path.
Inspect the run's delivery attempts and checkpoints. A redirect, signature rejection, or missing app observation means the relevant check did not run; repeating the same setup does not turn it into a pass. Fix reachability or configuration first, then start a fresh run when its temporary session has expired.
Try this instruction in Replit:
Use FetchSandbox MCP validate_integration for Paddle and Resend
against this app's reachable test URL. Configure only the returned
temporary twins in the test environment. Show the session_id and probes.
Arm one with session_id, exercise the app flow, then submit session_id,
run_id, and probe. Do not call quickrun an app test, and report every unmeasured
check plainly.
If the app unlocks a membership after a failed payment, inspect the membership state—not just the HTTP 200. If a receipt rule is unmeasured, the run did not establish that behavior. A useful MCP workflow makes that difference visible; it cannot turn missing evidence into a pass.
When the code moves into a repository, carry the relevant deterministic checks into CI and attach the run receipt to the change. The agent-to-pipeline workflow makes the result reviewable after the Replit chat is gone.
The rule is simple: a green twin workflow proves the twin path; only observed app traffic and measured app behavior prove the app checks that ran.













