CVP verified calculation capability
Exact decimal product of multiplicand × multiplier, with optional long-multiplication work.
Math Capability ID math.multiplication version 1.0.4 CVP VERIFIED CURRENT Core
Product
product = multiplicand × multipliera × n = a + a + … + a (n times), n ∈ ℤ≥0a × b = b × aa × (b + c) = a×b + a×cModes: product · long
Canonical symbols for this capability. Agent schemas remain the contract.
| Symbol | Quantity | Unit | Role |
|---|---|---|---|
a | — | — | input / output |
b | — | — | input / output |
product | Approximate binary64 convenience value; null on nonfinite or nonzero-to-zero conversion | — | output |
productStr | Authoritative exact decimal product; canonical zero | — | output |
work | — | — | output |
gridTruncated | — | — | output |
warning | — | — | output |
Inspectable numeric contract for this Capability@Version. Not a rewrite of the engine.
| Field | Declaration |
|---|---|
numeric_domain | rational |
exactness | exact + float64 |
algorithm | Bounded exact base10 mantissa × BigInt; shared Product/Long computation; carry steps reconstruct partial products |
valid_domain | Plain decimal strings, at most512 characters and48 significant digits per factor (trailing zeros count); finite safe JSON numbers via shortest decimal text. product/long modes; matching aliases only. |
singularity_policy | not applicable — No pole; zero product canonicalized to0 |
branch_policy | not applicable — Unique real decimal product |
tolerance | productStr exact decimal identity; product is an approximate binary64 convenience field, null on nonzero-to-zero or nonfinite conversion |
convergence | not applicable — Finite digit algorithm |
conditioning | Exact multiplication introduces no arithmetic rounding in productStr. Relative sensitivity to nonzero factors is one per factor; relative error at zero is undefined. Input measurement uncertainty is not modeled. |
rounding | No rounding in productStr. JSON numeric inputs already passed through binary64; unsafe integers rejected. Send exact decimal strings. |
overflow | Exact strings retained up to bounded token/precision limits; INPUT_TOO_LONG/TOO_MANY_DIGITS reject; long grid limited to24 significant digits and24 displayed places per factor, otherwise LONG_GRID_TRUNCATED with full product. |
reproducibility | Shared deterministic exact engine at Capability@Version; share URLs restore current-engine inputs, not historical execution. |
independent_oracle | Independent CPython decimal/integer reference; separate O2 per-digit partial reconstruction; private corpus excluded from public bundle |
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.
2552 × 64 = 163328
CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance. 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/multiplication' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"a":8,"b":6},"calculation_version":"1.0.4"}'{
"inputs": {
"a": 8,
"b": 6
},
"calculation_version": "1.0.4"
}POST /api/v1/calc/multiplication. This is a POST calculate endpoint — do not GET it.
Full REST contract: REST API docs.
Declared calculation modes for this capability.
productlongHuman-readable sources plus CVP reference evidence classes.
Sources
Derived identities
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.multiplication"},"_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.multiplication","inputs":{"a":8,"b":6},"calculation_version":"1.0.4"},"_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.0.4) when the result must stay reproducible.
Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.