Start here (judge path)
A short path through GAVEL for judges, with the status stated plainly.
A short path through the project. Everything is PayPal sandbox only. A bid is a hold (an authorization); nothing is charged before capture at the hammer.
Status, in four lines
- G0 PASS G1 PASS G2 PASS G4 PASS ran against the real PayPal sandbox. Committed run logs exist for G1, G2 and G4; G0 is an Actions run log only.
- G3 IN PROGRESS: the honor-period probe started on 7 Nov 2026 at 03:06 UTC and its final reading is about 12 Nov. No result is claimed yet.
- G5 PARTIAL: speech accuracy is partial (synthetic, noise-free audio, fixes chosen on the same clips, no real-room test), so every voice bid waits for a confirmation.
- Settlement of a whole auction and crash recovery are verified with the project's fake PayPal. The 30 day run is SIMULATED.
The five minute path
The scripted path below is the intended flow. It has not yet been checked end to end against the hosted web app, so read it as the intended flow.
| Step | Persona | What to do | Expected outcome |
|---|---|---|---|
| 1 | Judge | Open the hosted web URL (see above). | The landing page shows "Start a demo auction". |
| 2 | Judge | Press "Start a demo auction". | A demo room opens with a link for each role. |
| 3 | Auctioneer | Open the console link. | The console shows the lot and its controls. |
| 4 | Bidder | Open a bidder link in a second tab and place a bid. | The bid shows on the big screen. A bid is a hold; nothing is charged. |
| 5 | Auditor | Open the audit trail link. | The ledger entries show, chained by hash. |
Steps 1 and 2 are covered by packages/e2e/specs/judge-walkthrough.spec.ts on the fake stack only. Steps 3 to 5 have no automated check.
What you can do right now
- Read How it works: one diagram, where the money is at each moment.
- Read Crash recovery: the page for a skeptical reader.
- Read Proof: every gate, with its caveats.
- Run the fake-PayPal demo locally if you have Node 22.
Verify the audit trail yourself
A replay bundle carries a redacted, hash-chained public export of the ledger. verifyPublicExport in @gavel/engine checks its version, sequence numbers, links and hashes and returns { ok: true } or the first bad index and the reason (bad_hash, bad_prev, bad_seq, bad_version or truncated). Any edit to an entry makes the result ok: false at that index.
- docs/JUDGES.mdthe judge walkthrough this page is distilled from
- packages/engine/src/ledger/public-export.tsverifyPublicExport
- packages/engine/test/public-export.test.tsworking calls, including tampered and truncated chains
Last updated on