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 7 Nov 2026 (from the git history)

A gate 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 sandbox 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 capture the authorization 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: no capture and no void of a card authorization 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 hammer. 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 confirm prompt (assist mode). See voice and the confirm gate.

What changes the decision

  • G3 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.
  • G5 stays PARTIAL: voice bids stay behind the confirm prompt. The payments decision is unchanged.
Edit on GitHub

Last updated on