尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Independent human review, with the power to correct an AI decision.
Second Instance gives customers a route to independent review when an AI denies a refund for a digital product. Reviewers apply the merchant's written policy; a separate executor can carry out an approved refund on Whop within the merchant's limits.
Open the product · Try the fictional store · Agent ledger · Registered protocol
In Gartner's July 2024 survey figure, 60% of respondents to its AI-concerns question worried that reaching a person would become harder (n=5,140; people unaware of AI were excluded from that figure). Gartner's original release and survey figure.
Whop already provides a Resolution Center for refund requests and appeals. Its current documentation gives a seller seven days to respond before Whop steps in on an unanswered case. That process can take days after a problem arises. Second Instance adds a policy-based review route at the point of an AI denial, while preserving the customer's existing Whop and card-issuer rights. Reviewer availability determines the actual turnaround; we promise no instant human result. Whop Resolution Center documentation.
The demo store, Example Academy, is fictional. Its orders carry no real payment, so nothing is refunded from them.
/cases/<id>), which refreshes every 3 seconds.Decisions, evidence and refunds run on the background worker. If no worker is running, a request stays at "reading the policy" until one starts.
The Refund Desk makes seven Claude calls per request:
The customer's statement is passed as delimited, untrusted data and is never followed as an instruction.
flowchart LR
Customer[Customer or merchant] --> Web[Next.js on Vercel]
Web --> DB[(Neon Postgres)]
DB --> Worker[Single Node worker]
Worker --> AI[Claude Opus 5.5]
Worker --> Evidence[Solari browser and Exa terms]
Worker --> Terac[Terac MCP reviewers]
Terac --> Task[Neutral reviewer page]
Task --> DB
Worker --> Executor[Separate refund executor]
Executor --> Whop[Whop payments]
Whop --> Hooks[Verified webhooks]
Hooks --> DB
DB --> Reports[Read-only Python analysis]
Vercel handles short web requests. Neon stores cases, jobs, decisions, evidence, executions and the audit ledger. One long-running worker handles provisioning, decisions, evidence, recruitment polling and execution. Claude Opus 5.5 uses medium effort for decisions and high effort for development learning. Python uses SciPy, statsmodels, scikit-learn and Matplotlib for the registered analysis.
The frozen prepared-case classification limit is $199 for both model versions. This does not authorize refunds: demo merchant execution limits remain $100 per case and $300 per day.
| Path | Purpose |
|---|---|
/ | Product page with live Whop checkout for the Pilot and the Human Review Pack |
/refund | Demo refund request for the fictional store |
/cases/[id] | Status timeline: request, AI decision, appeal, evidence, human verdict, outcome |
/task | Neutral reviewer page opened from Terac; eight cards per reviewer, each saved as it is answered |
/ledger | Public ledger of the agent's decisions and the review round's status |
/demo/course/ok, /demo/course/broken, /demo/terms | Fictional store pages checked by the evidence agents (the broken page returns a real 404) |
POST /api/cases, GET /api/cases/[id], POST /api/cases/[id]/appeal | Create a request, read its status, request human review |
GET /api/task/session, POST /api/task/response | Reviewer assignment and per-card answers |
POST /api/whop/webhook | Signature-verified, de-duplicated Whop events (?env=sandbox for the sandbox) |
GET /api/ledger, GET /api/evidence/[id]/screenshot, GET /api/health | Public ledger feed, evidence screenshots for public cases, health check |
| Path | Contents |
|---|---|
src/app/ | Pages and API routes (Next.js App Router) |
src/lib/refund-desk.ts, src/lib/llm.ts | The decision panel and the structured Claude call it uses |
src/lib/evidence.ts | Solari page check and Exa terms excerpt |
src/lib/governor.ts, src/lib/review-orchestration.ts, src/lib/terac-*.ts | Budget check and Terac recruitment, polling, approval and pause |
src/lib/learner.ts | Turns eligible development disagreements into interpretation notes |
src/lib/repo.ts, src/lib/db.ts, db/schema.sql | Database access and schema |
worker/index.ts, worker/runner.ts, worker/handlers/ | The job loop and its handlers: provision, decide, evidence, execute, review |
worker/executor.ts | The only code path that issues refunds |
scripts/ | Migration, seeding, case generation, baseline and v2 runs, learning, Terac and Whop setup, smoke checks |
data/ | Frozen policy, cases, assignments, v1 decisions and the registered protocol |
analysis/ | Read-only Python analysis, results and chart |
The ledger records decisions, reasons, costs, receipts and refusals, including:
The ledger shows recorded actions and attempts, not a guarantee that every operation succeeded. The public view omits internal audit metadata. Sandbox receipts are labeled and never count as live revenue. The merchant chooses the policy and spending authority; the agent does not change them.
These are enforced in code, not left to the model:
worker/executor.ts calls Whop's refund. It re-checks the final approval, the policy hash, the per-case and daily limits, payment ownership and dispute status, and uses an idempotency key so a request is never refunded twice. Models only propose decisions.0 of 11 reviewers completed by the registered 17:30 cutoff on October 24, 2026; 0 of 27 held-out cases have eligible human consensus. Terac required the screener and screening review recorded in Amendment 1, delaying invitations. All 48 automated test responses were excluded. Error rates, McNemar, reviewer agreement, kappa and the approval guardrail are unavailable; this is not a zero-error result. No learned v2 comparison is available and no improvement is claimed.
The baseline, assignments and registered input hashes are frozen and verified. The human panel remains pending. Answers saved after the cutoff remain outside the registered analysis, even when a late reviewer completes and is paid. See the cutoff result, status chart and plain-language result.
After the registered N=0 result, a timestamped follow-up note authorizes continuing the same prepaid eleven-place panel, with unchanged assignments, screening and eligibility. This separate window begins at the confirmed resume time and has an 18:10 ET hard stop on October 24, 2026. Its reports use analysis/results_followup.json and data/decisions_v2_followup.json; any findings are exploratory and do not replace the registered result above. Follow-up commands and exclusions.
We registered the evaluation before collecting human answers, fixing the policy, prepared case set, split, baseline decisions, reviewer assignments and decision settings. The model and three-stance, dissent-and-revote architecture stay fixed. Only interpretation notes and worked examples from eligible development feedback can change between v1 and v2; held-out human answers are used only by the analysis program.
The prepared set has 22 development cases and 27 held-out cases. The planned round assigns eleven reviewers eight cards each: five evaluation, two development and one rotating attention check. For each held-out case, the two prespecified primary reviewer slots define the reference. Consensus requires two eligible approvals or two eligible denials; split answers and requests for more evidence are ambiguous. Failed or missing attention checks make the reviewer's answers ineligible. Test responses are excluded, and spare/overflow ratings do not replace a missing primary rater or break a tie. Available answers from an incomplete reviewer remain eligible if that reviewer passed the attention check; completion and missingness are reported separately.
We compare v1 and v2 errors on the same consensus cases with exact two-sided McNemar, report wrong denials and wrong approvals separately, and require v2 wrong approvals to be no greater than v1 plus one. We also report Wilson 95% confidence intervals, reviewer agreement, Cohen's κ, gold pass rate, coverage, ambiguity, actual completions and every exclusion. A reduced error count counts as improvement only if the approval guardrail holds; p < 0.05 is the significance threshold. Otherwise any reduction is described as directional pilot evidence. Missing data or an unfinished v2 run never become zero-error claims.
These are synthetic disputes for a fictional store, with a small general-population reference rather than a legal ruling. Public Amendment 1 records the broad online-shopping screener required by the participant platform and its screening interview, which may reduce completions before the fixed cutoff. We analyze responses saved by 17:30 America/New_York on October 24, 2026, or the earlier delivery of all eleven primary reviewers. Both model versions use the same $199 classification limit for this prepared set only; merchant execution limits remain separate.
The results snapshot, chart and plain-language summary report whether collection and model outputs are complete. Quantitative conclusions belong to the cutoff-frozen data and completed v2 run; an interim snapshot is explicitly labeled.
| Frozen input | SHA-256 |
|---|---|
| assignment.json | d77b876c0cff715a9853825a59824eb476df51e56af51a0ae69455cef0d74a93 |
| cases.frozen.json | d48ac95bf219a98a40f9219482263f0d93a44032124c0c82fdac7d306b832662 |
| decisions_v1.json | e261015364c5efdfbc3064cbf0198c2f43ccc330f11883de226e01db401360db |
| policy.v1.md | f7a43b279cb717b6b94d578e060bf92c5fd86f7d3d3701a870f815cb4114bf5a |
| prepared-review.config.json | 36815b067145b1bc1a61a1f2d4731cd0cd64ea7c8174914d18c703ad7fd6c6bd |
Use Node.js 22 or later, npm and Python 3.13. Copy env.example to .env.local and fill the service credentials locally. The web app needs the database and app URL, merchant-key salt and relevant Whop credentials; evidence, review and learning operations additionally use Exa, Solari, Terac and Anthropic credentials. Keep secrets out of Git and command arguments.
npm ci
cp env.example .env.local
# Fill .env.local with your own service credentials.
npm run script -- scripts/db-migrate.ts
npm run seed:demo
npm run dev
Open localhost:3000. Run one worker in a separate terminal only if no worker already serves that database:
npm run worker
The Terac bridge uses an authenticated Claude CLI or the configured API-key mode. A web-only deployment does not run background jobs. Configure the Whop webhook for /api/whop/webhook; use ?env=sandbox for sandbox events with the matching sandbox secret. Real payments and recruitment require funded accounts and the relevant merchant/provider permissions.
For reproducible checks and reports:
npm run cases:check
npm run assignment:check
npm run lint
npm run build
python3 -m venv .venv
.venv/bin/python -m pip install -r analysis/requirements.txt
.venv/bin/python -m unittest discover -s analysis/tests -v
.venv/bin/python analysis/monitor.py
.venv/bin/python analysis/eval.py
Unit tests (Node's built-in runner) and service checks:
npm run test:desk # structured calls, Refund Desk, job runner
npm run test:review # baseline, budget governor, Terac data, completion-based approval
npm run test:cases # case schema and generation
npm run test:task # reviewer assignment, answers, registered protocol
npm run test:learn # learner input selection and output checks
npm run test:evidence # terms excerpts and URL checks
npm run smoke:services # live Exa and Solari checks (uses credits)
See reporting commands and eligibility rules. Existing prepared inputs and v1 outputs are frozen; checks verify them without regenerating them. Real learning requires eligible development feedback after the cutoff. With no feedback, skip learning and v2. Full v2 output and a matching frozen artifact are required for a paired comparison.
Operated by an AI agent; demo cases are fictional; sandbox refunds are labelled. Human reviewers are paid participants recruited through Terac, not employees or legal adjudicators. Refunds use merchant funds and authority. Evidence of a successful refund requires its execution record and verified webhook; a dry run is labeled as such. Prepared data, automated test responses and sandbox purchases are never presented as human findings or organic sales.