Skip to content

PayPal sandbox only. No real money moves.

ProveProof

Gates G0 to G5

Each sandbox gate, its result and the caveat that goes with it.

Page last changed 9 Nov 2026 (from the git history)

A is closed only when its status is PASS or FAIL with a recorded decision. A gate without evidence reads NOT RUN. This table is generated from docs/GATES.md when the site is built.

GateQuestionResultRun
G0sandbox app and buyer accountsPASS2026-11-04 by harshbhx (workflow gate-g0, run 41815593520, branch gate/g0)
G1partial capture and remainder releasePASS2026-11-04 by harshbhx (wallet); 2026-11-05 by harshbhx (card, run G1-20261105T123116Z)
G2card and guest AUTHORIZEPASS2026-11-05 by harshbhx (owner laptop, run G2-20261105T115228Z)
G3honor period versus validity and reauthorizeIN PROGRESSReal probe. Day 0 was 7 Nov 2026 03:06 UTC. Final reading about 12 Nov 06:17 UTC.
G4real webhook signature verificationPASS2026-11-05 by harshbhx (workflow gate-g4, run 41947655945)
G5STT accuracy on noisy bidsPARTIAL2026-11-07, cached eval over recorded provider outputs (PR #1940, issue #1864; second clip set PR VOI-01; error analysis, parser fixes and option trials PR VOI-02)

G0: sandbox app and buyer accounts

G0 PASS

The app authenticates (HTTP 200, payments scope) and can create an AUTHORIZE order (HTTP 201 CREATED). Run 4 Nov 2026.

G1: partial capture and remainder release

G1 PASS

After a final the closes as CAPTURED and the order COMPLETED, and a later void is refused with PREVIOUSLY_CAPTURED. Run for a wallet buyer on 4 Nov and a card-funded PayPal account on 5 Nov 2026.

G2: card and guest AUTHORIZE

G2 PASS

A wallet buyer and a guest with a sandbox card were both authorized through the PayPal JS SDK v6 (5 Nov 2026). Authorize only in G2 itself. Later, a 1.00 partial capture was accepted on the guest card authorization in the early G3 probe (9 Nov); no void and no final_capture ran.

G3: honor period versus validity and reauthorize

G3 IN PROGRESS

The planned fallback if the window is short: capture within the verified validity window and reauthorize before the . That is the plan, not a result.

G4: real webhook signature verification

G4 PASS

Six real deliveries, including a capture and a void, each verified SUCCESS through PayPal's verification endpoint with the raw body spliced into the request (5 Nov 2026). Rejecting a tampered event is covered against the fake only.

G5: speech accuracy on noisy bids

G5 PARTIAL
Clip setProvidernExactWrong accept (limit 0.05)ConfirmMissed bid
eSpeak, noise-freeDeepgram nova-3241.0000.0000.2920.000
eSpeak, noise-freeGroq whisper-large-v3-turbo with a bid prompt240.9230.0000.3330.000
Human-like synthetic voice, noise-freeDeepgram nova-3241.0000.0000.2920.000
Human-like synthetic voice, noise-freeGroq whisper-large-v3-turbo with a bid prompt240.9230.0000.3330.000

Status PARTIAL. After the evaluation label fix, parser fixes and provider options, both providers are within the limit on both clip sets, but the fixes were chosen on these same clips. The clips are synthetic and noise-free; there is no real-room or noisy-room test. Decision: spoken bids go through the (assist mode). See voice and the confirm gate.

What changes the decision

  • shows a validity window shorter than the longest planned auction: auctions are capped, or the decision moves to NO-GO for long auctions.
  • G3 passes with a window that covers the planned auctions: GO for card and wallet.
  • stays PARTIAL: voice bids stay behind the confirm prompt. The payments decision is unchanged.
Edit on GitHub

Last updated on