proof-engine-registry
Protocol, client, and reference server for the Proof Registry — the JSON-over-HTTPS layer that lets LLM wikis (and other tools) ask "is this claim already proven?" and either use the existing proof or commission a new one.
Spec: docs/registry-protocol.md.
Install
pip install proof-engine-registry
Config
~/.config/proof-engine/registries.toml
[[registry]]
name = "public"
url = "https://proofengine.info"
[[registry]]
name = "acme-internal"
url = "https://proofs.acme.com"
token_env = "ACME_PROOFS_TOKEN"
publish = true
Client
from proof_engine_registry import RegistryClient, load_registries
client = RegistryClient(load_registries())
hit = client.lookup("The sky is blue.")
if hit:
print(hit.proof_url)
Self-host
proof-registry serve ./my-proofs --port 8080 --token-env MY_TOKEN
Useful flags:
| Flag | Default | Purpose |
|---|---|---|
--token-env |
(none) | Env var holding the bearer token required for POST /proofs. Omit to disable publishing. |
--cors-origin |
* |
Value for Access-Control-Allow-Origin on read responses. Use a specific origin to restrict access. |
--log-json |
off | Emit one JSON access record per request to stderr. Authorization headers are never logged. |
--problem-type-base |
https://proofengine.info/errors |
Base URI for type fields in RFC 7807 error bodies. Override to point at your own docs. |
Production deployment
The reference server uses plain stdlib HTTP and binds to 127.0.0.1 by
default. Suitable for development and local team use. For public
exposure over the open internet, front the server with a TLS-terminating
reverse proxy (nginx, Caddy, Cloudflare, AWS ALB) and route only
encrypted traffic from the proxy to the server. Bearer tokens MUST NOT
travel the network in cleartext.
Embedding badges
Each proof has three badge representations:
/proofs/SLUG/badge.svg— inline SVG, our own rendering. Self-contained, no third-party dependencies. Style is fixed./proofs/SLUG/badge.json— structured payload (claim, verdict, confidence, doi, badge_svg_url) for tools that render their own UI./proofs/SLUG/shields.json— shields.io endpoint format. Plug it into shields.io and pick any style:
[](https://proofengine.info/proofs/SLUG/)
Style flexibility (?style=flat-square, ?style=for-the-badge, etc.) and CDN caching come from shields.io; we just emit the JSON.
Errors
JSON error responses follow RFC 7807 Problem Details:
HTTP/1.1 404 Not Found
Content-Type: application/problem+json
{
"type": "https://proofengine.info/errors/not-found",
"status": 404,
"title": "Resource not found",
"detail": "no proof with that claim_hash",
"code": "not_found"
}
The code field preserves the legacy short machine key for
log-aggregation tooling. Full canonical-error table in the
protocol spec.
Conformance
A protocol-version-aware conformance suite ships with the package:
cd packages/proof-engine-registry && python -m pytest tests/test_conformance.py -v
It runs against both the static-JSON emit and the reference server. Any third-party server claiming to speak the protocol can run the same suite.
Metadata
Release files for proof-engine-registry 1.45.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| proof_engine_registry-1.45.0.tar.gz | 34.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| proof_engine_registry-1.45.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.6 kB
Release files / proof_engine_registry-1.45.0.tar.gz
| Download URL | proof_engine_registry-1.45.0.tar.gz |
|---|---|
| Size | 34.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
335a99eb48c35d18ce4e1c9cdf5c096eb4c377cf9e25119f31ff6a42574f7eb3
|
|
BLAKE2b-256 checksum How to use checksums |
baca04f4a26778f722915e4d8c6a06ce91d7f009d18edbbaf94bf0d327fc1750
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.4
|
Release files / proof_engine_registry-1.45.0-py3-none-any.whl
| Download URL | proof_engine_registry-1.45.0-py3-none-any.whl |
|---|---|
| Size | 26.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
03c661aeb45ba8aac84f2783015f20885670aa594b621bb19649089ae9d7a9c1
|
|
BLAKE2b-256 checksum How to use checksums |
5d90678ce2a9d4181607c81637ab4d1cfb509eec3d3f36f40b59a9bf4e3a4f49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.4
|