Falsiflow
Stop numeric claims from passing CI until the evidence is reviewable.
Falsiflow checks a project contract, an evidence CSV, and referenced source
files. It returns claim_ready only when required evidence exists, placeholder
values are gone, derived metrics compute, thresholds pass, and the review bundle
verifies.
30 Seconds
pipx install falsiflow
git clone https://github.com/AzurLiu/falsiflow
cd falsiflow
EX=examples/minimal_numeric_claim
falsiflow check --config "$EX/project.json" --evidence "$EX/evidence_placeholder.csv" --strict
falsiflow check --config "$EX/project.json" --evidence "$EX/evidence_blocked.csv" --strict
falsiflow check --config "$EX/project.json" --evidence "$EX/evidence_ready.csv" --strict
placeholder evidence -> claim_blocked
weak numeric lift -> claim_blocked
source-backed evidence -> claim_ready
GitHub Action
name: Claim Gate
on:
pull_request:
jobs:
claim-gate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: AzurLiu/falsiflow@v0.2.0
with:
config: examples/minimal_numeric_claim/project.json
evidence: examples/minimal_numeric_claim/evidence_ready.csv
strict: "true"
What It Is
Falsiflow is a small Python CLI and GitHub Action for gating numeric claims:
- RAG recall improved by a configured threshold.
- A model eval metric beat a baseline.
- A product metric moved enough to ship.
- A vendor, lab, or instrument result meets a spec.
It writes a machine-readable summary, Markdown report, source manifest, and evidence bundle zip under the chosen output directory.
What It Is Not
Falsiflow does not prove that a model is good, a RAG answer is safe, a product metric is causally true, or a scientific claim is correct. It only proves that the configured evidence package is complete enough to review.
Metadata
Release files for falsiflow 0.2.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 | |
|---|---|---|---|
| falsiflow-0.2.0.tar.gz | 33.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| falsiflow-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.7 kB
Release files / falsiflow-0.2.0.tar.gz
| Download URL | falsiflow-0.2.0.tar.gz |
|---|---|
| Size | 33.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2169b6052a2571d8b845a93add9590d962397310717e0f1ab32678404a92871c
|
|
BLAKE2b-256 checksum How to use checksums |
3439101dd8e28aad2005d160c7f97ea7e373321ea9c8b33c0345af71e040f057
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 1, 2026.
Transparency logRelease files / falsiflow-0.2.0-py3-none-any.whl
| Download URL | falsiflow-0.2.0-py3-none-any.whl |
|---|---|
| Size | 29.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e28a69c2a91751128dc4b67f572ee3289a6feb87481580028787e44ae85d39d4
|
|
BLAKE2b-256 checksum How to use checksums |
4a5bd7ee5ebaf6290cf30b13b7e9bc5c7c4b2758ac843de3e8c9052582003b2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 1, 2026.
Transparency log