CVP verified calculation capability
Exact Euclidean remainder/quotient and modular inverse for signed integers; canonical Bézout coefficients satisfy the original-input identity.
Math Capability ID math.modulo version 1.1.2 CVP VERIFIED CURRENT Core
Identity
a = q · m + r0 ≤ r < |m|Modes: remainder · inverse
Canonical symbols for this capability. Agent schemas remain the contract.
| Symbol | Quantity | Unit | Role |
|---|---|---|---|
a | — | — | input / output |
modulus | — | — | input / output |
review | — | — | output |
api_version | — | — | output |
api_contract_version | — | — | output |
spec_version | — | — | output |
page | Canonical calculator page URL | — | output |
links | — | — | output |
Inspectable numeric contract for this Capability@Version. Not a rewrite of the engine.
| Field | Declaration |
|---|---|
numeric_domain | integer |
exactness | exact |
algorithm | BigInt Euclidean remainder / extended-Euclid modular inverse; canonical original-input Bézout coefficients |
valid_domain | Signed integer strings up to48 digits and512 characters, or safe JSON integers. Nonzero modulus; inverse |m|>=2 and gcd(a,m)=1. Matching aliases required; unknown keys and invalid types reject. |
singularity_policy | Reject zero modulus, inverse modulus absolute value below2, and non-coprime inverse inputs with stable field-aware errors. |
branch_policy | remainder0<=r<|m|, q=(a-r)/m. Inverse canonicalx=inverse andy=(1-a*x)/m satisfy original a*x+m*y=1 for either sign. |
tolerance | not applicable — exact integer identity |
convergence | not applicable — non-iterative Euclidean / combinatorial |
conditioning | Discrete integer changes can change remainder/invertibility abruptly. No floating rounding or measurement uncertainty model; not constant-time cryptography. |
rounding | none — BigInt / exact integer |
overflow | coded error or stringified BigInt when exceeding JSON number |
reproducibility | deterministic exact integer + Capability@Version |
independent_oracle | Independent CPython integer division and pow modular inverse, full-pack/type/identity comparison in CVP math.modulo |
golden_vectors | Evidence golden + boundary + property (and published_reference_case when listed) |
Declared scope for this capability. Do not use it outside this domain.
Assumptions
One numerical check. The calculator page holds worked steps and FAQ.
a=-17 modulus=5 → remainder=3
CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · Sampled complete packs for both published modes, all signed branches and bounded48-digit cases. Computational verification is defined by CVP. Supplemental domain review (internal) and named expert review are defined by the Review policy and do not by themselves determine CVP conformance.
Human page, REST, and MCP share the same engine and calculation_version.
Build verified hashes workspace artifacts only. After deploy, attest:production GETs canonical URLs twice — the public/cached view an Agent actually hits, and origin — including every /capabilities/{id} HTML page. Public Capability HTML version must match catalog before production attestation passes. Live Trust rows above fetch /.well-known/calculatorx-production-attestation.json
and the output schema const. Build hashes: release integrity. That proves currently published page / engine / schema / evidence / MCP agree — not that a historical version is independently immutable. Reference Calculation Standard — Production surface contract 5/5.
curl -sS -X POST 'https://www.calculatorx.com/api/v1/calc/modulo' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"a":17,"modulus":5},"calculation_version":"1.1.2"}'{
"inputs": {
"a": 17,
"modulus": 5
},
"calculation_version": "1.1.2"
}POST /api/v1/calc/modulo. This is a POST calculate endpoint — do not GET it.
Full REST contract: REST API docs.
Declared calculation modes for this capability.
remainderinverseHuman-readable sources plus CVP reference evidence classes.
Sources
Reference evidence classes: O1 model · O2 expected_values · O2 numerical_behavior
Inspect, then execute. Same engine as REST and the human calculator.
curl -sS -X POST 'https://www.calculatorx.com/mcp' \
-H 'Content-Type: application/json' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/call' \
-H 'Mcp-Name: inspect_capability' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"inspect_capability","arguments":{"capability_id":"math.modulo"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"calculatorx-docs-example","version":"1.0.0"},"io.modelcontextprotocol/clientCapabilities":{}}}}'curl -sS -X POST 'https://www.calculatorx.com/mcp' \
-H 'Content-Type: application/json' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/call' \
-H 'Mcp-Name: execute_calculation' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"execute_calculation","arguments":{"capability_id":"math.modulo","inputs":{"a":17,"modulus":5},"calculation_version":"1.1.2"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"calculatorx-docs-example","version":"1.0.0"},"io.modelcontextprotocol/clientCapabilities":{}}}}'Pin calculation_version (1.1.2) when the result must stay reproducible.
Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.