Source: https://guthlabs.ai/docs/instruments/three-phase-power-calculator/implementation/

instrument implementation / implementation-contract

# Three-Phase Power Calculator implementation

A source-bound implementation contract for Three-Phase Power Calculator; deployment and executable qualification remain separate.

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **implementation-contract**

## Binding contract

This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.

**Record owner**: Guth Instruments

**Lifecycle**: verified-with-binding-errata

**Evidence ID**: t4-042

**Effect**: Computation or source lookup only

## Input and validation requirements

- Division by √3 is safe, but any inverse calculation such as current=power/(voltage·PF) requires explicit zero-voltage and zero-PF handling.

- PF values outside [0,1] are invalid if PF is an unsigned magnitude; the implementation must reject them or define signed-PF semantics.

- PF=0 makes calculations that divide by PF undefined, even though direct P, Q, and S calculations remain valid.

- Q sign is indeterminate unless leading or lagging behavior is provided; silently assuming lagging would produce misleading results.

- Unbalanced loads, non-sinusoidal waveforms, phase-to-neutral versus line-to-line voltage confusion, and peak-versus-RMS inputs can produce incorrect results.

- Connection type must be validated before applying wye/delta voltage and current conversions.

## Required corrections

````
[
  {
    "vector": 3,
    "field": "S_VA, Q_var",
    "wrong": 4782.860228,
    "correct": 4780.4602,
    "cause": "used √3≈1.7329 in S (her own Vph used the correct 1.73205)"
  },
  {
    "vector": 4,
    "field": "S_VA, Q_var",
    "wrong": "S 3600, Q 2160",
    "correct": "S 1800, Q 1080",
    "cause": "S doubled; contradicts her own correct P=1440 at PF 0.8"
  }
]
````

## Inspectable interface fixture

The sample below is evidence for interface and validation tests, not a production implementation.

````
{
  "inputs": {
    "connection": "wye",
    "VL_V": 400,
    "IL_A": 10,
    "PF": 0.8,
    "reactive_behavior": "lagging"
  },
  "expected_outputs": {
    "VPh_V": 230.940108,
    "IPh_A": 10,
    "P_W": 5542.562585,
    "Q_var": 4156.921939,
    "S_VA": 6928.20323
  },
  "working": "VPh=VL/√3=400/1.732050807=230.940108 V. For wye, IPh=IL=10 A. P=√3·VL·IL·PF=1.732050807·400·10·0.8=5542.562585 W. S=√3·VL·IL=1.732050807·400·10=6928.20323 VA. |sinθ|=√(1−0.8²)=√0.36=0.6; lagging gives positive Q, so Q=S·0.6=6928.20323·0.6=4156.921939 var."
}
````

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/three-phase-power-calculator/>)[02**Mechanism**](<https://guthlabs.ai/docs/instruments/three-phase-power-calculator/mechanism/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/three-phase-power-calculator/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche4/tranche4-results.json`

- `tranche errata record`
