mlflow-falsify: tamper-evident PRML manifest hash auto-tagged on every MLflow run #23369
sk8ordie84
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Shipped a small MLflow plugin today and figured this was the right place to surface it.
What
mlflow-falsify— an MLflow Run Context Provider that auto-tags everymlflow.start_run()with the SHA-256 hash of a PRML manifest found alongside your code.If a
.prml.yamlexists in your CWD or any parent directory, the plugin adds these tags automatically — no code change in your MLflow workflow:Why
PRML — Pre-Registered ML Manifest is an open spec (CC BY 4.0) for committing an evaluation claim to a SHA-256 hash before the run. The hash binds metric, comparator, threshold, dataset hash, and seed, so silent threshold drift between v1 and v2 of a report becomes a CI failure, not a footnote. Four reference implementations (Python, JS, Go, Rust) are byte-equivalent on 20 conformance vectors.
Layered on MLflow, this gives you a tamper-evident receipt inside the run record itself — useful for EU AI Act Article 12 logging evidence, reproducibility audits, and detecting "we changed the threshold and pretended we didn't" between experiments.
Details
mlflow.run_context_providerentry pointmlflow>=2.0,pyyaml>=5.1(no dependency on thefalsifypackage — canonicalize is vendored byte-for-byte fromfalsify v0.1.4)Feedback welcome
If this fits an existing MLflow integration pattern I missed, or if there's a better entry-point category for this kind of "verification layer on top of run logging" plugin, would value the pointer. Also happy to evolve the spec — v0.2 RFC comment window closes 2026-05-22.
Beta Was this translation helpful? Give feedback.
All reactions