threepp
A cross-platform C++20 3D library with Python bindings and the high-level API of three.js.
Scores an AI contract review against lawyer-written answer sets: did it find the clauses, grade the risk correctly, quote real text and avoid inventing anything. Synthetic contracts.
Developer toolsPython · JavaScriptGitHub @sebastianfoersteOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Find out whether an AI contract review is actually good: scores clause coverage, risk severity and citation grounding against a hand-authored gold set, and rejects fabricated citations.
Offline, deterministic, no API key. Synthetic contracts only. Not legal advice.
Actual output of make demo, rendered as an image.
Needs uv, which fetches a supported Python if none is installed.
git clone https://github.com/sebastianfoerste/contract-review-eval-harness
cd contract-review-eval-harness
uv sync
uv run python -m contract_eval evaluate --case nda # writes scorecard.md
Score your own tool's review JSON (schema) against a bundled contract:
uv run contract-eval score my-review.json --case nda # exit 1 on REJECT
Selected rows from the NDA scorecard of the offline stub, which is deliberately imperfect:
| Dimension | Score | Notes |
|---|---|---|
| Clause F1 | 0.96 | harmonic mean of precision and recall |
| Risk precision | 0.83 | flagged clauses that the gold set treats as risks |
| Severity accuracy | 0.60 | correct severity among jointly identified risks |
| Citation grounding | 0.89 | 8/9 quotes matched as an exact span of the normalised source |
| Hallucination count | 1 | cited quotes not grounded in the source |
The one fabricated citation is a hard REJECT.
Limitations: synthetic contracts, one annotator's gold sets and three contract types; every flagged risk and citation needs a qualified lawyer before reliance (details).