Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A web-native tax workpaper where every number carries its receipt.
Tax software reads documents and grades its own confidence, and a number read with high confidence can still be wrong. Taxmark doesn't take that confidence on trust: it traces every figure on a return back to its source and tests it against independent records before anyone signs.
Try the live app → · Watch the walkthrough →
Built as a case study: redesign the tax workpaper for one invented household's 2025 return, from a packet of documents, extracted values and three computed versions of the return. The packet hides confident mistakes, and finding them was part of the job.
Click any number and Taxmark answers four questions:
Each row is a line on the return. Pills show who raised it: our rule checks, the AI reader, the engine's own warning, and Confident mistake when a check caught a value the reading software was sure about.
One click opens the side panel: the source page with the exact values highlighted, how the number was built, and the actions you can take on it.
The reviewer corrects California's estimated payments to match the state's own record. The totals recompute, the refund updates, and every changed line shows what it was before.
The return form by form, with the status of every line and a comparison against earlier versions and last year.
The partner approves only when nothing blocks, then each client signs the e-file authorization for the finalized version.
Clients see what their tax team needs from them in plain words, with no internal jargon and sensitive IDs masked.
One packet, read three ways
| Reader | Where | Job |
|---|---|---|
| Deterministic checks | In the app | Compare values against independent sources: agency payment records, the printed page, the prior year, the client's answers, legal limits. They decide what blocks filing. |
| AI reader (Claude) | In the app, as a background job | Reads free text that rules can't, such as notes and client answers. Code verifies every quote word for word, and a person accepts or dismisses each suggestion. It never blocks filing. |
| Answer key | Outside the app | A ledger of the mistakes found by an independent investigation. It tests the checks and grades the AI, and never creates a finding. |
Read-only underneath, everything on top
What it catches, and what it doesn't
A role switcher shows the same return as each person sees it. The server enforces what each role may do.
| Role | Can |
|---|---|
| Preparer | Propose adjustments, verify, leave notes |
| Reviewer | Apply adjustments, sign off (never on their own change) |
| Partner | Approve the return once nothing blocks |
| Clients | Answer questions, send documents, sign the e-file authorization |
| Examiner | Read-only access to the items under examination |
A story clock moves the whole workspace through the return's timeline: past points are view-only, and the as-filed return locks once the agency accepts it.
| Decision | What it cost |
|---|---|
| Rules decide; the AI only suggests | The AI misses things, so the rules carry the load |
| Checks written against the schema, not a document | Checks that depend on free-text wording can miss phrasing they haven't seen |
| Replay the whole event log | Simple and fine for one return; a firm would need snapshots |
| Fixes flow through plain sums only | Lines needing tax computation wait for an engine re-run |
| A role switcher instead of sign-in | Identity is self-declared; real sign-in comes first before production |
cd project-build
npm install
npm run dev # http://localhost:3000
Locally the event log is written to files under project-build/.data/, so no database is needed.
npm test # unit tests
npm run e2e # browser tests (builds and starts the app)
npm run typecheck
case-study-project-package/ the brief and the client packet, as delivered (read-only)
project-build/ the app: src/domain (checks, events, policy), src/components, tests/
docs/
handin/ the brief, errors found, data model, AI scorecard, architecture graphs
ground-truth/ the ledger of confident mistakes found in the packet
decisions.md every decision, with its trade-off, logged as it was made
ai-usage.md what each AI tool or model did
Further reading: errors found · core idea and data model · how AI was used · AI scorecard
Built by Aarvin George with AI pair-programming. Claude Opus wrote code test-first, and a different model (Claude Fable) reviewed each major round by probing the live app. Every decision, including the corrections, is in docs/decisions.md, and every tool's role is in docs/ai-usage.md.