Source: https://guthlabs.ai/docs/instruments/vis-viva-equation-solver/

instrument / verified-clean

# Vis-Viva Equation Solver

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/vis-viva-equation-solver/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/vis-viva-equation-solver/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/vis-viva-equation-solver/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/vis-viva-equation-solver/qualification/>)

## Ledger state

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

**Area**: Earth & Space (astronomy, orbital mechanics, meteorology, geology, geodesy, oceanography)

**Tranche**: tranche-4

**Evidence ID**: t4-185

**Ledger rows**: 1

No ledger note is attached.

## Review findings

NEEDS_REVIEW because the formula is valid, but the output requires an unstated square-root operation and the units, central body, GM-table selection, and two-body assumptions are not specified. The honest_label field is empty.

### Formula and scope findings

- The vis-viva equation is standard for two-body orbital motion, but the displayed formula computes v², while the stated output is velocity; the implementation must return the positive root v = sqrt(GM(2/r - 1/a)).

- The formula assumes an ideal two-body model with negligible third-body, drag, and non-spherical-gravity effects.

### Unit assumptions

- GM must be the gravitational parameter of the central body, not G alone.

- GM, r, and a must use mutually consistent units; GM in km³/s² with distances in km produces velocity in km/s, while GM in m³/s² with distances in m produces velocity in m/s.

- r is assumed to be the center-to-object orbital radius, not altitude above the body's surface.

- For an elliptical orbit, a > 0, r > 0, and the radicand must be nonnegative; a physically valid orbit also requires the supplied r to lie within that orbit's periapsis and apoapsis radii.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The specification provides no explicit input validation for r=0 or for a negative square-root radicand. Such inputs produce undefined results and must be rejected. The output also lacks a stated sign convention, so it cannot distinguish velocity direction from speed magnitude.

## 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": {
    "GM_km3_s2": 398600,
    "r_km": 7000,
    "a_km": 7000
  },
  "expected_outputs": {
    "velocity_km_s": 7.5460491
  },
  "working": "v² = 398600 × (2/7000 - 1/7000) = 398600 × (1/7000) = 56.9428571 km²/s². v = sqrt(56.9428571) = 7.5460491 km/s."
}
````

## Related workflows

[Orbital Mission Plannerr,a → speed anywhere on ellipse](<https://guthlabs.ai/docs/instrument-workflows/orbital-mission/>)

## 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`
