Home Developers Capabilities Ratio

CVP verified calculation capability

Ratio 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.3 CVP VERIFIED CURRENT Core

Model

Simplify

Modes: simplify · proportion · scale · split · compare · convert · simp · reduce · prop · solve · multiply · divide · share · allocate · eq · equivalent · fraction · percent · pct

Inputs / Outputs

Canonical symbols for this capability. Agent schemas remain the contract.

SymbolQuantityUnitRole
aExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input
aInputExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input
AExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input / output
bExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input
bInputExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input
BExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input / output
cExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input
cInputExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input
CExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input / output
dExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input
dInputExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input
DExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input / output
kExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input / output
kInputExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input
factorExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input
totalExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input
totalInputExact strings:48 decimal digits per integer/decimal or numerator/denominator; total token≤128 characters—input
terms——input / output
termCount——input
scaleOp——input / output
scale_op——input
op——input
value——output
ratio——output
terms_exact——output
gcf——output
clearing_factor——output
shares——output
solved——output
solved_for——output
equivalent——output
part_to_part——output
part_of_whole—Aoutput
part_of_whole_B——output
simplified——output
viz_terms——output
viz_labels——output

Trusted Math contract

Inspectable numeric contract for this Capability@Version. Not a rewrite of the engine.

FieldDeclaration
numeric_domainrational
exactnessexact
algorithmSix exact-rational modes; denominator clearing/GCF, cross multiplication, scaling, allocation, comparison and conversion
valid_domainInteger, decimal or fraction tokens,48 digits per component,128 characters;2/3 terms. JSON unsafe integers rejected; exact relative to accepted normalized tokens.
singularity_policyALL_ZERO for simplify; proportion requires exactly one blank and nonzero B,D, unique solution; scale factor nonzero; split nonnegative terms and total, positive sum; convert marks undefined fractions/percentages null.
branch_policySix explicit modes; signed rationals reduced to positive denominators;2/3 terms where supported; undefined quotients and nonunique proportions rejected
tolerancenot applicable — exact rational identity; approximate graphical percentages are presentation only
convergencenot applicable — finite rational algebra; Euclidean reduction terminates, no iterative numeric solver
conditioningRational arithmetic adds no roundoff, but small divisors amplify perturbations in quotients and solved proportions. Exactness does not recover input information lost during JSON parsing.
roundingnone for exact accepted rational tokens; binary64 JSON numbers may already round; bars and percent labels are explicitly approximate
overflowbounded48-digit input components; BigInt rational results serialized as exact strings or safe integers
reproducibilitydeterministic exact rational arithmetic relative to accepted normalized tokens + Capability@Version
independent_oraclecvp:math.ratio / Evidence published cases
golden_vectorsEvidence golden + boundary + property (and published_reference_case when listed)

Assumptions / Validity

Declared scope for this capability. Do not use it outside this domain.

Assumptions

Example

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

Open this example in the calculator

Trust

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.

CVP
CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes· View Manifest · CVP overview · Specification
Verified scope
all published modes
Assurance
Core
Declared partition coverage
PASS · 8/8 declared partitions (simplify, proportion, scale, split, compare, convert, three-term, invalid-domain)
Calculation version
1.0.3
Verification
26/26 calculation tests · 11/11 legacy golden · 7/7 legacy boundary · 8/8 legacy property
Production surface contract
10/10
Versions
Calculation 1.0.3 · CVP protocol 1.0.0-proposed · Evidence 2026-10-21.ratio-complete-contract-v3
Verification revision
2026-10-21.ratio-complete-contract-v3 · 7/7 property · digest 980fb61ebf20
Reference
O1 model · O2 expected_values · O2 numerical_behavior
Numerical scope
All six published Ratio modes (simplify, proportion, scale, split, compare, convert), including A:B:C where those modes support it. Independent O2 expected values; exact rational BigInt; Node is runtime host only.
Interfaces
PASS · UI (SSR) / REST / MCP
ui-ssr is query-result HTML, not a live browser session.
CVP suite
19/19 golden · 7/7 CVP boundary · 7/7 invalid · 7/7 property · 2/2 metamorphic · 2/2 round-trip · 3/3 cross-interface · 10/10 CVP contract
Supplemental domain review
Not performed
Named expert review
Not performed
Version lock
Supported (409 VERSION_MISMATCH)
Artifact consistency
Build verified · 1.0.3 (workspace artifacts agree)
Review-policy tier
Engine tested — catalog token engine_tested; supplemental; not CVP status
This calculator CURRENT · Public schema 1.0.3 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓

Call this capability

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.3"}'

POST /api/v1/calc/ratio. This is a POST calculate endpoint — do not GET it.

Full REST contract: REST API docs.

Tool id
ratio
Engine
ratio
REST
POST /api/v1/calc/ratio
MCP
execute_calculation with capability_id: "math.ratio"
Agent input schema
Canonical (MCP / Agent)
REST input schema
Compatibility (tol[] / tol1…)
Output schema
JSON Schema (latest)
Versioned input schema
Immutable pin (1.0.3)
Versioned output schema
Immutable pin (1.0.3)

References

Human-readable sources plus CVP reference evidence classes.

Sources

Derived identities

Reference evidence classes: O1 model · O2 expected_values · O2 numerical_behavior

Try with an agent

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":{}}}}'

Pin calculation_version (1.0.3) when the result must stay reproducible.

Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.