RefundBrief
Review cancellation evidence, record your interpretation, then explicitly approve an action. The downloadable judge build uses stored AI output and simulated payments; connected owner mode uses PayPal Sandbox.
Inspiration
A small service-business owner may need to compare a booking record, cancellation message and policy before deciding what to do. The useful outcome is sometimes a request for more evidence. RefundBrief keeps that uncertainty visible before a payment action.
What it does
AI organises source passages and proposes questions. Owners inspect the originals, consider each linked passage and record an interpretation: still unresolved, discretionary judgement, a conclusion with a cited basis, or an issue excluded as not material. A matching quotation establishes where text came from; it does not prove the interpretation or decide entitlement.
In the fictional policy-conflict example, the sources describe 48-hour and 24-hour notice periods, with no accepted policy version supplied. The complete original model output is preserved, including a redundant interval question. The owner can explain why it is not material rather than silently deleting it.
The owner chooses a refund, no refund or clarification. Non-payment outcomes save a local reason without messaging the customer. Refund amounts begin blank. A separate confirmation shows the amount, mode, owner rationale and selected cited basis. The model has no payment tools; its prompt instructs it not to recommend amounts.
How we built it
React and TypeScript provide the interface; a loopback Express server and Node SQLite store sources, review history, approvals and operation state. Anthropic Messages with claude-sonnet-5-5 was used for the original remote Claude outputs recorded on 4 November 2026. The judge build reuses stored fictional output; the current neutral prompt has not undergone a new full remote evaluation.
PayPal Sandbox integration includes OAuth, capture and order inspection, merchant/GBP/refundable-balance checks, refund submission and refund-status lookup. Approvals bind the evidence, brief and review versions. Stable operation keys and a final evidence check immediately before dispatch are intended to contain the payment action. Pending and unknown outcomes block another request and require reconciliation.
Separately dated technical evidence from 4 November records a GBP 10 capture and a separately approved GBP 1 refund. A saved, separate PayPal GET matches the refund identifier, GBP 1.00 and COMPLETED status. An earlier pre-send refusal is preserved without a refund ID; its exact cause is unknown. These are agent-controlled sandbox checks, not production funds or customer bank receipt. No additional refund is needed for judging or recording.
How judges can try it
The free local build opens the policy-conflict review fixture automatically. It uses stored AI output and simulated payments, disables external accounts/fresh generation/real-case creation, and creates a fresh fictional workspace on every launch. It needs Node 22.13+ (22.x) or 24+, npm and a browser; no funded AI or PayPal account. Complete setup commands and limits are in README#judge-testing in the submitted source repository. Dependency installation needs internet; the demo makes no model, payment or account requests at runtime.
AI and development tools
Claude supplied the original product inference. Codex assisted research, planning, implementation, testing, release preparation and submission drafts. Claude Code assisted implementation and bounded critique, including later subscription-based product/UI/entry/submission reviews. Those reviews do not constitute whole-project security or human-usability assurance. OpenAI Image Gen assisted visual reference/logo exploration; the working interface is React/CSS. No optional hackathon sponsor integration is used. Local Kokoro-82M (kokoro-onnx, stock British male voice bm_daniel) generated the demonstration narration. HyperFrames composed the video; FFmpeg finished and verified the encode. Kokoro is used for video production only, not product inference. Optional ChatGPT connection code exists in owner mode, but live consent/inference is unverified.
What remains uncertain
The original 16 fictional remote outputs proposed 33 issues and passed schema/exact-quote checks, not semantic correctness, materiality or coverage. Case 14's evaluator-revision error was corrected offline without a provider retry. Human semantic acceptance remains UNMEASURED; the representative pilot is NOT_RUN. We make no measured accuracy, time-saving, production-readiness, general-security or whole-app accessibility claim. The prototype is single-owner, loopback-only and GBP sandbox only, with one refund per capture. The original GB sandbox buyer-approval restriction remains unexplained; the separately configured US sandbox technical run does not explain that restriction.
A controlled fake-response probe identified a refund-status lookup hardening gap. Published version 1.0.1 now requires an exact, non-empty returned refund ID matching the requested ID before reconciliation can change state. Native adapter/route/SQLite regressions retain pending/unknown blocking and stable keys on rejected identity. The verified archive passes 193 tests and the complete isolated simulation; no actual provider mismatch, historical cause, new model evaluation or refund is claimed. Prior release and historical records remain preserved. Codex Security Cloud was not run and no cloud security clearance is claimed.
Built With
- anthropic-claude
- claude-code
- codex
- express.js
- paypal
- react
- sqlite
- typescript
- vite