Skip to main content

Proofwright

Deterministic, zero-LLM structural tooling for an LLM Wiki — the Karpathy raw/ → LLM → wiki/ research-synthesis pattern.

Proofwright is the deterministic layer: it checks the wiki against invariants and rebuilds derived artifacts, but never authors content. A "wright" is a maker/keeper — it builds the index, link graph, and report, not just flags problems.

What it checks

  • Structural — orphan pages, missing pages, broken [[wikilinks]], stale index, missing provenance.
  • Frontmatter — required keys, types, allowed tag/grade vocabularies.
  • Citation integrity — every [n] resolves to a source that maps to a real file in raw/; prose lacking a citation is flagged. (The primary defense against hallucination-baking.)
  • Source grades — every source graded, grades from a fixed vocabulary.
  • Graph — phantom hubs, hub stubs, fragile bridges.
  • Freshness — stale-page candidate list from recency markers.

Everything semantic (synthesis, meaning-level contradiction, supersession) stays with the LLM and is out of scope by design.

Usage

uv run proofwright check --config wiki.toml            # run all checks → report
uv run proofwright check --format json                 # machine-readable findings
uv run proofwright index --check                        # is the committed index stale?
uv run proofwright index --write                        # regenerate the index
uv run proofwright graph --report                       # graph-health report
uv run proofwright search "your query"                  # rank pages (BM25 + graph, RRF)
uv run proofwright search "your query" --format json    # ranked results with provenance

Retrieval

search ranks pages with two deterministic streams — BM25 (exact terms) and graph expansion (structural links, seeded by the top BM25 hits) — fused with reciprocal rank fusion. Each result reports which stream surfaced it. Tune it under [retrieval] in wiki.toml.

The LLM rerank of the top slice is a bounded, injectable step (a Reranker protocol); the package default is a no-op, so search stays zero-LLM. A vector stream can fuse in later without changing the fusion.

proofwright is a library, not a framework: all per-wiki variance (paths, vocabularies, thresholds) lives in wiki.toml; custom rules register via the plugin hook. No subject-matter knowledge lives in the package.

See templates/ for a starter wiki.toml, CLAUDE.md schema, and page templates.

Metadata

Release files for proofwright 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for proofwright 0.3.0
File Size Uploaded
proofwright-0.3.0.tar.gz 23.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for proofwright 0.3.0
File Interpreter ABI Platform
proofwright-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 59.3 kB

Release files / proofwright-0.3.0.tar.gz

Download URL proofwright-0.3.0.tar.gz
Size 23.9 kB
Tags Source
SHA-256 checksum
How to use checksums
69bdeefa2ed202bf08810ffdfecea2e46e1bf3463909fdadf3b1a806d5a38090
BLAKE2b-256 checksum
How to use checksums
303b890ddc500b2e7c618a63c339e85a91bc8686dc61a5ec3b599f0d7e1f66d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / proofwright-0.3.0-py3-none-any.whl

Download URL proofwright-0.3.0-py3-none-any.whl
Size 35.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d64315d9fa7ded83789a2b56b50b69ea3e81c72a323324501f7404e9f2e17b47
BLAKE2b-256 checksum
How to use checksums
53ed96a4de5105bd539cb9f7c7ed6a127f8480536fe7bb958a867df5b94fb500
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page