Spaces:
Running
Running
| title: PRML Playground | |
| emoji: 🔐 | |
| colorFrom: green | |
| colorTo: gray | |
| sdk: static | |
| pinned: false | |
| license: mit | |
| short_description: In-browser SHA-256 manifest editor for the PRML spec | |
| # PRML Playground | |
| [](https://doi.org/10.5281/zenodo.20177839) | |
| [](https://www.schemastore.org/json/) | |
| > Edit a Pre-Registered ML Manifest in your browser. Watch canonical bytes update. SHA-256 computed via Web Crypto. Optionally anchor publicly. | |
| This is a Hugging Face Space mirror of the playground at [falsify.dev/playground](https://falsify.dev/playground). Same code, same hash output (byte-equivalent to the Python reference across 21 conformance vectors), zero server-side state. | |
| **Latest:** The PRML JSON Schema was merged into the [SchemaStore catalog](https://www.schemastore.org/json/) on 2026-05-11 — `*.prml.yaml` files now autocomplete in VS Code, JetBrains, Helix, Zed, and Cursor out of the box. v0.1 is also published on Zenodo with a citable DOI: [10.5281/zenodo.20177839](https://doi.org/10.5281/zenodo.20177839). | |
| ## What is PRML? | |
| **PRML** (Pre-Registered ML Manifest) is an open CC BY 4.0 specification for committing ML evaluation claims to a SHA-256 hash *before* the experiment runs. Eight YAML fields hashed over canonical bytes — the hash is the receipt that the threshold direction was fixed before the data arrived. | |
| - **Spec:** [spec.falsify.dev/v0.1](https://spec.falsify.dev/v0.1) | |
| - **v0.2 RFC** (frozen 2026-05-22): [spec.falsify.dev/v0.2-rfc](https://spec.falsify.dev/v0.2-rfc) | |
| - **JSON Schema:** [spec.falsify.dev/schema/](https://spec.falsify.dev/schema/) | |
| - **Reference impls:** four — `pip install falsify` (PyPI) · `npm install falsify-js` (npm) · Go + Rust source at [studio-11-co/falsify/impl/](https://github.com/studio-11-co/falsify/tree/main/impl) (all MIT, byte-equivalent across 21 conformance vectors) | |
| - **Repos:** [github.com/studio-11-co/falsify](https://github.com/studio-11-co/falsify) | |
| ## How to use this Space | |
| 1. Pick one of the four pre-loaded examples (minimal accuracy, RLHF win-rate, streaming Elo, revoked) or paste your own YAML | |
| 2. Watch the canonical bytes and SHA-256 update on every keystroke | |
| 3. Click **Anchor publicly** to commit the hash to the public registry at [registry.falsify.dev](https://registry.falsify.dev) — no account, no server-side state beyond the hash and a timestamp | |
| 4. Or click **Generate badge** for a local-only badge URL | |
| Pure browser computation. The SHA-256 is computed via the Web Crypto API (`crypto.subtle.digest`). No data leaves your browser unless you click "Anchor publicly". | |
| ## Why pre-registration | |
| > Most published ML accuracy numbers are unfalsifiable in practice. The metric, threshold, dataset slice, and random seed are reported *after* the experiment, leaving no cryptographic record of what was committed *before* it. | |
| PRML closes one specific gap: it makes post-hoc threshold tuning mechanically detectable. It is not an attestation framework, a benchmark, or a publication-integrity system. PRML §8.1 names what it does not solve: a publisher who pre-registers ten claims and publishes only the favourable ones is still operating below the line of public accountability. | |
| ## License | |
| - **This Space (HTML/CSS/JS):** MIT | |
| - **PRML specification:** CC BY 4.0 | |
| - **Patent non-assertion grant** is published with the spec: implementations are free to use the manifest schema, canonical byte serialisation, and registry anchor protocol royalty-free, irrevocably, worldwide. | |
| ## Cite | |
| Öztürk, C. (2026). *PRML: A Pre-Registered Manifest Format for Machine Learning Evaluation Claims (v0.1)*. Zenodo. <https://doi.org/10.5281/zenodo.20177839> | |
| ## Authors | |
| Cüneyt Öztürk. | |
| Contact: hello@falsify.dev · [falsify.dev](https://falsify.dev) | |