Skip to content

Verification and evidence (pinneapple_veriphysics)

A recommendation is only as good as the evidence the reader can check. pinneapple_veriphysics is the layer that turns what the analysis modules (pinneapple_analysis.verification) already computed into something an engineer can review and sign off:

Module What it gives you
decision DecisionRecord: what is recommended, the trust score and its coverage (checks that did not run are absent, never faked), the per-check confidence breakdown, alternatives, and what to try if you disagree
evidence_report the same record as a PDF (render_evidence_report_pdf; needs the optional reportlab)
applicability the applicability map: an evidence chain, an 8-item checklist and the envelope of variables that was actually tested
robustness measured robustness studies: does the verdict survive perturbing the problem?
recommend formulate_and_recommend: formulate a problem and recommend a solver family and architecture from the verification catalog, citing sources
execution_log a collector for what each step did, shown next to the result
from pinneapple_veriphysics.decision import DecisionRecord
from pinneapple_veriphysics.evidence_report import render_evidence_report_pdf

record = DecisionRecord(...)                       # built from a ProvenanceRecord, a PhysicsConfidenceScore, a ToolRecommendation
open("evidence.pdf", "wb").write(render_evidence_report_pdf(record))

The design rule is the one of every pinneapple_analysis.verification module: this package never computes a number or a verdict of its own; it only renders ones that exist. A check that was not run shows up as "not run", and the score says how much of it was covered.

Not here: the job queue, the HTTP API, billing and the web app. They belong to the Veriphysics product, which imports this package.