warrantlib

A vocabulary for how well a claim is warranted, kept separate from whether it held.

Status
active
Version
0.3.0
Licence
MIT

Install

pip install warrantlib

Python >=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]))
From the README at commit 1d437ef, the tree published as 0.3.0.

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

FeatureSince
Warrant, Outcome and Tier, with CheckReport0.1.0
Completeness certificates for exhaustive enumeration0.1.0
Provenance required on every PROVED report0.2.0
A stable check_id on every report0.3.0
JSON records with a published JSON Schema0.3.0
A pytest plugin reporting in the warrant vocabulary0.3.0
A manifest of the checks a suite is registered to report0.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}
}