{
  "capability_id": "math.exponent",
  "tool_id": "exponent",
  "engine": "exponent",
  "calculation_version": "1.0.5",
  "generated_at": "2026-10-28T03:01:57.876Z",
  "engine_build": "2026-10-26",
  "test_count": 38,
  "passed": 38,
  "failed": 0,
  "tests_summary": {
    "golden": {
      "passed": 16,
      "total": 16
    },
    "boundary": {
      "passed": 22,
      "total": 22
    },
    "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/exponent",
  "api": "https://www.calculatorx.com/api/v1/calc/exponent",
  "schema_input": "https://www.calculatorx.com/schemas/math.exponent.input.json",
  "schema_output": "https://www.calculatorx.com/schemas/math.exponent.output.json",
  "assumptions": [
    "Real arithmetic only. Complex values are not returned.",
    "0⁰ is undefined. 0 raised to a negative power is undefined.",
    "Negative bases are allowed only with an integer exponent. Non-integer exponents of a negative base are NOT_REAL (this engine does not special-case odd roots).",
    "Token e as base uses Math.exp(n), not (Math.E)**n.",
    "Solve exponent uses n = log(y)/log(a) only when a > 0, a ≠ 1, y > 0. 1ⁿ = 1 is INFINITELY_MANY; 1ⁿ = 2 is NO_REAL_SOLUTION; 0ⁿ = 0 (n > 0) is INFINITELY_MANY.",
    "Solve base: odd integer n → unique real a = sign(y)·|y|^(1/n). Even integer n and y > 0 → two reals ± with warning TWO_REAL_SOLUTIONS (principal value is non-negative). Even n and y < 0 → NOT_REAL. n = 0 and y = 1 → INFINITELY_MANY."
  ],
  "limitations": [
    "Real power equation y=a^n. solve_for y/a/n; omit the unknown and provide exactly the two known fields. Omitted mode inferred from the two fields. Matching aliases only, unknown keys reject.",
    "Strict decimal/scientific tokens up to512 characters; null/blank/nonfinite/hex/boolean reject; nonzero text rounded to zero rejects NUMERIC_UNDERFLOW. Raw JSON numeric underflow rejects before parse loss. Integer exponent must be an exact safe integer. Semantic constraints follow shape validation.",
    "Only symbolic e uses exp/log; numeric approximations retain their own value. Negative-base forward domain requires integer n; inverse n for negative bases requires an integer reproducing signed y. Base -1 gives infinitely many integer exponents for y=±1. Inverse even integer powers preserve both signs.",
    "Binary64, not exact decimal. Independent fixed review vectors allow16 ULP forward/log-ratio and128 ULP inverse-base reciprocal powers; legacy O3 six vectors retain2 ULP. Not a whole-domain guarantee. Forward relative sensitivity |n| in a; inverse exponent ill-conditioned near a=1. Subnormal results have low relative accuracy. Overflow/nonzero-to-zero results reject.",
    "12 significant digit display, full typed outputs/raw inputs/version in exports. Negative-base graphs do not draw a continuous real curve. Typing local; shared URLs/REST/MCP send inputs and may enter logs; links run current version."
  ],
  "boundary_conditions": [
    "Missing required inputs for the selected solve_for returns MISSING_REQUIRED_INPUT. Invalid solve_for returns INVALID_SOLVE_FOR.",
    "Non-numeric, object, array, boolean, NaN, or Infinity inputs return INVALID_NUMBER.",
    "0⁰ and 0^(n<0) return UNDEFINED_POWER.",
    "Negative a with non-integer n returns NOT_REAL.",
    "IEEE-754 overflow returns RESULT_OVERFLOW, not Infinity. Underflow to 0 for nonzero a returns RESULT_UNDERFLOW.",
    "Identity cases 1ⁿ = 1 and a⁰ = 1 (a ≠ 0) return INFINITELY_MANY. Impossible identities return NO_REAL_SOLUTION."
  ],
  "sources": [
    {
      "title": "NIST Digital Library of Mathematical Functions, Chapter 4",
      "section": "Logarithm, Exponential, Powers",
      "url": "https://dlmf.nist.gov/4",
      "supports": "Real powers a^n, including negative exponents as reciprocals and fractional exponents as roots when the result is real",
      "kind": "reference"
    },
    {
      "title": "NIST DLMF §4.2",
      "section": "Logarithm and the exponential as inverse operations",
      "url": "https://dlmf.nist.gov/4.2",
      "supports": "a^n = exp(n ln a) for a > 0; this engine uses that identity via IEEE-754 a**n / Math.exp, not a table",
      "kind": "reference",
      "publisher": "National Institute of Standards and Technology"
    },
    {
      "title": "CalculatorX mathematical conventions",
      "section": "0^0 undefined; negative base only with integer exponent",
      "supports": "Matches the on-page real-arithmetic contract. solve_for=y is the scalar forward engine; a and n are published inverses of aⁿ = y with explicit multiplicity.",
      "kind": "definition"
    }
  ],
  "methods": [],
  "fingerprint": "sha256:d4013bacbd388a47625fb668af202302ed27ce38f01bcbb9c5dc42b40ba89765",
  "tier": "engine_tested",
  "verification": {
    "tests": {
      "passed": 38,
      "total": 38,
      "golden": 16,
      "boundary": 22,
      "property": 0
    },
    "contract_checks": {
      "passed": 6,
      "total": 6
    }
  },
  "evidence_core_generated_at": "2026-10-26T10:51:29.010Z",
  "rendered_at": "2026-10-28T03:01:57.876Z",
  "release_integrity": {
    "status": "verified",
    "scope": "workspace",
    "production_attestation_required": true,
    "calculation_version": "1.0.5",
    "artifacts": {
      "engine": "1.0.5",
      "page": "1.0.5",
      "capability": "1.0.5",
      "evidence": "1.0.5",
      "input_schema": "1.0.5",
      "output_schema": "1.0.5",
      "mcp_contract": "1.0.5"
    },
    "digests": {
      "input_schema_sha256": "3fd911557db6d76fa297415bd3213a3035cdee322d6ddd6924c90747c8ebf0d9",
      "output_schema_sha256": "f6e814508aeb4a4b236f001a6be51ffdb55e48e84c48560170944c80a373f757",
      "evidence_sha256": "7f4ca4e6c7dc0f8d7e3ca170e2635d1c02014a7c4816d52c0d39d87070496274",
      "evidence_core_sha256": "7f4ca4e6c7dc0f8d7e3ca170e2635d1c02014a7c4816d52c0d39d87070496274",
      "capability_sha256": "2bb3a4099907f72f3201eb731124492da38696aa4dc7541b7b9f8656964c71b4",
      "engine_sha256": "c6ebd8436f08b413e1ac6317b2d48550f2e6639a90dff254244e3aa562158b8d",
      "mcp_contract_sha256": "5898d9426fe62990b5c5eed0b7ac18076acb83b29b083b5b4dd52f28efe79ae5"
    },
    "contract_checks": {
      "total": 6,
      "passed": 6,
      "failed": 0,
      "items": [
        {
          "id": "release-artifacts-aligned",
          "status": "pass",
          "detail": "1.0.5"
        },
        {
          "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"
  }
}
