# Third-party provenance

SunCalc 2.0.1, Volodymyr Agafonkin, BSD-2-Clause.
Source: https://github.com/mourner/suncalc/tree/bbc91f689ede3ff7173011947d435b3fb6c0485d
Annotated tag v2.0.1 resolves to bbc91f689ede3ff7173011947d435b3fb6c0485d.
`LICENSE` preserves the upstream copyright, redistribution conditions and disclaimer.
The astronomical formulas, coefficient tables and rise/set procedures are translated from `index.js`.
Changes: explicit UTC milliseconds, typed errors/options, immutable configuration, deterministic APIs;
no JS Date, globals, browser bindings or default system clock. All public angles are degrees (v2 conventions).
Only MoonBit standard core is used at runtime (Apache-2.0, separately distributed with the toolchain).
Node is a test-only oracle host, not a dependency of the library.

External accuracy fixtures: unmodified `test/fixtures.json`, `test/compare.js` (renamed .mjs), and `test/fetch-truth.js` from the same pinned SunCalc commit. BSD-2-Clause notice applies. The fixture describes JPL Horizons and USNO responses collected 2026-06-17; these are reused archived reference values, NOT a fresh query to NASA/USNO. MoonSunCalc owns the compiled-library adapter and adds an absolute Moon event time gate.
