# PathFinder calculation benchmark specification

Status: frozen before the benchmark measurements were generated on 2026-09-05.

This benchmark measures deterministic calculation output. It does not measure whether
astrological interpretations predict events, describe people, or produce useful advice.

## Reference instruments

- Planetary longitude and station references: NASA JPL Horizons observer ephemerides,
  quantity 31 (`ObsEcLon`), geocentric apparent true ecliptic of date. Horizons API:
  https://ssd-api.jpl.nasa.gov/doc/horizons.html
- House cusp references: Swiss Ephemeris 2.10 `swe_houses_ex`, tropical, true equator and
  equinox of date. Programmer documentation:
  https://www.astro.com/swisseph/swephprg.htm
- Civil-time references: the IANA Time Zone Database distributed by Noda Time. The emitted
  result records the exact bundled TZDB version. Sources:
  https://www.iana.org/time-zones and https://nodatime.org/3.3.x/userguide/tzdb

## Frozen cases and acceptance floors

### Apparent geocentric longitude

The suite contains the Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune,
Pluto, and Chiron at these UTC instants:

- 1950-01-01T00:00:00Z
- 2000-01-01T12:00:00Z
- 2024-01-01T12:00:00Z
- 2050-01-01T00:00:00Z

Angular error is the shortest circular distance. The acceptance floor is 60 arcseconds for
the Sun through Pluto, including the Moon. Astronomy Engine documents a +/-1 arcminute design
target. Chiron uses PathFinder's gravity simulation and retains its previously certified
1,800-arcsecond (0.5 degree) floor. Mean lunar nodes and mean Black Moon Lilith are disclosed
but excluded because they are analytical conventions rather than JPL-integrated bodies.

### House cusps

All twelve tropical cusps are compared at a one-degree floor, matching PathFinder's published
angle contract. Dataset revision `calculation-benchmark-5` publishes 19 location/epoch/system
cases (228 cusp rows) across Placidus, Koch, Regiomontanus, and Campanus:

| Case | UTC instant | Latitude | Longitude | Requested system | Reference system |
|---|---|---:|---:|---|---|
| London J2000 | 2000-01-01T00:00:00Z | 51.5074 | -0.1278 | Placidus | Placidus |
| New York eclipse | 2024-04-08T18:00:00Z | 40.7128 | -74.0060 | Placidus | Placidus |
| Sydney historical | 1950-01-01T00:00:00Z | -33.8688 | 151.2093 | Placidus | Placidus |
| Tromso polar | 2024-06-21T12:00:00Z | 69.6492 | 18.9553 | Placidus | Porphyry |
| London J2000 Koch | 2000-01-01T00:00:00Z | 51.5074 | -0.1278 | Koch | Koch |
| London J2000 Regiomontanus | 2000-01-01T00:00:00Z | 51.5074 | -0.1278 | Regiomontanus | Regiomontanus |
| London J2000 Campanus | 2000-01-01T00:00:00Z | 51.5074 | -0.1278 | Campanus | Campanus |
| New York eclipse Koch | 2024-04-08T18:00:00Z | 40.7128 | -74.0060 | Koch | Koch |
| New York eclipse Regiomontanus | 2024-04-08T18:00:00Z | 40.7128 | -74.0060 | Regiomontanus | Regiomontanus |
| New York eclipse Campanus | 2024-04-08T18:00:00Z | 40.7128 | -74.0060 | Campanus | Campanus |
| Sydney historical Koch | 1950-01-01T00:00:00Z | -33.8688 | 151.2093 | Koch | Koch |
| Sydney historical Regiomontanus | 1950-01-01T00:00:00Z | -33.8688 | 151.2093 | Regiomontanus | Regiomontanus |
| Sydney historical Campanus | 1950-01-01T00:00:00Z | -33.8688 | 151.2093 | Campanus | Campanus |
| Tromso polar Koch | 2024-06-21T12:00:00Z | 69.6492 | 18.9553 | Koch | Porphyry |
| Tromso polar Regiomontanus | 2024-06-21T12:00:00Z | 69.6492 | 18.9553 | Regiomontanus | Porphyry |
| Tromso polar Campanus | 2024-06-21T12:00:00Z | 69.6492 | 18.9553 | Campanus | Porphyry |
| Gothenburg Koch midsummer | 2024-06-21T12:00:00Z | 57.7089 | 11.9746 | Koch | Koch |
| Reykjavik Regiomontanus midsummer | 2024-06-21T12:00:00Z | 64.1466 | -21.9426 | Regiomontanus | Regiomontanus |
| Reykjavik Campanus midsummer | 2024-06-21T12:00:00Z | 64.1466 | -21.9426 | Campanus | Campanus |

Placidus and Koch fall back to Porphyry above 60 degrees latitude; Regiomontanus and
Campanus fall back to Porphyry above 66 degrees. Polar rows request Placidus, Koch,
Regiomontanus, and Campanus and truthfully report PathFinder's Porphyry fallback. The
Tromso Koch, Regiomontanus, and Campanus rows compare that documented Porphyry fallback
with Swiss Porphyry; they are not Koch, Regiomontanus, or Campanus accuracy measurements.
Polar rows must not be reported as successful calculations in the requested system.

### Transit crossing and station timing

The transit-crossing cases are the three apparent geocentric Mercury crossings of 20 degrees
Aries during the March-May 2024 retrograde loop. The result is compared with JPL-derived
crossing instants at a 90-minute floor.

The station cases are Mercury's April 2024 direct station, Saturn's June 2024 retrograde
station, and Pluto's May 2024 retrograde station. A station is defined as the local extremum
of unwrapped apparent geocentric ecliptic longitude. Both reference and PathFinder searches
sample a ten-minute grid around the bracketed station and use three-point parabolic
interpolation at the extremum. The acceptance floor is six hours.

### Historical civil time

The suite resolves named IANA zones, not caller-supplied numeric offsets:

| Case | Requested local time | IANA zone | Edge exercised |
|---|---|---|---|
| Samoa date-line skip | 2011-12-30T12:00:00 | Pacific/Apia | Entire skipped civil day |
| British Double Summer Time | 1941-07-01T12:00:00 | Europe/London | Wartime UTC+02:00 |
| Amsterdam local mean time | 1850-01-01T12:00:00 | Europe/Amsterdam | Pre-standard-time offset |

The UTC instant, selected offset, resolved local time, warning code, and TZDB version are
published. Gap resolution follows the product contract: shift forward by the gap. Ambiguous
times choose the earlier occurrence.

## Reporting rules

- Publish every row, including failures; do not publish only aggregates.
- Report signed or circular error in degrees and absolute error in arcseconds/minutes.
- Record package and TZDB versions alongside results.
- A passing row means only that it met the frozen numerical floor.
- Do not describe the benchmark as evidence for event-prediction or interpretation accuracy.
- The calculation kernel and benchmark runner are public under MIT at immutable release
  v1.0.0 of https://github.com/deliqs/pathfinder-calculation-kernel. Public data and
  methodology may be copied under the accompanying MIT license.
