-
-
ReasonPatch starts with a visible rubric and withholds the answer so the learner owns the repair.
-
Three role-separated Luna probes test a counterexample, an assumption, and rubric evidence before Sol asks one targeted question.
-
The Repair Receipt binds every claimed improvement to exact before-and-after learner evidence; it is explicitly not a grade.
-
The prior diagnosis, question, rubric, and receipt disappear before the learner applies the reasoning to a fresh case.
-
The Transfer Slip records only evidence from the fresh response and explicitly avoids calling it learning or mastery.
Inspiration
AI tutors can ask Socratic questions, but a helpful chat can still leave an educator with a harder question: what, exactly, did the learner repair, and did the reasoning survive a new context? ReasonPatch turns that gap into the product surface. It preserves learner authorship while creating an auditable chain of evidence.
Introductory statistics is a sharp test case because students can produce fluent explanations while still confusing association with causation, ignoring base rates, or trusting voluntary-response samples. The product therefore focuses on the earliest unsupported inference—the hinge—then asks one smallest-useful Socratic question without writing the replacement answer.
A 1,470-student, 33-institution assessment documented persistent problems with causal interpretation, sampling, and conditional probability. The design is also informed by meta-analyses of prompted self-explanation and problem-solving before instruction. These adjacent findings motivate the product; they do not validate ReasonPatch.
Why it is different
- Targets the hinge, not the whole essay. ReasonPatch focuses feedback on the earliest unsupported inference.
- Makes the repair inspectable. The Repair Receipt binds each claimed change to exact learner-submitted text.
- Checks a new context without pretending it is learning. The isolated Transfer Slip records only fresh-response evidence and never labels one attempt mastery.
What it does
ReasonPatch is a four-step reasoning-repair studio:
- Explain: The learner submits a short statistics explanation against a visible rubric.
- Repair: GPT-5.6 Sol identifies the earliest unsupported inference. Three role-separated GPT-5.6 Luna probes inspect a counterexample, a hidden assumption, and rubric evidence in parallel. Sol then asks one targeted question.
- Receipt: The learner revises in their own words. ReasonPatch creates a printable Repair Receipt that binds every claimed improvement to exact submitted text.
- Transfer: The diagnosis, question, rubric, and receipt disappear. The learner applies the same reasoning to an isolated fresh case and receives a separate Transfer Slip based only on that new response.
The public guided path is an explicitly labeled deterministic fixture replay, so judges need no account or API key. Protected local live mode runs the real Sol/Luna orchestration. If one Luna probe fails, only that role falls back to Sol, and the trace says so.
90-second judge path
No account or API key is required. Open reasonpatch.vercel.app, choose Find the hinge, and paste this revision:
Participants averaged eight points higher, but students chose whether to participate, so the difference alone does not establish causation. We need comparable baseline scores and a randomized controlled comparison.
Create the Repair Receipt, begin the isolated fresh case, and paste:
The recovery difference does not establish causation because patients chose whether to join. Random assignment or a controlled comparison would be stronger.
Create the Transfer Slip, then open both educator artifacts.
Educators can also download two deliberately separated local artifacts: a blinded, unscored rater packet using anonymous response IDs and a separate audit manifest. Both contain raw submitted text and require coordinator de-identification before sharing. Neither artifact is presented as a grade, mastery claim, or proof of learning.
How we built it
ReasonPatch uses Next.js 16, React 19, TypeScript, Tailwind CSS, Zod, the OpenAI JavaScript SDK, Responses Structured Outputs, Vitest, Playwright, axe-core, and Vercel.
Codex was the end-to-end engineering environment: product planning, official documentation research, TDD, implementation, browser QA, accessibility, security review, adversarial judging, and submission packaging. The public README links dated RED → GREEN and adversarial-hardening checkpoints, plus the exact Sol/Luna orchestrator, Responses API gateway, strict contracts, and fresh-context evaluator.
The core pipeline is intentionally role-separated. Sol plans and synthesizes; three Luna calls run concurrently. Every model response must pass a strict schema, and every quoted piece of evidence is checked against learner text. Model storage is disabled. Public live mode is disabled unless protected by an access gate and distributed budget controls.
Challenges
The hardest product decision was refusing the easy “AI tutor” shape. A polished generated explanation would have been simpler, but it would defeat the learning interaction. Answer withholding had to be enforced in prompts, schemas, evidence checks, fixtures, UI copy, and tests.
A second challenge was epistemic honesty. One successful edit is not learning or transfer. An adversarial review exposed that gap, so the product now opens an isolated fresh case and labels the result only as observed text evidence. Delayed transfer and blinded scoring remain part of a future pilot, not a claim about the current demo.
A third challenge was trustworthy failure behavior. Three parallel model calls can silently collapse into fake consensus if retries and fallbacks are hidden. ReasonPatch records role, model, status, latency, and fallback reason for every probe.
Accomplishments
- A focused, responsive Explain → Repair → Receipt → Transfer journey
- Three reusable statistics labs covering causal inference, base-rate reasoning, and sampling bias
- Transparent Sol/Luna orchestration with per-role fallback
- Evidence-bound Repair Receipts and isolated Transfer Slips
- A dedicated fresh-case API boundary that rejects stale original-case facts before recording evidence
- Blinded educator-review and separate coordinator-audit artifacts
- A 79-case calibration set covering 237 repair and transfer rubric decisions
- 125+ automated tests, strong coverage, desktop/mobile browser checks, accessibility checks, and a clean production dependency audit
- A public demo that completes the judge path in about 90 seconds
What we learned
The most valuable AI output is sometimes not an answer. It can be a carefully bounded challenge that helps a learner expose and repair their own inference.
We also learned that provenance is a product feature. Showing which role ran, which model answered, which evidence was verified, and where a fallback occurred makes the system easier to trust and easier to evaluate.
Finally, educational restraint improves the design. Calling a receipt “evidence from this response” instead of “mastery” forced us to create better artifacts and a falsifiable pilot plan.
What's next
The next evidence gate is a small independent educator feasibility review using a fixed public instrument. A later approved pilot would compare ReasonPatch with answer-first assistance using a delayed held-out case and blinded educator scoring. Until those studies are run, ReasonPatch will not claim improved learning, retention, grades, or workload.
Try it: reasonpatch.vercel.app
Source and evaluation protocol: github.com/FusionCube18712/reasonpatch
Built With
- axe-core
- codex
- gpt-5.6-luna
- gpt-5.6-sol
- next.js
- openai-responses-api
- playwright
- react
- structured-outputs
- typescript
- vercel
- vitest
- zod
Log in or sign up for Devpost to join the conversation.