Inspiration
A workshop owner asks an assistant to buy supplies. Checkout goes quiet after payment. Did it succeed? Starting over could buy the same kit twice. CommitGuard, a Nextarra project, focuses on that uncertainty: an agent proposes, a person commits, and provider evidence closes the loop.
What it does
Describe bicycle workshop supplies and a budget. The AI proposes catalog quantities, explains assumptions, and asks clarification questions when the request is unclear. The owner reviews and approves an exact quote. PayPal payer approval is a separate step. Before capture, deterministic policy checks merchant, items, amount, currency and intent against the approved commitment.
If a capture response disappears, the app records an unknown outcome and blocks another capture and replacement checkout in the same browser session. Reconciliation reads the original order and accepts only matching completed capture evidence. Pending stays pending; mismatches require review. This is a bounded workflow guarantee, not a universal exactly-once claim.
How we built it
Python 3.11+ standard library, SQLite persistence, a local HTML/CSS/JavaScript interface, PayPal Sandbox Orders v2 and OAuth, and structured OpenAI Responses using gpt-5.6-terra. The model has no payment tools. Independent server policy validates its output. Durable reservations, quote fingerprints and stable request IDs preserve decisions across failures and restarts. The project is owned by Nextarra; the source is MIT licensed.
Challenges and lessons
A timeout is not proof that payment failed. We separated the app state from provider evidence, tested response loss after successful capture, and corrected recovery and cross-site browser-session behavior. Native Windows testing also required portable process locking. The main lesson: recovery must first establish what happened, not repeat the purchase.
Verified results
125 public offline tests pass. Four real OpenAI planning requests succeeded, including an unclear brief that produced questions instead of a purchasable quote. Real PayPal sandbox capture and combined real-model/sandbox recovery were verified. In the combined test, a harness deliberately discarded a successful capture response and the app recovered the matching receipt by reading the original order. No real money was used.
The video distinguishes continuous simulated recovery from separate recorded real AI and sandbox evidence. Fixture counters are simulator evidence. Actual webhook delivery has not been verified; webhook contracts are tested with mocked transport.
Run and evaluate
Clone https://github.com/Nextarra/commitguard and run python -m commitguard.server from the repository root. Open http://127.0.0.1:8765. Python 3.11+ is required; no third-party runtime packages or build step. Fixture rehearsal is free and needs no API account, but its planner and payments are simulations.
Full external testing requires your own authorized OpenAI model access and PayPal sandbox app, seller and buyer credentials. See README.md, docs/JUDGE-RUNBOOK.md and docs/LIVE-VERIFICATION.md for configuration, mode separation and limits. Environment files are not auto-loaded. The tested model is gpt-5.6-terra; real-model validation is capped at ten attempts with a persistent allowance ledger. Provider usage may incur charges under your own account. No owner keys are public or distributed. Access questions: [email protected].
Limits and next steps
A fictional catalog, USD, one supplier, per-quote fixture stock, no fulfillment, tax calculation, refunds or live payments. The server is loopback-only and is not a production hosted service. Next steps are workshop feedback and production identity and operational design before any real-money use.
Log in or sign up for Devpost to join the conversation.