Positions and angles
vs Swiss EphemerisGolden fixtures regenerated and diffed in continuous integration. Ascendant, midheaven, the nine grahas, nutation and the obliquity all pinned to stated tolerances.
The accuracy programme
Every technique in Jade is checked against an implementation that was written by someone else — because software that only agrees with itself proves nothing. Here is what is verified, what is not, and where the check found a mistake.
Golden fixtures regenerated and diffed in continuous integration. Ascendant, midheaven, the nine grahas, nutation and the obliquity all pinned to stated tolerances.
Four of the sixty-four benefic rows were wrong on the first pass. Three of them cancelled out — the totals still summed correctly — and only the independent check found them.
The technique reads only two nakṣatras and two pādas, so the entire input space is enumerable. Four of the eight tables were wrong before that check, including seven zero cells in the yoni matrix.
Twelve of sixteen agree exactly across the fixture set. The other four are documented divergences with a named option, not silent disagreements.
Two five-year windows a century apart, with an independent bisection on the reference side. Every event count matched exactly.
Row-level security is enabled and forced on every table holding your data, and a probe tries to read across the boundary on every deploy rather than trusting the configuration.
Measured
The budget column is what continuous integration enforces; the measured column is what the shipped ephemeris actually did across 18 fixture charts, generated against swisseph 2.10.03. If a measurement regresses, this page moves with it — nobody retypes anything.
| Quantity | Budget | Worst measured | On |
|---|---|---|---|
| Ayanāṁśa | 0.050″ | 0.0050″ | total-solar-eclipse-day |
| Nutation in longitude | 0.050″ | 0.0049″ | total-solar-eclipse-day |
| Obliquity | 0.200″ | 0.062″ | future-2099 |
| Ascendant | 5.00″ | 1.64″ | future-2099 |
| Midheaven | 5.00″ | 2.02″ | future-2099 |
| Sun | 2.00″ | 3.82″ | future-2099· ΔT |
| Moon | 8.00″ | 69.1″ | future-2099· ΔT |
| Mercury | 15.0″ | 9.53″ | southern-hemisphere |
| Venus | 10.0″ | 5.62″ | future-2099 |
| Mars | 8.00″ | 3.71″ | nineteenth-century-us |
| Jupiter | 10.0″ | 5.90″ | modern-honolulu |
| Saturn | 20.0″ | 13.4″ | v0-reference-chart |
| Rāhu and Ketu (mean) | 2.00″ | 0.431″ | nineteenth-century-us |
| True node | 60.0″ | 27.7″ | arctic-tromso |
| Uranus | 20.0″ | 11.0″ | leap-day |
| Neptune | 25.0″ | 17.4″ | exact-midnight-ut |
| Pluto | 20.0″ | 11.7″ | nineteenth-century-us |
The rows marked ΔT come from charts outside 1900–2050, where the budget is multiplied by 20. Out there Jade’s ΔT polynomial and Swiss Ephemeris’s diverge by seconds of time, and the Moon moves 33″ a minute — so a 69″ disagreement on a 2099 chart is the two programs being asked about instants two seconds apart and both answering correctly. It is a clock difference, not a wrong position, and it is shown in its own colour so a relaxed budget can never be read as a met one.
This is the interactive provider — astronomy-engine, MIT-licensed, fast enough to scrub a timeline at sixty frames a second. It is the right tool for the interface and the wrong one for a printed date, which is why a chart you store is owed a reference-class provider and why that distinction is a field on every chart rather than a footnote here.
Open
Absence is a decision. Each of these could have been implemented from a text and left to look right — which is how software ends up confidently wrong.
Six sources assembled from about twenty sub-components, and authorities differ on at least half. Six components verify exactly against the reference and are exposed individually; ten are not implemented. A total is only as trustworthy as its weakest part, so Jade does not print one.
It renders correctly as geometry, but the traditional Bengali sign arrangement could not be confirmed against a reference implementation. A plausible guess at a regional convention is exactly what a Bengali astrologer spots in one glance.
The in-browser ephemeris is fast enough to scrub a timeline at sixty frames a second, and its timing error runs from a fraction of a minute for the Moon to about an hour for Saturn near a station. It drives the interface; it does not drive a printed date.
The other direction
Verification is not deference. Where the reference implementation disagrees with the classical rule, Jade keeps the classical reading and records why.
Two astrologers disagreeing about ayanāṁśa is normal. Software that hides which one it used is unusable. Jade stores the frame, the node type, the house system and the position basis with every chart, and shows all four in the interface.
Cast a chart you already know well and compare it degree for degree. That is the only test that matters, and it is free.