Metadata-Version: 2.4
Name: falsiflow
Version: 0.2.0
Summary: Tiny CLI and GitHub Action for blocking numeric claims without reviewable evidence.
Author: Falsiflow contributors
License-Expression: MIT
Project-URL: Homepage, https://github.com/AzurLiu/falsiflow
Project-URL: Documentation, https://github.com/AzurLiu/falsiflow#readme
Project-URL: Source, https://github.com/AzurLiu/falsiflow
Project-URL: Issues, https://github.com/AzurLiu/falsiflow/issues
Project-URL: Changelog, https://github.com/AzurLiu/falsiflow/blob/main/CHANGELOG.md
Keywords: ci,claim-checking,evidence,metrics,provenance,quality-gates,reproducibility
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# 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

```bash
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
```

```text
placeholder evidence   -> claim_blocked
weak numeric lift      -> claim_blocked
source-backed evidence -> claim_ready
```

## GitHub Action

```yaml
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.
