{
  "capability_id": "electrical.volts_to_joules",
  "tool_id": "volts-to-joules",
  "engine": "product",
  "calculation_version": "1.2.0",
  "generated_at": "2026-09-16T22:03:43.708Z",
  "engine_build": "2026-09-15",
  "test_count": 12,
  "passed": 12,
  "failed": 0,
  "tests_summary": {
    "golden": {
      "total": 12,
      "passed": 12
    },
    "boundary": {
      "total": 0,
      "passed": 0
    },
    "property": {
      "total": 0,
      "passed": 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/electric/volts-to-joules",
  "api": "https://www.calculatorx.com/api/v1/calc/volts-to-joules",
  "schema_input": "https://www.calculatorx.com/schemas/electrical.volts_to_joules.input.json",
  "schema_output": "https://www.calculatorx.com/schemas/electrical.volts_to_joules.output.json",
  "assumptions": [
    "Electrostatic potential energy relation; Q is the charge moved through V"
  ],
  "limitations": [
    "Cannot convert volts to joules without a charge (or equivalent)",
    "Shares the product helper with W→J; contracts are distinct (Q vs t)"
  ],
  "boundary_conditions": [
    "V→J (product): zero V or Q → 0 J",
    "J→V (quotient): Q = 0 → 0 V — soft",
    "Elementary path uses e = 1.602176565×10⁻¹⁹ C (scale-product / scale-quotient)",
    "Zero energy on J→V → 0 V"
  ],
  "sources": [
    {
      "title": "SI definition of the volt",
      "section": "1 V = 1 J/C (energy per unit charge)",
      "supports": "E = V × Q; V = E / Q",
      "kind": "definition"
    },
    {
      "title": "NIST Guide to the SI (SP 811)",
      "section": "Joule, volt, coulomb relationships",
      "url": "https://www.nist.gov/pml/special-publication-811",
      "supports": "Coherent SI units for electrostatic energy",
      "kind": "reference"
    },
    {
      "title": "CODATA elementary charge",
      "section": "e ≈ 1.602176565×10⁻¹⁹ C (page constant)",
      "supports": "V→J (e) and J→V (e) scale factors",
      "kind": "reference"
    }
  ],
  "methods": [],
  "fingerprint": "sha256:175ba06d5729d003470fae5badae1fc316684c27b3e52df8c5f7676830bd63f0",
  "tests": [
    {
      "id": "12V-5C",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "a": 12,
        "b": 5
      },
      "expect": 60,
      "expectWarning": null,
      "actual": 60,
      "tol": 0.001
    },
    {
      "id": "12V-1C",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "a": 12,
        "b": 1
      },
      "expect": 12,
      "expectWarning": null,
      "actual": 12,
      "tol": 0.001
    },
    {
      "id": "j-to-v",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "a": 60,
        "b": 5
      },
      "expect": 12,
      "expectWarning": null,
      "actual": 12,
      "tol": 0.001,
      "engine": "quotient"
    },
    {
      "id": "1V-1e",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "a": 1,
        "b": 1,
        "factor": 1.602176565e-19
      },
      "expect": 1.602176565e-19,
      "expectWarning": null,
      "actual": 1.602176565e-19,
      "tol": 1e-28,
      "engine": "scale-product"
    },
    {
      "id": "j-v-e-1eV",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "a": 1.602176565e-19,
        "b": 1,
        "factor": 6241509324671913000
      },
      "expect": 1,
      "expectWarning": null,
      "actual": 0.9999999970218315,
      "tol": 1e-8,
      "engine": "scale-quotient"
    },
    {
      "id": "linear-2x-V",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "a": 24,
        "b": 5
      },
      "expect": 120,
      "expectWarning": null,
      "actual": 120,
      "tol": 0.001
    },
    {
      "id": "linear-2x-Q",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "a": 12,
        "b": 10
      },
      "expect": 120,
      "expectWarning": null,
      "actual": 120,
      "tol": 0.001
    },
    {
      "id": "soft-zero-V",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "a": 0,
        "b": 5
      },
      "expect": 0,
      "expectWarning": null,
      "actual": 0,
      "tol": 1e-12
    },
    {
      "id": "soft-zero-Q",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "a": 12,
        "b": 0
      },
      "expect": 0,
      "expectWarning": null,
      "actual": 0,
      "tol": 1e-12
    },
    {
      "id": "soft-zero-Q-reverse",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "a": 60,
        "b": 0
      },
      "expect": 0,
      "expectWarning": null,
      "actual": 0,
      "tol": 1e-12,
      "engine": "quotient"
    },
    {
      "id": "soft-zero-E-reverse",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "a": 0,
        "b": 5
      },
      "expect": 0,
      "expectWarning": null,
      "actual": 0,
      "tol": 1e-12,
      "engine": "quotient"
    },
    {
      "id": "120V-1C",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "a": 120,
        "b": 1
      },
      "expect": 120,
      "expectWarning": null,
      "actual": 120,
      "tol": 0.001
    }
  ],
  "tier": "engine_tested",
  "verification": {
    "tests": {
      "passed": 12,
      "total": 12,
      "golden": 12,
      "boundary": 0,
      "property": 0
    },
    "contract_checks": {
      "passed": 4,
      "total": 4
    }
  },
  "evidence_core_generated_at": "2026-09-15T06:31:46.555Z",
  "rendered_at": "2026-09-16T22:03:43.708Z",
  "release_integrity": {
    "status": "verified",
    "scope": "workspace",
    "production_attestation_required": true,
    "calculation_version": "1.2.0",
    "artifacts": {
      "engine": "1.2.0",
      "page": "1.2.0",
      "capability": "1.2.0",
      "evidence": "1.2.0",
      "input_schema": "1.2.0",
      "output_schema": "1.2.0",
      "mcp_contract": "1.2.0"
    },
    "digests": {
      "input_schema_sha256": "0f0b3f5dddab328203bf44120bd3ba0659f61d56e9915d36d8e31100d2986b34",
      "output_schema_sha256": "a186863406b9c7290c635c276a3b34612abc70cb54a82c0a62308d9c67c80d4d",
      "evidence_sha256": "5ae79392ef194f9dd7356ece0e5d10dbafe70f775c774bbd9a587fb5a631f49b",
      "evidence_core_sha256": "5ae79392ef194f9dd7356ece0e5d10dbafe70f775c774bbd9a587fb5a631f49b",
      "capability_sha256": "1fc85ecb9fa6c0a910dcfd85abff427d0a41fdb662f7113873893de1146ecd8d",
      "engine_sha256": "c8d4ccdbfeaf61d7b024d4e1babb0c2ba3b324c1b37bd0cb456a526d8d2b1bd1",
      "mcp_contract_sha256": "863098b311a7b17dc4b229a6302b90b3545b175f716e5d84772c7be8e9716b86"
    },
    "contract_checks": {
      "total": 4,
      "passed": 4,
      "failed": 0,
      "items": [
        {
          "id": "release-artifacts-aligned",
          "status": "pass",
          "detail": "1.2.0"
        },
        {
          "id": "schema-valid-input-executes",
          "status": "pass"
        },
        {
          "id": "engine-success-output-validates-schema",
          "status": "pass"
        },
        {
          "id": "schema-rejects-incomplete-input",
          "status": "pass"
        }
      ]
    },
    "report": "https://www.calculatorx.com/.well-known/calculatorx-release-integrity.json"
  }
}
