CVP verified calculation capability
Exact bounded prime factorization and primality with sorted factors/exponents, complete counts and empty-product handling for1.
Math Capability ID math.prime_factorization version 1.0.1 CVP VERIFIED CURRENT Core
Canonical form
n = p₁^{e₁} × p₂^{e₂} × …n is prime iff the factorization is n¹Modes: factorize · is prime
Canonical symbols for this capability. Agent schemas remain the contract.
| Symbol | Quantity | Unit | Role |
|---|---|---|---|
n | — | — | input / output |
is_prime | — | — | output |
factors | — | — | output |
canonical | — | — | output |
omega | — | — | output |
big_omega | — | — | output |
max_n | — | — | output |
value | — | — | output |
identity | — | — | output |
classification | — | — | output |
algorithm | — | — | output |
numeric_domain | — | — | output |
exactness | — | — | output |
numeric_backend | — | — | output |
work | — | — | output |
Inspectable numeric contract for this Capability@Version. Not a rewrite of the engine.
| Field | Declaration |
|---|---|
numeric_domain | integer |
exactness | exact |
algorithm | exact BigInt trial division: factor2 then odd divisors; sorted prime factors |
valid_domain | integer1<=n<=10^12; safe JSON integer or digit string,13 digits/512 characters maximum; n/nInput aliases must agree |
singularity_policy | n=1 is valid with empty factors and neither prime nor composite. n<1 refuses VALUE_MUST_BE_POSITIVE; invalid types/modes/unknown keys/conflicting aliases reject. |
branch_policy | not applicable — integer domain |
tolerance | not applicable — exact integer identity |
convergence | not applicable — non-iterative Euclidean / combinatorial |
conditioning | Discrete integer perturbations can change primality and factors abruptly. No floating convergence or measurement uncertainty model. Bounded ordinary factorization, not cryptographic-size service. |
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 sieve-generated trial-prime list and integer factorization; strict complete-pack/type comparison in CVP math.prime_factorization |
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.
n=12 → 2^2 × 3
CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · Sampled complete packs for both published modes, one/prime/prime-powers/semiprimes and bounded near10^12 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 6/6.
curl -sS -X POST 'https://www.calculatorx.com/api/v1/calc/prime-factorization' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"n":12},"calculation_version":"1.0.1"}'{
"inputs": {
"n": 12
},
"calculation_version": "1.0.1"
}POST /api/v1/calc/prime-factorization. This is a POST calculate endpoint — do not GET it.
Full REST contract: REST API docs.
Declared calculation modes for this capability.
factorizeis_primeHuman-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.prime_factorization"},"_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.prime_factorization","inputs":{"n":12},"calculation_version":"1.0.1"},"_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.1) when the result must stay reproducible.
Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.