Public evidence
Machine-checked verification for calculation version 1.1.2 · tier engine_tested
16/16 calculation tests · Production surface contract 3/3
Fingerprint sha256:78ffd7e2acbb2873491fbe410ff218b311b72d30c299cd1fba18642b74e1bb18
Input schema sha256:258a7b51431481323beae21596f2f06febf8da6cc157ffbfc895d2116fd58ec8 · Output schema sha256:5f6be44af76efeb83e06df0ae6e102fd28eb6104a3efeecb9cf92a4bb2b54748 · Build-time SHA-256 digests prove published artifacts agree with each other (release_integrity.scope=workspace). Production attestation GETs canonical URLs twice (public/cached view and origin), including Capability HTML, via npm run attest:production --write
(published at /.well-known/calculatorx-production-attestation.json) and fails if the public Capability page advertises a different calculation_version. This is artifact consistency, not an independent immutable release log.
Engine identity and declared limitations.
Standards and references supporting this tool specification. Methods are listed separately — they are algorithms, not bibliographic sources.
Golden, boundary, and property cases included in this evidence build.
| ID | Kind | Status | Detail |
|---|---|---|---|
nearest-3.67-a-minus | golden | pass | Expected letter=A- · matchedGpa=3.67 · tie=false · Actual value=A- · status=ok · mode=to-letter · scale=plus-minus · scaleLabel=Plus/minus 4.33 · match=nearest · inputGpa=3.67 · gpa=3.67 |
nearest-3.50-tie-up-a-minus | golden | pass | Expected letter=A- · tie=true · Actual value=A- · status=ok · mode=to-letter · scale=plus-minus · scaleLabel=Plus/minus 4.33 · match=nearest · inputGpa=3.5 · gpa=3.5 |
nearest-3.4999-b-plus | golden | pass | Expected letter=B+ · tie=false · Actual value=B+ · status=ok · mode=to-letter · scale=plus-minus · scaleLabel=Plus/minus 4.33 · match=nearest · inputGpa=3.4999 · gpa=3.4999 |
nearest-3.5001-a-minus | golden | pass | Expected letter=A- · tie=false · Actual value=A- · status=ok · mode=to-letter · scale=plus-minus · scaleLabel=Plus/minus 4.33 · match=nearest · inputGpa=3.5001 · gpa=3.5001 |
floor-3.50-b-plus | golden | pass | Expected letter=B+ · tie=false · Actual value=B+ · status=ok · mode=to-letter · scale=plus-minus · scaleLabel=Plus/minus 4.33 · match=floor · inputGpa=3.5 · gpa=3.5 |
nearest-3.835-tie-up-a | golden | pass | Expected letter=A · tie=true · Actual value=A · status=ok · mode=to-letter · scale=plus-minus · scaleLabel=Plus/minus 4.33 · match=nearest · inputGpa=3.835 · gpa=3.835 |
nearest-4.165-tie-up-a-plus | golden | pass | Expected letter=A+ · tie=true · Actual value=A+ · status=ok · mode=to-letter · scale=plus-minus · scaleLabel=Plus/minus 4.33 · match=nearest · inputGpa=4.165 · gpa=4.165 |
nearest-3.33-b-plus | golden | pass | Expected letter=B+ · matchedGpa=3.33 · tie=false · Actual value=B+ · status=ok · mode=to-letter · scale=plus-minus · scaleLabel=Plus/minus 4.33 · match=nearest · inputGpa=3.33 · gpa=3.33 |
letter-b-plus-points | golden | pass | Expected value=3.33 · letter=B+ · Actual value=3.33 · status=ok · mode=to-gpa · scale=plus-minus · scaleLabel=Plus/minus 4.33 · gpa=3.33 · normalized=false · letter=B+ |
flat-3.50-tie-up-a | golden | pass | Expected letter=A · tie=true · Actual value=A · status=ok · mode=to-letter · scale=flat · scaleLabel=Flat 4.0 · match=nearest · inputGpa=3.5 · gpa=3.5 |
linear5-4.6-normalized-a-minus | golden | pass | Expected letter=A- · gpa=3.68 · normalized=true · Actual value=A- · status=ok · mode=to-letter · scale=linear5 · scaleLabel=Linear 5.0 · match=nearest · inputGpa=4.6 · gpa=3.6799999999999997 |
linear5-alias-weighted | golden | pass | Expected scale=linear5 · letter=A- · Actual value=A- · status=ok · mode=to-letter · scale=linear5 · scaleLabel=Linear 5.0 · match=nearest · inputGpa=4.6 · gpa=3.6799999999999997 |
negative-gpa-rejected | golden | pass | Expected status=invalid · code=GPA_OUT_OF_RANGE · Actual status=invalid · code=GPA_OUT_OF_RANGE · message=GPA must be between 0 and 4.33 for this scale. · mode=to-letter · scale=plus-minus · scaleLabel=Plus/minus 4.33 · match=nearest · inputGpa=-2 |
over-max-plus-minus-rejected | golden | pass | Expected status=invalid · code=GPA_OUT_OF_RANGE · Actual status=invalid · code=GPA_OUT_OF_RANGE · message=GPA must be between 0 and 4.33 for this scale. · mode=to-letter · scale=plus-minus · scaleLabel=Plus/minus 4.33 · match=nearest · inputGpa=4.5 |
over-max-flat-rejected | golden | pass | Expected status=invalid · code=GPA_OUT_OF_RANGE · Actual status=invalid · code=GPA_OUT_OF_RANGE · message=GPA must be between 0 and 4.00 for this scale. · mode=to-letter · scale=flat · scaleLabel=Flat 4.0 · match=nearest · inputGpa=4.01 |
over-max-linear5-rejected | golden | pass | Expected status=invalid · code=GPA_OUT_OF_RANGE · Actual status=invalid · code=GPA_OUT_OF_RANGE · message=GPA must be between 0 and 5.00 for this scale. · mode=to-letter · scale=linear5 · scaleLabel=Linear 5.0 · match=nearest · inputGpa=5.1 |