Source: https://guthlabs.ai/docs/instruments/2d-kinematics-vector-solver/

instrument / verified-clean

# 2D Kinematics Vector 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/2d-kinematics-vector-solver/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/2d-kinematics-vector-solver/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/2d-kinematics-vector-solver/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/2d-kinematics-vector-solver/qualification/>)

## Ledger state

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

**Area**: Physics

**Tranche**: tranche-2

**Evidence ID**: t2-011

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The formulas pass as standard constant-g, no-air-resistance projectile-motion formulas under x0=y0=0 and zero horizontal acceleration. The instrument cannot honestly claim to support a "target" input until the target definition and solving formulas are specified. The honest-label statement correctly excludes air resistance but should also disclose the fixed-gravity, zero-initial-position, and zero-horizontal-acceleration assumptions.

### Formula and scope findings

- The formulas are standard for projectile motion with constant gravitational acceleration, zero initial position, no air resistance, and no horizontal acceleration.

- The stated input option "time or target" is incomplete: no target-reaching formula or target-solving method is provided.

- The position formulas omit initial coordinates; they assume x0=0 and y0=0.

- The formula for vx is time-independent only because horizontal acceleration is assumed to be zero.

### Unit assumptions

- v0 must be in m/s.

- angle must be explicitly specified; the test vectors assume degrees. Radian-versus-degree behavior is otherwise ambiguous.

- g must be in m/s^2, positive downward in the equations shown.

- time must be in seconds.

- x and y outputs are in meters.

- The coordinate system assumes positive x is horizontal and positive y is upward.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The extreme-magnitude vector produces Infinity and -Infinity through overflow in plain JavaScript arithmetic. The solver is also vulnerable to materially different results if angle units or vertical-axis/sign conventions are not enforced.

## 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": {
    "v0_m_per_s": 20,
    "angle": 30,
    "angle_unit": "degrees",
    "g_m_per_s2": 9.81,
    "time_s": 2
  },
  "expected_outputs": {
    "vx_m_per_s": 17.3205,
    "vy_m_per_s": -9.62,
    "x_m": 34.641,
    "y_m": 0.38
  },
  "working": "vx = v0 cos(theta) = 20 cos(30 degrees) = 20(0.866025) = 17.3205 m/s. vy = v0 sin(theta) - gt = 20(0.5) - 9.81(2) = 10 - 19.62 = -9.62 m/s. x = v0 cos(theta)t = 17.3205(2) = 34.641 m. y = v0 sin(theta)t - 0.5gt^2 = 20(0.5)(2) - 0.5(9.81)(2^2) = 20 - 19.62 = 0.38 m."
}
````

## Related workflows

[Kinematics & Collisions Tutorprojectiles](<https://guthlabs.ai/docs/instrument-workflows/kinematics-tutor/>)

## 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-tranche2/tranche2-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
