{
  "capability_id": "electrical.apparent_power",
  "tool_id": "amps-to-va",
  "engine": "amps-va",
  "calculation_version": "1.4.1",
  "generated_at": "2026-09-04T23:49:35.086Z",
  "engine_build": "2026-09-04",
  "test_count": 32,
  "passed": 32,
  "failed": 0,
  "tests_summary": {
    "golden": {
      "total": 9,
      "passed": 9
    },
    "boundary": {
      "total": 13,
      "passed": 13
    },
    "property": {
      "total": 10,
      "passed": 10
    }
  },
  "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": "review_required",
    "reviewer": null,
    "scope": [
      "formula",
      "input semantics",
      "assumptions",
      "limitations",
      "sources",
      "tests"
    ],
    "note": "Pending named expert approval per REVIEW.md. Do not treat as critical-engineering-ready."
  },
  "internal_review": {
    "status": "not_applicable",
    "reviewer": null
  },
  "page": "https://www.calculatorx.com/calc/electric/amps-to-va",
  "api": "https://www.calculatorx.com/api/v1/calc/amps-to-va",
  "schema_input": "https://www.calculatorx.com/schemas/electrical.apparent_power.input.json",
  "schema_output": "https://www.calculatorx.com/schemas/electrical.apparent_power.output.json",
  "assumptions": [
    "AC steady-state with RMS voltage and current magnitudes.",
    "Three-phase mode is balanced sinusoidal AC using line-to-line RMS voltage, where V_LL = √3 V_LN and line currents are equal. IEEE 1459 covers a wider set of conditions; this calculator does not.",
    "Total power factor λ is not applied to VA/kVA results."
  ],
  "limitations": [
    "Not for DC systems",
    "Not for unbalanced or nonsinusoidal three-phase; √3 formula assumes balanced sinusoidal V_LL = √3 V_LN and equal line currents",
    "Not for line-to-neutral three-phase mode",
    "Not for equipment protection or conductor sizing"
  ],
  "boundary_conditions": [
    "Missing or non-positive voltage returns an error (UI and API); never a fake 0 A / 0 VA",
    "Power factor outside [0, 1] is rejected when provided; not silently ignored. λ=0 is accepted (P_est=0 when S>0).",
    "Negative primary (current or VA) is rejected",
    "Overflow to Infinity or NaN is rejected as NON_FINITE_RESULT; never returned as a success result"
  ],
  "sources": [
    {
      "title": "IEC 60050 — International Electrotechnical Vocabulary",
      "section": "Apparent power (IEV 131-11-41)",
      "url": "https://www.electropedia.org/iev/iev.nsf/display?openform&ievref=131-11-41",
      "supports": "S = U × I definition of apparent power; unit volt-ampere (VA)",
      "kind": "standard",
      "accessed": "2026-09-04",
      "clause": "IEV 131-11-41"
    },
    {
      "title": "IEC 60050 — International Electrotechnical Vocabulary",
      "section": "Power factor (IEV 131-11-46)",
      "url": "https://www.electropedia.org/iev/iev.nsf/display?openform&ievref=131-11-46",
      "supports": "λ = |P| / S, so λ = 0 when P = 0 and S > 0; optional UI estimate P_est = S × λ_entered uses this definition",
      "kind": "standard",
      "accessed": "2026-09-04",
      "clause": "IEV 131-11-46"
    },
    {
      "title": "IEEE Std 1459-2025",
      "section": "Definitions for electric power measurement under sinusoidal, nonsinusoidal, balanced, or unbalanced conditions",
      "url": "https://standards.ieee.org/ieee/1459/7578/",
      "supports": "IEEE 1459 covers sinusoidal, nonsinusoidal, balanced, and unbalanced conditions. This calculator implements only the balanced sinusoidal three-phase model S = √3 × V_L-L × I_L (V_LL = √3 V_LN, equal line currents).",
      "kind": "standard",
      "accessed": "2026-09-04",
      "publisher": "IEEE",
      "published": "2025-05-16",
      "errata_checked": true
    },
    {
      "title": "BIPM SI Brochure (9th edition, version 4.01)",
      "section": "SI base and derived units for ampere, volt, and power",
      "url": "https://www.bipm.org/en/publications/si-brochure",
      "supports": "V, A, W, and VA unit relationships",
      "kind": "reference",
      "accessed": "2026-09-04",
      "published": "2026-06",
      "doi": "https://doi.org/10.59161/AUEZ1291"
    }
  ],
  "methods": [],
  "fingerprint": "sha256:4cc19bfbfd23d5dc49492c89da9a989642863937c225417904c3ec27e9a51535",
  "tests": [
    {
      "id": "1phi-20A-120V",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "amps-va",
        "primary": 20,
        "volts": 120,
        "phase": "single"
      },
      "expect": 2400,
      "expectWarning": null,
      "actual": 2400,
      "tol": 0.5
    },
    {
      "id": "1phi-12A-230V",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "amps-va",
        "primary": 12,
        "volts": 230,
        "phase": "single"
      },
      "expect": 2760,
      "expectWarning": null,
      "actual": 2760,
      "tol": 0.5
    },
    {
      "id": "3phi-10A-400V",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "amps-va",
        "primary": 10,
        "volts": 400,
        "phase": "three"
      },
      "expect": 6928.203,
      "expectWarning": null,
      "actual": 6928.203230275509,
      "tol": 1
    },
    {
      "id": "3phi-60A-480V",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "amps-va",
        "primary": 60,
        "volts": 480,
        "phase": "three"
      },
      "expect": 49883.06,
      "expectWarning": null,
      "actual": 49883.06325798366,
      "tol": 1
    },
    {
      "id": "va-to-amps-2760",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "va-amps",
        "primary": 2760,
        "volts": 230,
        "phase": "single"
      },
      "expect": 12,
      "expectWarning": null,
      "actual": 12,
      "tol": 0.01
    },
    {
      "id": "boundary-volts-zero",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "amps-va",
        "primary": 12,
        "volts": 0,
        "phase": "single"
      },
      "expectError": "VOLTAGE_MUST_BE_POSITIVE",
      "code": "VOLTAGE_MUST_BE_POSITIVE",
      "error": "Voltage must be greater than zero"
    },
    {
      "id": "boundary-volts-negative",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "amps-va",
        "primary": 12,
        "volts": -230,
        "phase": "single"
      },
      "expectError": "VOLTAGE_MUST_BE_POSITIVE",
      "code": "VOLTAGE_MUST_BE_POSITIVE",
      "error": "Voltage must be greater than zero"
    },
    {
      "id": "boundary-primary-negative",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "amps-va",
        "primary": -5,
        "volts": 230,
        "phase": "single"
      },
      "expectError": "VALUE_MUST_BE_NON_NEGATIVE",
      "code": "VALUE_MUST_BE_NON_NEGATIVE",
      "error": "primary must be greater than or equal to 0"
    },
    {
      "id": "boundary-pf-80",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "amps-va",
        "primary": 12,
        "volts": 230,
        "phase": "single",
        "pf": 80
      },
      "expectError": "POWER_FACTOR_OUT_OF_RANGE",
      "code": "POWER_FACTOR_OUT_OF_RANGE",
      "error": "Power factor must be between 0 and 1 inclusive"
    },
    {
      "id": "boundary-pf-zero",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "amps-va",
        "primary": 10,
        "volts": 120,
        "phase": "single",
        "pf": 0
      },
      "expect": 1200,
      "expectWarning": null,
      "actual": 1200,
      "tol": 0.5
    },
    {
      "id": "boundary-pf-one-ok",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "amps-va",
        "primary": 10,
        "volts": 120,
        "phase": "single",
        "pf": 1
      },
      "expect": 1200,
      "expectWarning": null,
      "actual": 1200,
      "tol": 0.5
    },
    {
      "id": "boundary-unknown-mode",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "watts-va",
        "primary": 12,
        "volts": 230,
        "phase": "single"
      },
      "expectError": "INVALID_MODE",
      "code": "INVALID_MODE",
      "error": "Unsupported mode: watts-va"
    },
    {
      "id": "boundary-unknown-phase",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "amps-va",
        "primary": 12,
        "volts": 230,
        "phase": "split"
      },
      "expectError": "INVALID_PHASE",
      "code": "INVALID_PHASE",
      "error": "phase must be \"single\" or \"three\""
    },
    {
      "id": "boundary-tiny-positive-volts",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "amps-va",
        "primary": 1,
        "volts": 0.000001,
        "phase": "single"
      },
      "expect": 0.000001,
      "expectWarning": null,
      "actual": 0.000001,
      "tol": 1e-12
    },
    {
      "id": "boundary-missing-volts",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "amps-va",
        "primary": 12,
        "volts": null,
        "phase": "single"
      },
      "expectError": "MISSING_REQUIRED_INPUT",
      "code": "MISSING_REQUIRED_INPUT",
      "error": "Voltage is required when calculating apparent power or current"
    },
    {
      "id": "boundary-missing-primary",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "amps-va",
        "volts": 230,
        "phase": "single"
      },
      "expectError": "MISSING_REQUIRED_INPUT",
      "code": "MISSING_REQUIRED_INPUT",
      "error": "primary (current in A, or VA in va-amps mode) is required"
    },
    {
      "id": "boundary-overflow-va",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "amps-va",
        "primary": 1e+308,
        "volts": 1e+308,
        "phase": "single"
      },
      "expectError": "NON_FINITE_RESULT",
      "code": "NON_FINITE_RESULT",
      "error": "Calculation overflowed the finite numeric range"
    },
    {
      "id": "boundary-infinity-volts",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "amps-va",
        "primary": 12,
        "volts": "Infinity",
        "phase": "single"
      },
      "expectError": "INVALID_NUMBER",
      "code": "INVALID_NUMBER",
      "error": "volts must be a finite number"
    },
    {
      "id": "golden-zero-current",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "amps-va",
        "primary": 0,
        "volts": 230,
        "phase": "single"
      },
      "expect": 0,
      "expectWarning": null,
      "actual": 0,
      "tol": 0
    },
    {
      "id": "3phi-va-to-amps-400V",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "va-amps",
        "primary": 6928.203230275509,
        "volts": 400,
        "phase": "three"
      },
      "expect": 10,
      "expectWarning": null,
      "actual": 10,
      "tol": 0.01
    },
    {
      "id": "3phi-amps-kva-10A-400V",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "amps-kva",
        "primary": 10,
        "volts": 400,
        "phase": "three"
      },
      "expect": 6.928203230275509,
      "expectWarning": null,
      "actual": 6.928203230275509,
      "tol": 0.001
    },
    {
      "id": "property-double-current",
      "ok": true,
      "kind": "property",
      "inputs": {
        "mode": "amps-va",
        "primary": 24,
        "volts": 230,
        "phase": "single"
      },
      "expect": 5520,
      "expectWarning": null,
      "actual": 5520,
      "tol": 0.5
    },
    {
      "id": "property-double-voltage",
      "ok": true,
      "kind": "property",
      "inputs": {
        "mode": "amps-va",
        "primary": 12,
        "volts": 460,
        "phase": "single"
      },
      "expect": 5520,
      "expectWarning": null,
      "actual": 5520,
      "tol": 0.5
    },
    {
      "id": "property-roundtrip-va-amps",
      "ok": true,
      "kind": "property",
      "inputs": {
        "mode": "va-amps",
        "primary": 49883.06,
        "volts": 480,
        "phase": "three"
      },
      "expect": 60,
      "expectWarning": null,
      "actual": 59.9999960812547,
      "tol": 0.05
    },
    {
      "id": "amps-kva-12A-230V",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "amps-kva",
        "primary": 12,
        "volts": 230,
        "phase": "single"
      },
      "expect": 2.76,
      "expectWarning": null,
      "actual": 2.76,
      "tol": 0.01
    },
    {
      "id": "property-linearity-current",
      "ok": true,
      "kind": "property",
      "detail": "S(2I,V)=2S(I,V)",
      "expect": 5520,
      "actual": 5520
    },
    {
      "id": "property-linearity-voltage",
      "ok": true,
      "kind": "property",
      "detail": "S(I,2V)=2S(I,V)",
      "expect": 5520,
      "actual": 5520
    },
    {
      "id": "property-roundtrip-va-amps-va",
      "ok": true,
      "kind": "property",
      "detail": "VA→A recovers I",
      "expect": 12,
      "actual": 12
    },
    {
      "id": "property-three-phase-sqrt3",
      "ok": true,
      "kind": "property",
      "detail": "S3φ=√3·V·I",
      "expect": 6928.203230275509,
      "actual": 6928.203230275509
    },
    {
      "id": "property-pf-omitted-equals-pf-one",
      "ok": true,
      "kind": "property",
      "detail": "S(λ omitted)=S(λ=1)",
      "expect": 2760,
      "actual": 2760
    },
    {
      "id": "property-pf-zero-equals-omitted",
      "ok": true,
      "kind": "property",
      "detail": "S(λ=0)=S(λ omitted)",
      "expect": 2760,
      "actual": 2760
    },
    {
      "id": "property-roundtrip-grid",
      "ok": true,
      "kind": "property",
      "detail": "VA↔A round-trip over 64 pairs",
      "expect": 64,
      "actual": 64
    }
  ],
  "tier": "engine_tested",
  "verification": {
    "tests": {
      "passed": 32,
      "total": 32,
      "golden": 9,
      "boundary": 13,
      "property": 10
    },
    "contract_checks": {
      "passed": 1,
      "total": 1
    }
  },
  "evidence_core_generated_at": "2026-09-04T23:38:01.015Z",
  "rendered_at": "2026-09-04T23:49:35.086Z",
  "release_integrity": {
    "status": "verified",
    "scope": "workspace",
    "production_attestation_required": true,
    "calculation_version": "1.4.1",
    "artifacts": {
      "engine": "1.4.1",
      "page": "1.4.1",
      "capability": "1.4.1",
      "evidence": "1.4.1",
      "input_schema": "1.4.1",
      "output_schema": "1.4.1",
      "mcp_contract": "1.4.1"
    },
    "digests": {
      "input_schema_sha256": "16612505e3c98b20ddb8d4b053d3c382eb36c9eb155c15ae25577503400439a1",
      "output_schema_sha256": "e3f4626512c104463369995f0ed62b6b3c7b6e49b9b50c696262bdae877ca189",
      "evidence_sha256": "325c01b490661178b71d0c50b459b97ec5559f02c97658732d2d8c0c2b8bdff9",
      "evidence_core_sha256": "325c01b490661178b71d0c50b459b97ec5559f02c97658732d2d8c0c2b8bdff9",
      "capability_sha256": "5f9cca647dc26cb2b53abd170cf1a018ca8635c179cab29c8bde9aec3e9de19d",
      "engine_sha256": "d2904b6e7262f9b1cb3e159c0b9d01967a88a39c5642f2e4794ad5ba8406079d",
      "mcp_contract_sha256": "38d78d0e6f986e4e7106aad27fabf955436e41fe348e5cbb51864ae384aabd3a"
    },
    "contract_checks": {
      "total": 1,
      "passed": 1,
      "failed": 0,
      "items": [
        {
          "id": "release-artifacts-aligned",
          "status": "pass",
          "detail": "1.4.1"
        }
      ]
    },
    "report": "https://www.calculatorx.com/.well-known/calculatorx-release-integrity.json"
  }
}
