Source: https://guthlabs.ai/docs/instruments/exposure-bracketing-hdr-stops-planner/mechanism/

instrument mechanism / verified-clean

# Exposure Bracketing / HDR Stops Planner mechanism

The inspectable method record for Exposure Bracketing / HDR Stops Planner, kept separate from implementation and qualification.

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

## Model scope

The core exposure-duration formula is mathematically correct, but the instrument cannot be verified as fully specified until the frame-indexing convention, duration-versus-reciprocal input representation, frame-count constraints, and camera rounding behavior are defined.

- The multiplier formula base*2^(n*stopStep) is correct for exposure duration in seconds: each positive stop doubles the duration and each negative stop halves it.

- The specification does not define how n is assigned from number of frames. To produce brackets around the base exposure, n must be explicitly centered, such as -(frames-1)/2 through +(frames-1)/2.

- Even frame counts require fractional n values under centered indexing; this is valid mathematically but must be specified.

- The formula assumes shutter speed means exposure duration. If shutter speed is represented as the denominator in notation such as 1/125, applying the formula directly reverses the intended direction.

- The specification does not state whether the base exposure must be included, whether frames must be a positive integer, or whether one-frame and zero-stop-step requests are allowed.

## Units and conventions

- base is an exposure duration, not a reciprocal shutter-speed denominator; all shutter durations must use one consistent unit.

- The test vectors use seconds or milliseconds consistently within each vector; multiplying by a dimensionless stop factor preserves that unit.

- A one-stop increase means multiplying exposure duration by 2; a one-stop decrease means multiplying by 1/2.

- The vectors assume centered n values ordered from darkest/shortest exposure to brightest/longest exposure.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "base_seconds": 0.008,
    "number_of_frames": 3,
    "stop_step": 1,
    "n_indices": [
      -1,
      0,
      1
    ]
  },
  "expected_outputs": {
    "shutter_seconds": [
      0.004,
      0.008,
      0.016
    ]
  },
  "working": "For n=-1: 0.008*2^(-1*1)=0.008*(1/2)=0.004 s. For n=0: 0.008*2^(0*1)=0.008*1=0.008 s. For n=1: 0.008*2^(1*1)=0.008*2=0.016 s."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The extreme valid-number input produces a non-finite Infinity output, and the specification does not define validation or rejection behavior. The unspecified frame-index and shutter-direction conventions can also produce reversed or differently centered bracket lists.

## Other records

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