2026-09-18-classic-patents-evaluation.md
classic-patents.com evaluation for Craig /papers surface
Date: 2026-09-18
Reviewer: Craig (Opus 4.7)
Source tweet: doodlestein 2026-08-18, https://x.com/doodlestein/status/2089553785974579386
Target: https://classic-patents.com/ (repo: https://github.com/Dicklesworthstone/classic-patents.com, MIT)
What it is
A curated digital museum of 103 historical patents (1769–2009): Watt's condenser, Tesla's AC motor, Wright Flyer, Noyce's IC, Hall–Héroult, Edison phonograph, Diesel, Marconi, etc. Each patent has a facsimile ledger, a hand-authored "Plain English" engineering breakdown, MathJax-rendered equations with per-term color-coded annotations, and a Three.js real-time 3D physics simulation of the mechanism.
Content is hand-authored, not LLM-generated. The README explicitly refuses to synthesise SI facts the historical source does not supply. 89/103 patents cross a "reviewed-edition" boundary; the rest are still stubs.
How it works (mechanism, not marketing)
- Stack: Next.js 15 + TypeScript + Tailwind + Bun; Three.js/WebGL for the 3D canvases; Vercel deploy.
- Data model: one typed TS module per patent under
src/data/patents/(e.g.,wright-flyer.ts), plus aPATENT_PHYSICS_REGISTRYand acoverageManifest.tsbinding each id to its facsimile, ledger, edition, route, and default telemetry owner. - Equation rendering: MathJax, with each term wrapped in classed spans like
eq-term eq-term-lift_force eq-term-emeraldanddata-var="lift_force". Color families (emerald, sapphire, amber…) key each token to a hover/tap card giving its physical meaning and role. - Annotation depth: physicist-to-engineer prose, not one-liners. Example on the Wright Flyer page:
L = ½ρV²SC_L(α)with each of ρ, V², S, C_L(α) individually linked to airflow/wing-geometry commentary. - No LLM pipeline; no CMS. Every patent is a code artifact reviewed by a human.
Fit for the Wright corpus
Our surface is 85 unified academic pubs + 627 Scholar items + ~3,900 nChain patent claims. Fit is uneven:
| Slice | Equation density | Classic-Patents fit |
|---|---|---|
| Bitcoin whitepaper (Poisson catch-up race) | 1 equation, load-bearing | High — canonical demo |
| Information-theory papers (Shannon entropy, mutual information) | Medium — a handful per paper | High |
| ECDSA / hash / crypto papers | Medium — group law, HMAC constructions | Medium — notation is standard but symbol soup is intimidating |
| Econometrics / statistics papers | Medium — regressions, distributions | Medium |
| nChain patents (~3,900) | Low — most are method/system claims in prose + pseudocode, not physical equations | Low — Classic-Patents' physics-sim framing does not translate |
| Blog posts (793) | Very low — argumentative prose | None |
Wright's corpus is a computer-science corpus. Classic-Patents' hero move — a 3D physics simulation of the mechanism — has no direct analogue for hash functions or signature schemes. The reusable pattern is the token-coloured MathJax + hover-explanation layer, not the Three.js layer.
Effort to prototype
- Copy the UI pattern (spans + hover cards + MathJax) for 1 paper: ~1 day. The CSS class shape (
eq-term- eq-term-) and MathJax hooks are visible in the rendered HTML; the repo is MIT so the components can be lifted. - Author annotations for the Bitcoin whitepaper's Poisson section: ~2–4 h, with sourcing back to Wright's own prose so we do not editorialise.
- Scale to 10 equation-dense papers: ~2 weeks of hand-authoring. This is the choke point.
- Scale to full 85 papers or ~3,900 patents: infeasible manually; LLM-generation would violate the site's own design principle and our lane rule against unverified content.
Recommendation: SPIKE (bounded, not adopt)
1. Lift the MathJax + colour-token + hover-card component pattern into the Craig /papers page under our own CSS. Do not attempt the 3D physics sim.
2. Ship one hand-annotated paper as a proof: Bitcoin whitepaper §11 (attacker Poisson race). Source every annotation phrase to a line in the whitepaper or a Wright blog post; tag provenance in the JSON.
3. If the spike lands cleanly, extend to ~5 more equation-dense targets: 2 Shannon-info papers, 1 ECDSA paper, 1 econometrics paper, 1 hash-collision paper. Stop there. Do not attempt full-corpus rollout.
4. Do not use LLMs to author annotation prose. Curate it from Wright's own words or cite the mathematical source (Shannon 1948, Koblitz, etc.).
Open questions
- Editorialising boundary: does per-term didactic prose count as commentary under Craig's "let the work speak" rule? Adam decision.
- Source of equation LaTeX: are the extracted paper PDFs already OCR'd to LaTeX, or do we hand-transcribe? Likely hand-transcribe for the spike.
- License: MIT covers the code; the annotation prose on classic-patents.com is copyrighted. We would reimplement components and author our own text.
- Video demo: the tweet ships a 45s video I could not verify visually (Bash cannot render mp4). Mechanism confirmed via rendered HTML instead.
- Corpus sampling: an inventory of "which Wright papers actually contain equations worth annotating" does not exist yet. Would want that before scoping past the 1-paper spike.