CVP verified calculation capability
Simplify, scale, and compare ratios; solve proportions; split a total; convert part-to-part ratios to fraction, decimal, and part-of-whole percent using exact rationals.
Math Capability ID math.ratio version 1.0.2 CVP VERIFIED CURRENT Core
Simplify
r₁:⋯:rₙ → exact rationals; L=LCM(d₁,…,dₙ); rᵢ′=L·rᵢ; g=GCF(|r₁′|,…,|rₙ′|); (r₁′÷g):⋯:(rₙ′÷g)A/B = C/D → A·D = B·Cr₁:⋯:rₙ → (k·r₁):⋯:(k·rₙ)partᵢ = total × (termᵢ / Σ terms) with every term ≥ 0 and Σ terms > 0Modes: simplify · proportion · scale · split · compare · convert
Canonical symbols for this capability. Agent schemas remain the contract.
| Symbol | Quantity | Unit | Role |
|---|---|---|---|
a | First term | — | input |
b | Second term | — | input |
c | Third term, or proportion/compare C | — | input |
d | Proportion/compare D | — | input |
k | Scale factor | — | input / output |
total | Total to split | — | input |
aInput | Share-URL alias for a | — | input |
bInput | Share-URL alias for b | — | input |
cInput | Share-URL alias for c | — | input |
dInput | Share-URL alias for d | — | input |
kInput | Share-URL alias for k | — | input |
totalInput | Share-URL alias for total | — | input |
terms | 2 or 3 terms for simplify/scale/split | — | input / output |
termCount | Alias for terms | — | input |
scaleOp | Scale multiply | — | input / output |
scale_op | Alias for scaleOp | — | input |
op | Alias for scaleOp | — | input |
value | — | — | output |
ratio | — | — | output |
terms_exact | — | — | output |
gcf | — | — | output |
clearing_factor | — | — | output |
shares | — | — | output |
solved | — | — | output |
solved_for | — | — | output |
A | — | — | output |
B | — | — | output |
C | — | — | output |
D | — | — | output |
equivalent | — | — | output |
part_to_part | — | — | output |
part_of_whole | — | A | output |
part_of_whole_B | — | — | output |
simplified | — | — | output |
viz_terms | — | — | output |
viz_labels | — | — | output |
Inspectable numeric contract for this Capability@Version. Not a rewrite of the engine.
| Field | Declaration |
|---|---|
numeric_domain | integer |
exactness | exact |
algorithm | GCD-reduced a:b |
valid_domain | integers; not both zero |
singularity_policy | INVALID_INPUT when a = b = 0 |
branch_policy | not applicable — integer domain |
tolerance | not applicable — exact integer identity |
convergence | not applicable — non-iterative Euclidean / combinatorial |
conditioning | not applicable — not a floating matrix |
rounding | none — BigInt / exact integer |
overflow | coded error or stringified BigInt when exceeding JSON number |
reproducibility | deterministic exact integer + Capability@Version |
independent_oracle | cvp:math.ratio / Evidence published cases |
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.
12:18 → 2:3; 1.5:2.25 → 2:3; 3/4:5/6 → 9:10; 4:7 = x:21 → x=12
CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes. 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. Production surface contract 10/10.
curl -sS -X POST 'https://www.calculatorx.com/api/v1/calc/ratio' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"mode":"simplify","a":12,"b":18},"calculation_version":"1.0.2"}'{
"inputs": {
"mode": "simplify",
"a": 12,
"b": 18
},
"calculation_version": "1.0.2"
}POST /api/v1/calc/ratio. This is a POST calculate endpoint — do not GET it.
Full REST contract: REST API docs.
Human-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.ratio"},"_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.ratio","inputs":{"mode":"simplify","a":12,"b":18},"calculation_version":"1.0.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.0.2) when the result must stay reproducible.
Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.