{
  "capability_id": "math.sum",
  "tool_id": "add",
  "engine": "sum",
  "calculation_version": "1.0.3",
  "generated_at": "2026-10-23T01:27:11.556Z",
  "engine_build": "2026-10-22",
  "test_count": 31,
  "passed": 31,
  "failed": 0,
  "tests_summary": {
    "golden": {
      "passed": 24,
      "total": 24
    },
    "boundary": {
      "passed": 7,
      "total": 7
    },
    "property": {
      "passed": 0,
      "total": 0
    }
  },
  "engine_tested": true,
  "expert_reviewed": false,
  "internally_reviewed": false,
  "review_kind": null,
  "source_checked": true,
  "reviewed_by": null,
  "reviewer_role": null,
  "last_reviewed": null,
  "expert_review": {
    "status": "optional_not_performed",
    "reviewer": null,
    "scope": [
      "formula",
      "input semantics",
      "assumptions",
      "limitations",
      "sources",
      "tests"
    ],
    "note": "Domain expert review is optional under CVP (CVP-EXP-01). Absence does not block CVP Verified. See Review policy for supplemental domain assurance."
  },
  "internal_review": {
    "status": "not_applicable",
    "reviewer": null
  },
  "page": "https://www.calculatorx.com/calc/math/add",
  "api": "https://www.calculatorx.com/api/v1/calc/add",
  "schema_input": "https://www.calculatorx.com/schemas/math.sum.input.json",
  "schema_output": "https://www.calculatorx.com/schemas/math.sum.output.json",
  "assumptions": [
    "Tokens are parsed as decimal numbers; scientific notation is allowed in Sum mode only.",
    "Units are not parsed: enter numeric tokens only, for example 5,3 for values measured in kg; 5 kg is rejected. Use a common unit for all inputs.",
    "Thousands separators are not supported. A comma in 7,890 is a value separator (7 + 890), with a non-blocking warning.",
    "Long addition pads decimal places with zeros so columns align.",
    "Plain decimal tokens are summed in base-10 (exact). Any scientific-notation token switches the list to Neumaier compensated IEEE-754 summation."
  ],
  "limitations": [
    "Plain decimals:48 significant digits and48 fractional places;10000 values,65536 total characters,512 per token. Long:32 nonnegative plain decimals and48 aligned columns.",
    "sumStr/display are exact only for plain decimals and Long. Numeric fields/chart are binary64 conveniences; mean_rational_exact describes the source and numeric approximation flags describe representation. Repeating means round half away to4 decimal places.",
    "Any scientific token selects Neumaier binary64. Conversion, cancellation and intermediate range affect results; no universal ULP guarantee. Nonzero underflow and nonfinite intermediates rejected.",
    "Commas separate values, including apparent thousands groups, which issue a warning. Units are not parsed. Share links use the current engine; historical runtimes are not retained."
  ],
  "boundary_conditions": [
    "Empty input returns no sum.",
    "Any invalid token stops parsing with an error.",
    "Negative values are rejected in Long addition mode.",
    "Long addition rejects scientific notation.",
    "Sum: 10000 values;65536 total characters;512 per token;plain decimals at most48 significant digits and fractional places.",
    "Long:32 nonnegative values and48 aligned columns. Nonzero scientific underflow, nonfinite intermediate sums, unknown keys and conflicting aliases rejected."
  ],
  "sources": [
    {
      "title": "CalculatorX mathematical conventions",
      "section": "Neumaier compensated summation for scientific-notation lists",
      "supports": "Plain decimals sum in base-10; a scientific-notation token switches the list to compensated IEEE-754 summation.",
      "kind": "definition"
    },
    {
      "title": "Margaret Stevens — The Maths Workbook (University of Oxford)",
      "section": "Chapter 1, §1: Algebraic Expressions and Fractions; §3: Equations",
      "url": "https://www.some.ox.ac.uk/wp-content/uploads/2024/08/Maths-Workbook.pdf",
      "supports": "Addition of algebraic terms, decimal fractions and equation transformations. Supports the addition model; does not validate CalculatorX implementation or the compensated-summation algorithm and is not an endorsement.",
      "kind": "reference",
      "publisher": "University of Oxford, Department of Economics; hosted by Somerville College"
    },
    {
      "title": "Arnold Neumaier — Rundungsfehleranalyse einiger Verfahren zur Summation endlicher Summen (1974)",
      "section": "Compensated summation and rounding-error analysis",
      "url": "https://doi.org/10.1002/zamm.19740540106",
      "supports": "Primary source for compensated-summation methods. Numerical error depends on conditioning and conversion; no universal ULP bound or CalculatorX endorsement is claimed.",
      "kind": "reference",
      "publisher": "ZAMM 54, 39–51"
    }
  ],
  "methods": [
    "Exact decimal summation for finite decimal tokens",
    "Neumaier compensated summation when scientific notation is present",
    "Place-value long addition with carrying"
  ],
  "fingerprint": "sha256:900db633206e3fd01a99aae8dc3009cf6066558d19fc6728d433fbf07d62ed6a",
  "tier": "engine_tested",
  "verification": {
    "tests": {
      "passed": 31,
      "total": 31,
      "golden": 24,
      "boundary": 7,
      "property": 0
    },
    "contract_checks": {
      "passed": 6,
      "total": 6
    }
  },
  "evidence_core_generated_at": "2026-10-22T10:58:13.247Z",
  "rendered_at": "2026-10-23T01:27:11.556Z",
  "release_integrity": {
    "status": "verified",
    "scope": "workspace",
    "production_attestation_required": true,
    "calculation_version": "1.0.3",
    "artifacts": {
      "engine": "1.0.3",
      "page": "1.0.3",
      "capability": "1.0.3",
      "evidence": "1.0.3",
      "input_schema": "1.0.3",
      "output_schema": "1.0.3",
      "mcp_contract": "1.0.3"
    },
    "digests": {
      "input_schema_sha256": "0b8022236b6aaf0fc889e544ede24fb9c25860b902d69dfdcecb5ae33f393d40",
      "output_schema_sha256": "33b3cda2930b518af8c98e2b004bef2b5fce37e604920acb0344dc1d69f5f29f",
      "evidence_sha256": "3ea319d0b03a4f19695b5f9e62bcf356b46e59b55f95a4037ce1024cbf0e03c6",
      "evidence_core_sha256": "3ea319d0b03a4f19695b5f9e62bcf356b46e59b55f95a4037ce1024cbf0e03c6",
      "capability_sha256": "bcc934584fe63383f1c0db40386cdca5967ccd472ae91fd4e51b1c41c7bc96e1",
      "engine_sha256": "a664ae25cd2134de7de43a99352933043215473589aec38c9416508150cb1008",
      "mcp_contract_sha256": "8defa770ea0b34118e3444b698842353896edfffa88b4ef1c34898f3f5378790"
    },
    "contract_checks": {
      "total": 6,
      "passed": 6,
      "failed": 0,
      "items": [
        {
          "id": "release-artifacts-aligned",
          "status": "pass",
          "detail": "1.0.3"
        },
        {
          "id": "schema-output-required-declared",
          "status": "pass"
        },
        {
          "id": "schema-valid-input-executes",
          "status": "pass"
        },
        {
          "id": "engine-success-output-validates-schema",
          "status": "pass"
        },
        {
          "id": "schema-rejects-incomplete-input",
          "status": "pass"
        },
        {
          "id": "rest-success-payload-validates-schema",
          "status": "pass"
        }
      ]
    },
    "report": "https://www.calculatorx.com/.well-known/calculatorx-release-integrity.json"
  },
  "tests": [],
  "disclosure": {
    "policy": "calculatorx-public-evidence-v1",
    "full_validation": "private",
    "representation": "summary"
  }
}
