CVP verified calculation capability
Solve ax² + bx + c = 0, or ax² + bx + c ○ rhs for ○ in {<,≤,>,≥}. Sign of a is the outside of the roots. Inequality discovery /quadratic-inequality. Not cubic, not CAS factoring.
Math Capability ID math.quadratic version 1.1.2 CVP VERIFIED CURRENT Core
Equation
ax² + bx + c = 0 (a ≠ 0)x = (−b ± √(b² − 4ac)) / (2a)Δ = b² − 4acxᵥ = −b/(2a), yᵥ = f(xᵥ)Canonical symbols for this capability. Agent schemas remain the contract.
| Symbol | Quantity | Unit | Role |
|---|---|---|---|
a | Finite binary64 number or <=512-character strict decimal/scientific, en-US grouped number or integer fraction; nonzero textual underflow rejects | — | input |
aInput | Finite binary64 number or <=512-character strict decimal/scientific, en-US grouped number or integer fraction; nonzero textual underflow rejects | — | input |
b | Finite binary64 number or <=512-character strict decimal/scientific, en-US grouped number or integer fraction; nonzero textual underflow rejects | — | input |
bInput | Finite binary64 number or <=512-character strict decimal/scientific, en-US grouped number or integer fraction; nonzero textual underflow rejects | — | input |
c | Finite binary64 number or <=512-character strict decimal/scientific, en-US grouped number or integer fraction; nonzero textual underflow rejects | — | input |
cInput | Finite binary64 number or <=512-character strict decimal/scientific, en-US grouped number or integer fraction; nonzero textual underflow rejects | — | input |
rhs | Finite binary64 number or <=512-character strict decimal/scientific, en-US grouped number or integer fraction; nonzero textual underflow rejects | — | input |
d | Finite binary64 number or <=512-character strict decimal/scientific, en-US grouped number or integer fraction; nonzero textual underflow rejects | — | input |
op | Published mode/operator aliases; exact canonicalization followed by applicability checks | — | input |
relation | Published mode/operator aliases; exact canonicalization followed by applicability checks | — | input |
inequality | Published mode/operator aliases; exact canonicalization followed by applicability checks | — | input |
review | — | — | output |
api_version | — | — | output |
api_contract_version | — | — | output |
spec_version | — | — | output |
page | Canonical calculator page URL | — | output |
links | — | — | output |
Inspectable numeric contract for this Capability@Version. Not a rewrite of the engine.
| Field | Declaration |
|---|---|
numeric_domain | real |
exactness | float64 |
algorithm | Bounded exact rational discriminant, shifted inequality constant and vertex; scaled square root and stable q roots; exact Horner graph samples. |
valid_domain | Finite binary64 real a,b,c with nonzero a; solve or inequality lt/le/gt/ge. Strict decimal/scientific, en-US grouping, Unicode minus and integer fractions; tokens<=512characters, fractions projected once. |
singularity_policy | Raw nonzero underflow, conflicting aliases, unknown fields and inapplicable inputs reject. Required scalar outside binary64 or collapsed distinct endpoints rejects NUMERICAL_RANGE_ERROR; exact arithmetic<=16384bits. |
branch_policy | not applicable — real principal value only |
tolerance | note: Independent Fraction/Decimal800/1100 complete packs; fixed-vector root ceiling4ULP, all other values/fields strict. No global error guarantee. |
convergence | not applicable — non-iterative |
conditioning | Near multiple roots are sensitive to coefficient perturbations. Exact branch classification refers to accepted binary64 coefficients, not exact source decimal values. |
rounding | ieee754_round_ties_to_even |
overflow | ieee754_nonfinite_or_coded_error |
reproducibility | deterministic algorithm + Capability@Version |
independent_oracle | Independent CPython Fraction predicates and Decimal800/1100 full result references; old1.1.1 pins retained. |
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.
x² − 5x + 6 = 0 → x = 2, x = 3
CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · solve and four quadratic inequality operators. 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/quadratic' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"a":1,"b":-6,"c":8},"calculation_version":"1.1.2"}'{
"inputs": {
"a": 1,
"b": -6,
"c": 8
},
"calculation_version": "1.1.2"
}POST /api/v1/calc/quadratic. This is a POST calculate endpoint — do not GET it.
Full REST contract: REST API docs.
Declared calculation modes for this capability.
solveinequalityHuman-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.quadratic"},"_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.quadratic","inputs":{"a":1,"b":-6,"c":8},"calculation_version":"1.1.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.1.2) when the result must stay reproducible.
Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.