Source: https://guthlabs.ai/docs/instruments/relative-velocity-composition-classical/mechanism/

instrument mechanism / verified-clean

# Relative Velocity Composition (classical) mechanism

The inspectable method record for Relative Velocity Composition (classical), kept separate from implementation and qualification.

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

## Model scope

The classical vector-addition formula itself is correct under the stated velocity-frame convention, and the honest non-relativistic label is appropriate. The specification needs an explicit vector-angle convention and must either rename the heading output to 'resultant heading' or add the target vector and frame information needed to compute a heading required to reach that target.

- The formula v_AC = v_AB + v_BC is standard only when v_XY explicitly means the velocity of X relative to Y; that notation convention is not stated.

- The claimed output 'heading needed to reach target' is not computable from only two velocity vectors unless a target velocity/vector, target frame, and desired heading definition are also provided. The resultant heading is not necessarily the heading required to reach a target.

## Units and conventions

- Both input velocities must use the same units before addition; components cannot be added directly across mixed units.

- Directions are assumed to be bearings measured counterclockwise from the positive east/x axis, with vector components computed as x = v cos(theta) and y = v sin(theta). A compass UI must explicitly document its bearing convention.

- The reported resultant magnitude has the same velocity unit as the inputs.

- The formula is Galilean/non-relativistic and is appropriate when relativistic effects are negligible.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "v_AB": {
      "magnitude": 8,
      "unit": "m/s",
      "direction_deg_from_east_ccw": 0
    },
    "v_BC": {
      "magnitude": 3,
      "unit": "m/s",
      "direction_deg_from_east_ccw": 90
    }
  },
  "expected_outputs": {
    "resultant_x": 8,
    "resultant_y": 3,
    "resultant_magnitude_m_per_s": 8.544004,
    "resultant_heading_deg_from_east_ccw": 20.556045
  },
  "working": "v_AB = (8 cos 0°, 8 sin 0°) = (8, 0) m/s. v_BC = (3 cos 90°, 3 sin 90°) = (0, 3) m/s. Sum = (8 + 0, 0 + 3) = (8, 3) m/s. Magnitude = sqrt(8^2 + 3^2) = sqrt(64 + 9) = sqrt(73) = 8.544004 m/s. Heading = atan2(3, 8) = 20.556045°."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The extreme-magnitude vector pair overflows JavaScript Number arithmetic to Infinity, so the instrument must reject or explicitly report a non-finite result. The specification also leaves angular sign and heading-wrap conventions unspecified, producing reflected or differently represented headings.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/relative-velocity-composition-classical/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/relative-velocity-composition-classical/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/relative-velocity-composition-classical/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-tranche2/tranche2-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
