For gatekeepers · leaderboards · benchmarks · marketplaces · review processes

No locked claim, no entry.

The submission gate: require a pre-dated public receipt for every evaluation claim that wants in.

Self-imposed pre-registration only constrains the honest. When the venue requires the receipt, the constraint binds everyone who wants in. This page is the copy-paste version of that requirement — a CI gate that refuses any submission whose evaluation bar was not publicly locked before the run.

01What the gate enforces

Every submission must carry a PRML manifest — 9 fields: metric, comparator, threshold, dataset hash, seed — whose SHA-256 was publicly receipted before the results existed. The receipt is Ed25519-signed, countersigned by an RFC 3161 timestamp authority, and mirrored to the Rekor transparency log: the submitter cannot backdate it, and neither can we. Each permalink states which anchors that particular record carries; records committed before 11 July 2026 were stored without their canonical bytes and so cannot be entered into the log retrospectively. Edit the manifest after locking and verification exits 3 (TAMPERED).

02The whole gate — two real steps

- name: Verify the locked claim
  id: prml
  uses: studio-11-co/prml-verify-action@v2
  with:
    mode: manifest
    manifest-path: ${{ steps.find.outputs.manifest }}

- name: Require a public receipt
  run: |
    curl -sf "https://registry.falsify.dev/${{ steps.prml.outputs.hash }}" > /dev/null \
      || { echo "::error::No public receipt - lock the claim before running"; exit 1; }

Complete workflow, submission-requirements template and rejection copy live in examples/require-receipt.

03What to tell submitters

One paragraph in your rules is enough: “Write your PRML manifest before you run; lock it at registry.falsify.dev; submit manifest and results together. Entries whose bar has no pre-dated public receipt are rejected automatically.” Submitters need no account and pay nothing; locking takes under a minute in the browser or one curl.

04What this proves — and does not

It proves the success criteria existed, in exactly this form, before the results did. It does not prove the score is correct — score verification stays with you, the venue. PRML proves the bar was locked, never the result.

05Buying, not hosting? The procurement clause

The same requirement travels as one contract clause. Paste it into an RFP annex, a vendor due-diligence questionnaire, or a renewal condition — it names properties, not a product, so it survives legal review:

Verifiable evaluation evidence. For each quantitative evaluation claim relied upon in this engagement, the supplier shall: (a) commit the criteria that decide the claim — metric, comparator, threshold, dataset identity by content hash, random seed, and the identity of the claimant — to a SHA-256 digest over a canonical serialisation, before the evaluation is run; (b) obtain an independent timestamp of that commitment (RFC 3161 or an append-only transparency log), so that the time of commitment does not rest on the supplier’s own records; (c) deliver, with the reported result, the manifest and its commitment in a form the buyer can verify offline using only the manifest text and a standard SHA-256 implementation. A result whose recomputed digest does not match its commitment shall be treated as unsupported.

Conformance with PRML v0.1 (openly specified, CC BY 4.0) satisfies (a)–(c); any equivalent openly specified mechanism is likewise acceptable.

Why a buyer wants this: every number a vendor shows was produced under criteria the vendor chose — and could have adjusted after seeing the result. No report reveals that. This clause costs the vendor a hash and a timestamp, and turns “trust our methodology” into a check your team runs in under a minute. It is CC BY 4.0 — copy it, adapt it, strip the attribution.

06Running a venue and want it wired in?

The gate above is free and self-serve forever. If you want it adapted to your submission flow — custom fields, private registry, evidence packs for your reviewers — that is a fixed-scope written engagement: pricing · hello@falsify.dev.