Source: https://guthlabs.ai/docs/instruments/time-lapse-interval-calculator/

instrument / verified-clean

# Time-Lapse Interval Calculator

The current ledger marks this instrument verified clean within the source-bound verification corpus.

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

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/time-lapse-interval-calculator/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/time-lapse-interval-calculator/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/time-lapse-interval-calculator/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/time-lapse-interval-calculator/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Audio, Music, Photography & Color

**Tranche**: tranche-4

**Evidence ID**: t4-229

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The two supplied arithmetic formulas are conditionally standard, but the spec is incomplete and contains exact ambiguities about units, integer shot-count handling, endpoint timing, storage estimation, and subject speed. These must be resolved before a PASS verdict.

### Formula and scope findings

- The interval formula is correct only when shootDuration and finalDuration use the same time unit and fps is frames per second: interval = shootDuration / (finalDuration × fps).

- totalShots = finalDuration × fps can produce a fractional result, but a camera must capture an integer number of shots; rounding behavior is unspecified.

- The endpoint convention is unspecified: using shootDuration / totalShots assumes the shooting period is divided into shot intervals, while timing the first shot at t=0 and the last shot at the end would use totalShots - 1 intervals.

- The specification lists a storage estimate output but provides no image file-size input or storage formula.

- The computes description mentions subject speed, but no subject-speed input or formula is specified.

### Unit assumptions

- shootDuration and finalDuration must be expressed in the same unit, preferably seconds.

- fps means output video frames per second and must be greater than zero.

- The resulting interval is in seconds when shootDuration and finalDuration are in seconds.

- totalShots represents video frames/photos and should be an integer after an explicitly defined rounding policy.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The calculator breaks or must reject an output-fps value of zero because interval calculation divides by zero. It also has an undocumented unit ambiguity and cannot calculate the requested storage estimate because no image size or storage-per-shot input is specified.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "shootDurationSeconds": 7200,
    "finalDurationSeconds": 30,
    "fps": 30
  },
  "expected_outputs": {
    "intervalSeconds": 8,
    "totalShots": 900
  },
  "working": "totalShots = finalDuration × fps = 30 × 30 = 900 shots. interval = shootDuration ÷ totalShots = 7200 ÷ 900 = 8 seconds."
}
````

## Related workflows

[Photographer's Exposure Benchtimelapse](<https://guthlabs.ai/docs/instrument-workflows/exposure-bench/>)

## Sources and evidence

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

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

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

- `BOUNDARY_HAZARD_CATALOG.json`
