Source: https://guthlabs.ai/docs/instruments/pace-split-calculator/mechanism/

instrument mechanism / verified-clean

# Pace / Split Calculator mechanism

The inspectable method record for Pace / Split Calculator, kept separate from implementation and qualification.

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

## Model scope

The arithmetic formulas provided are valid under consistent units, but the spec is incomplete for speed conversion and ambiguous about unit normalization, pace representation, and split-table semantics. These exact ambiguities must be resolved before a PASS verdict.

- The listed formulas correctly define pace = time ÷ distance, time = pace × distance, and segment split time = pace × segment distance when units are consistent.

- The specification claims conversion to and from speed but does not state the required speed formula: speed = distance ÷ time, equivalently speed = 1 ÷ pace only when reciprocal units are handled correctly.

- Unit conversion rules between miles and kilometers, mph and km/h, and minutes per distance are not specified.

- The split formula does not state whether interval distances must sum to the total distance or whether split outputs are segment durations versus cumulative elapsed times.

## Units and conventions

- Time and pace are measured in minutes unless explicitly converted to seconds or hours.

- Distance and interval distances use the same unit within a calculation.

- Pace is expressed as decimal minutes per mile or decimal minutes per kilometer; mm:ss input requires parsing that is not specified.

- Speed is expressed in miles per hour for mile-based calculations and kilometers per hour for kilometer-based calculations.

- For conversion, 1 mile = 1.609344 kilometers and 1 hour = 60 minutes.

- A split table is assumed to contain per-interval durations, and interval distances are assumed to sum to the total distance.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "distance": 5,
    "distance_unit": "mi",
    "time": 40,
    "time_unit": "min",
    "interval_distances": [
      1,
      1,
      1,
      1,
      1
    ],
    "interval_unit": "mi"
  },
  "expected_outputs": {
    "pace": 8,
    "pace_unit": "min/mi",
    "speed": 7.5,
    "speed_unit": "mph",
    "split_times": [
      8,
      8,
      8,
      8,
      8
    ],
    "split_time_unit": "min",
    "total_split_time": 40
  },
  "working": "pace = time ÷ distance = 40 min ÷ 5 mi = 8 min/mi. speed = distance ÷ time = 5 mi ÷ (40 min ÷ 60 min/h) = 5 ÷ (2/3) = 7.5 mi/h. Each split = pace × interval distance = 8 min/mi × 1 mi = 8 min. Five splits total = 8 + 8 + 8 + 8 + 8 = 40 min."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The zero-speed case produces division by zero and undefined time, pace, and splits. Negative-distance handling is also convention-sensitive, and the unit-mode branch can produce 40 minutes or 64.37376 minutes from the same numerical pace and distance unless units are enforced.

## Other records

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