The evidence behind the number.
One command. Three files.
$ courant attest ./my-case --context-of-use use.txt wrote attest_report.jsonwrote attest_report.pdfwrote inputs.manifest
- attest_report.json
- The assessment as data. The only place a number lives.
- attest_report.pdf
- The same assessment, as the document a reviewer reads.
- inputs.manifest
- Every file read, its SHA-256, and the exact command.
Eight sections, in the reviewer’s order.
- 01SummaryThe grade, the rule that produced it, the reported value.
- 02Context of useWhat the result decides, in your words.
- 03ModelSolver, turbulence, schemes, mesh, boundaries.
- 04VerificationConvergence and discretization error.
- 05ValidationComparison with the reference.
- 06Setup and applicabilityAll twelve rules, with status.
- 07Not assessedEvery check that could not run, and why.
- 08AppendixEvery threshold, every value, the manifest.
Checkable without trusting us.
REG.MESH_QUALITYPASS
Mesh quality
- Inputs
- checkMesh · pitzDaily
- Method
- Max non-orthogonality and skewness, against thresholds
- Threshold
- 70° · 4.0
- Value
- 5.95° · 0.26
simpleFoam · pitzDaily · OpenFOAM v2406 · read from the certification corpus · sha256 30b05aa353e42dc8…
Every finding carries these four. A reviewer checks any of them against the case without asking us.
What holds on every pack.
- Reproducible
- To the byte, from the manifest.
- No model numbers
- A language model drafts prose. Never a number.
- Redacted copies
- Share it without the geometry.
- Not assessed, verbatim
- Every check that could not run and every missing input, stated in fixed words.
- Verify
- courant attest --verify re-runs the assessment and reports any difference.
Send a result that has to hold up.
The credibility report for ASME V&V 40 and NRC review. Reproducible to the byte.