prml-playground / README.md
Cuneyt Ozturk
Docs: conformance vector count 20->21 (13 v0.1 + 8 v0.2)
293f4e3
|
Raw
History Blame Contribute Delete
3.88 kB
---
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
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20177839.svg)](https://doi.org/10.5281/zenodo.20177839)
[![SchemaStore](https://img.shields.io/badge/schema-in%20SchemaStore-blue.svg)](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)