Source: https://guthlabs.ai/docs/instruments/apparent-stellar-motion-proper-motion-projector/implementation/

instrument implementation / implementation-contract

# Apparent Stellar Motion / Proper Motion Projector implementation

A source-bound implementation contract for Apparent Stellar Motion / Proper Motion Projector; 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**: t5-188

**Effect**: Computation or source lookup only

## Input and validation requirements

- Division by cos(δ) is required when converting μ_α* to an RA-coordinate rate and becomes singular or numerically unstable at δ = ±90°.

- The specification does not constrain or validate time units; using months, days, or seconds without conversion to years produces incorrect results.

- The specification does not require initial RA/Dec even though they are necessary for new coordinates.

- RA wraparound at 0°/360° must be handled.

- Declination must remain within [-90°, 90°]; simple addition can produce invalid coordinates near a pole.

- Long-baseline extrapolation omits radial-velocity perspective acceleration, as acknowledged by the honest label, and also omits exact spherical-coordinate propagation.

- A zero or near-zero time span is valid, but non-finite inputs and excessively large values need validation.

## 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": {
    "initial_ra_deg": 120,
    "initial_dec_deg": 30,
    "proper_motion_ra_cos_dec_arcsec_per_year": 0.15,
    "proper_motion_dec_arcsec_per_year": -0.2,
    "time_years": 10
  },
  "expected_outputs": {
    "angular_displacement_arcsec": 2.5,
    "new_ra_deg": 120.0004811252,
    "new_dec_deg": 29.9994444444
  },
  "working": "ΔRA* = 0.15 × 10 = 1.5 arcsec. ΔDec = -0.2 × 10 = -2.0 arcsec. Angular displacement = sqrt(1.5² + (-2.0)²) = sqrt(2.25 + 4.00) = sqrt(6.25) = 2.5 arcsec. cos(30°) = 0.8660254038, so the RA coordinate shift = 1.5 / 0.8660254038 = 1.7320508076 arcsec = 1.7320508076 / 3600 = 0.0004811252°. The Dec shift = -2.0 / 3600 = -0.0005555556°. New RA = 120.0000000000 + 0.0004811252 = 120.0004811252°. New Dec = 30.0000000000 - 0.0005555556 = 29.9994444444°."
}
````

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/apparent-stellar-motion-proper-motion-projector/>)[02**Mechanism**](<https://guthlabs.ai/docs/instruments/apparent-stellar-motion-proper-motion-projector/mechanism/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/apparent-stellar-motion-proper-motion-projector/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-tranche5/tranche5-results.json`
