Source: https://guthlabs.ai/docs/instruments/spring-mass-shm-calculator/implementation/

instrument implementation / implementation-contract

# Spring-Mass SHM Calculator implementation

A source-bound implementation contract for Spring-Mass SHM Calculator; deployment and executable qualification remain separate.

Status: **VERIFIED_CLEAN**Lifecycle: **implementation-contract**

## Binding contract

This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.

**Record owner**: Guth Instruments

**Lifecycle**: verified-clean

**Evidence ID**: t6-057

**Effect**: Computation or source lookup only

## Input and validation requirements

- Division by zero or invalid square root occurs if m≤0; k≤0 is also invalid for the claimed ordinary oscillatory SHM model.

- A negative amplitude is mathematically redundant because its sign can be absorbed into φ; the input contract should require A≥0 or normalize the phase.

- Phase-unit ambiguity can cause a major error if degrees are supplied where radians are expected.

- The acceleration output cannot be verified from the listed specification because its formula is omitted.

- Period and frequency are not explicitly defined in the formula list despite being advertised outputs.

- The instrument should state how many time samples are plotted, the time range, and whether numerical rounding or adaptive sampling is used.

- For an ideal oscillator, there are no asymptotes; any displayed asymptote or damping behavior would contradict the honest label.

## Required corrections

No binding erratum is attached to this unique-name record. Implementers must still preserve the declared units, domain, and failure behavior.

## Inspectable interface fixture

The sample below is evidence for interface and validation tests, not a production implementation.

````
{
  "inputs": {
    "k": 100,
    "m": 1,
    "A": 0.2,
    "phi_rad": 0,
    "time_s": 0
  },
  "expected_outputs": {
    "omega_rad_per_s": 10,
    "period_s": 0.628318531,
    "frequency_hz": 1.59154943,
    "x_m": 0.2,
    "v_m_per_s": 0,
    "a_m_per_s2": -20,
    "key_curve_features": {
      "x_roots": "t=(π/2+nπ)/10 s",
      "x_max": "x=+0.2 m when 10t=2πn",
      "x_min": "x=-0.2 m when 10t=(2n+1)π",
      "v_extrema": "v=±2 m/s",
      "a_extrema": "a=±20 m/s²",
      "asymptotes": "none"
    }
  },
  "working": "ω=√(k/m)=√(100/1)=10 rad/s. T=2π/ω=2π/10=0.628318531 s. f=1/T=10/(2π)=1.59154943 Hz. At t=0, θ=ωt+φ=10(0)+0=0. x=A cosθ=0.2 cos0=0.2 m. v=-Aω sinθ=-(0.2)(10)sin0=0 m/s. a=-Aω²cosθ=-(0.2)(10²)cos0=-20 m/s²."
}
````

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/spring-mass-shm-calculator/>)[02**Mechanism**](<https://guthlabs.ai/docs/instruments/spring-mass-shm-calculator/mechanism/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/spring-mass-shm-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-tranche6/tranche6-results.json`
