Source: https://guthlabs.ai/docs/instruments/exposure-triangle-ev-calculator/mechanism/

instrument mechanism / verified-clean

# Exposure Triangle / EV Calculator mechanism

The inspectable method record for Exposure Triangle / EV Calculator, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The core EV100 calculation and the stated ISO-adjustment convention are correct under the listed assumptions. Review is required because EV versus EV100 labeling is ambiguous and the claimed equivalent aperture/shutter/ISO list has no generation formula, supported ranges, or definition of equivalence.

- EV=log2(N²/t) is the standard EV100 formula only when N is the dimensionless f-number and t is shutter time in seconds; the output should be explicitly labeled EV100 rather than generic EV.

- EV=EV100+log2(ISO/100) is a standard ISO-adjusted EV convention, but the specification does not define whether its EV output means EV100 or EV at the selected ISO.

- No formula or rule is provided for generating the claimed list of equivalent aperture/shutter/ISO combinations. At fixed ISO, equivalent settings satisfy N1²/t1=N2²/t2; when ISO changes, equal exposure requires ISO1·t1/N1²=ISO2·t2/N2².

- The equivalent-combination output is mathematically non-finite unless the product is bounded to camera-available aperture, shutter-speed, and ISO steps.

## Units and conventions

- N is a dimensionless positive f-number, such as 2, 2.8, or 4; it is not an aperture diameter in millimeters.

- t must be a positive shutter duration in seconds. A value such as 250 ms must be converted to 0.25 seconds before applying the formula.

- ISO is a positive numeric sensitivity rating, with ISO 100 as the normalization reference.

- log2 denotes base-2 logarithm.

- The ISO-adjusted formula assumes the conventional linear ISO relationship and the convention EV_ISO=EV100+log2(ISO/100).

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "f_number": 2,
    "shutter_speed_seconds": 0.25,
    "ISO": 100
  },
  "expected_outputs": {
    "EV100": 4,
    "EV_at_ISO": 4,
    "equivalent_exposure_examples": [
      {
        "f_number": 4,
        "shutter_speed_seconds": 1,
        "ISO": 100
      }
    ]
  },
  "working": "N²=2²=4. t=0.25 s. N²/t=4/0.25=16. EV100=log2(16)=4. ISO adjustment: log2(100/100)=log2(1)=0. EV_at_ISO=4+0=4. Equivalent example: 4²/1=16, matching the original 2²/0.25=16."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

A zero shutter-speed input makes the core EV expression undefined and must be rejected. The specification also has no true formula branch, and ambiguous shutter-speed notation can produce a 13.9315685690-stop discrepancy if interpreted incorrectly.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/exposure-triangle-ev-calculator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/exposure-triangle-ev-calculator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/exposure-triangle-ev-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`

- `BOUNDARY_HAZARD_CATALOG.json`
