CVP verified calculation capability
Periodic x₀(1+r/100)^t or continuous x₀e^(kt) growth and decay. Any three of x₀, r/k, t, x(t) solve the fourth; all four verify displayed-precision consistency.
Math Capability ID math.exponential_growth version 1.0.8 CVP VERIFIED CURRENT Engineering
Periodic
x(t) = x₀ × (1 + r/100)^tx(t) = x₀ × e^(k t)t₂ = ln(2) / ln(1 + r/100) (r > 0)t½ = ln(1/2) / ln(1 + r/100) (−100 < r < 0)Modes: solve-xt · solve-t · solve-x0 · solve-rate · verify
Canonical symbols for this capability. Agent schemas remain the contract.
| Symbol | Quantity | Unit | Role |
|---|---|---|---|
x0 | Initial value x₀ | — | input / output |
ratePct | Percent rate r | — | input / output |
t | Time periods / time | — | input / output |
model | Default periodic | — | input / output |
xt | Final value x | — | input / output |
api_version | — | — | output |
api_contract_version | — | — | output |
spec_version | — | — | output |
page | Canonical calculator page URL | — | output |
links | — | — | output |
consistency | Present when x₀, r/k, t, and x | — | output |
Inspectable numeric contract for this Capability@Version. Not a rewrite of the engine.
| Field | Declaration |
|---|---|
numeric_domain | real |
exactness | float64 |
algorithm | x(t)=x0(1+ratePct/100)^t; continuous x0 exp(k t) with ratePct=k; inverse solves on the same identity |
valid_domain | finite real inputs; periodic ratePct > -100; representable nonzero outputs; extreme intermediate factors may be rejected |
singularity_policy | INVALID_INPUT for degenerate inverse; RESULT_OVERFLOW / RESULT_UNDERFLOW for unsupported result range |
branch_policy | not applicable — real principal value only |
tolerance | not applicable — closed form; capability Evidence owns comparison, no global default |
convergence | not applicable — non-iterative |
conditioning | not applicable — not a matrix κ product |
rounding | ieee754_round_ties_to_even |
overflow | ieee754_nonfinite_or_coded_error |
reproducibility | deterministic algorithm + Capability@Version |
independent_oracle | Legacy mpmath table plus exact-binary64-input Python Decimal 1200/1600-digit references; listed inputs only |
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.
50 × (1.04)^90 ≈ 1705.97
CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering 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 29/29.
curl -sS -X POST 'https://www.calculatorx.com/api/v1/calc/exponential-growth' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"x0":50,"ratePct":4,"t":90},"calculation_version":"1.0.8"}'{
"inputs": {
"x0": 50,
"ratePct": 4,
"t": 90
},
"calculation_version": "1.0.8"
}POST /api/v1/calc/exponential-growth. This is a POST calculate endpoint — do not GET it.
Full REST contract: REST API docs.
Declared calculation modes for this capability.
solve-xtsolve-tsolve-x0solve-rateverifyHuman-readable sources plus CVP reference evidence classes.
Sources
Reference evidence classes: O1 model · O3 expected_values · O3 numerical_behavior · 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.exponential_growth"},"_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.exponential_growth","inputs":{"x0":50,"ratePct":4,"t":90},"calculation_version":"1.0.8"},"_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.8) when the result must stay reproducible.
Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.