warrantlib
A vocabulary for how well a claim is warranted, kept separate from whether it held.
Install
pip install warrantlibPython >=3.11. Documentation at cpomdp.inferogenesis.com.
Example
from warrantlib import (
CheckReport, Outcome, Provenance, SymbolicReduction, Tier, Warrant, check_summary,
)
report = CheckReport(
name="second gap coefficient",
check_id="gap_series.c2_closed_form",
warrant=Warrant.PROVED,
outcome=Outcome.NOT_TRIGGERED,
tier=Tier.EXACT,
detail="the CAS reduces the integral to the quoted constant",
evidence=(
SymbolicReduction(
claim="the second gap coefficient equals the quoted constant",
correspondence="hand derivation, section 3",
assumptions=("the expansion is formal, not convergent",),
),
),
provenance=(
Provenance(
registered_at="a76cf1b",
measured_at="9baaa22",
registered="the coefficient's closed form, registered 2026-08-07",
),
),
)
print(check_summary([report]))Warrant says what decided a claim
A clean column of results cannot say whether anything was decided. Warrant names the
prover class behind a claim. PROVED means it is decided. CERTIFIED means validated
numerics proved a universal over a compact domain. CORROBORATED means a continuum was
sampled, which never decides one. See
Warrant.
Outcome says what a falsifier did
A falsifier does not pass. It fires or it does not, so PASS is absent from the
vocabulary. NOT_RESOLVED, NOT_APPLICABLE and NOT_RUN_HERE stay distinct, and the
two that never ran carry no warrant. See
Outcome.
Provenance ties a claim to where its bar was set
A bar chosen after the number is visible decides nothing. Provenance records the ref
that registered a claim and the ref that measured it. A ref is a commit SHA, a URL or a
DOI. Branches, tags and paths are refused. See
Provenance.
Reports as records
report_to_dict writes a report with a fixed key order, so two runs of one suite produce
the same bytes. Reading goes back through the constructor, so a stripped PROVED record
still refuses to build. A JSON Schema ships beside the code. See
report_to_dict.
Checks under pytest
pip install "warrantlib[pytest]" adds a plugin that loads with no configuration. A
test hands its findings to the record_check fixture. The run then reports
NOT TRIGGERED where pytest would print PASSED. See the
plugin in the README.
A manifest of registered checks
A count says a suite got shorter. It cannot say which check left. The manifest declares every check id a suite is registered to report, and a run is reconciled against it in both directions. See the manifest in the README.
Capabilities
| Feature | Since |
|---|---|
| Warrant, Outcome and Tier, with CheckReport | 0.1.0 |
| Completeness certificates for exhaustive enumeration | 0.1.0 |
| Provenance required on every PROVED report | 0.2.0 |
| A stable check_id on every report | 0.3.0 |
| JSON records with a published JSON Schema | 0.3.0 |
| A pytest plugin reporting in the warrant vocabulary | 0.3.0 |
| A manifest of the checks a suite is registered to report | 0.3.0 |
Releases
Cite this
@software{warrantlib2026,
author = {Inferogenesis},
title = {warrantlib},
version = {0.3.0},
year = {2026},
url = {https://github.com/inferogenesis/cpomdp/tree/main/packages/warrantlib}
}