Skip to content

Commit 84e06b2

Browse files
g-battagliaclaude
andcommitted
feat(ephemeris): bump libephemeris to 3.0.0rc8 + regenerate all baselines at extended tier
Upgrade the ephemeris backend pin from rc6 to rc8 and regenerate every golden baseline (svg, reports, positions, subjects, aspects, house-systems, sidereal-modes, perspectives, returns, composite, ephemeris-ranges) against rc8 at the extended (DE441) tier. rc8 data-quality changes that drove the baseline drift (all Swiss-Ephemeris validated): - Sidereal ayanamsas (0-46) re-derived from published author (value,epoch) statements via Vondrak Method-B; Lahiri re-anchored to the IAE J2000 constant; Siddhantic mean-Sun ayanamsas rebuilt. These deliberately diverge from Swiss Eph on sidereal positions (sub-arcsec for Fagan/Bradley & Krishnamurti; 10-32" for the Babylonian/ DeLuce/Usha/Khul/Bhasin modes; up to ~5.5' for Yukteshwar's book value) — documented in libephemeris docs/comparison/intentional-divergences.md. - Lunar apsides (Interpolated Lilith/Perigee) re-anchored to actual DE440 apsis passages. - Tropical planets and ASC/MC now match Swiss Eph exactly (rc7's ASC was 0.036" off); this also resolves the chart-SVG ASC drift. pyproject: pin LIBEPHEMERIS_PRECISION=extended as the default for every regenerate:* poe task (regenerate:all, svg, reports, positions, aspects, configurations) so baselines regenerate on-disk with the full-range kernel and BCE/ancient subjects (year 100 AD, 500 BC) resolve instead of falling back — no manual env prefix needed. Report fixtures regenerated at extended now satisfy both --tier=base and --tier=extended under rc8. Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 3d6856b commit 84e06b2

408 files changed

Lines changed: 299671 additions & 226798 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

pyproject.toml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ classifiers = [
4646
requires-python = ">=3.12"
4747
dependencies = [
4848
# TODO before tagging 6.0.0: bump the floor to the stable 3.0.0 once released.
49-
"libephemeris==3.0.0rc6",
49+
"libephemeris==3.0.0rc8",
5050
"pydantic>=2.5",
5151
"svg-polish>=1.0.0",
5252
"requests-cache>=1.2.1",
@@ -257,6 +257,9 @@ help = "Test Python snippets in markdown files"
257257
sequence = ["regenerate:svg:base", "regenerate:svg:extended", "regenerate:svg:modern"]
258258
help = "Regenerate all SVG chart baselines (tests/data/svg/)"
259259

260+
[tool.poe.tasks."regenerate:svg".env]
261+
LIBEPHEMERIS_PRECISION = "extended"
262+
260263
[tool.poe.tasks."regenerate:svg:base"]
261264
cmd = "python scripts/regenerate_test_charts.py"
262265

@@ -270,6 +273,9 @@ cmd = "python scripts/generate_modern_baselines.py"
270273
sequence = ["regenerate:reports:snapshots", "regenerate:reports:output"]
271274
help = "Regenerate all report golden files (tests/fixtures/)"
272275

276+
[tool.poe.tasks."regenerate:reports".env]
277+
LIBEPHEMERIS_PRECISION = "extended"
278+
273279
[tool.poe.tasks."regenerate:reports:snapshots"]
274280
cmd = "python scripts/regenerate_report_snapshots.py"
275281

@@ -280,10 +286,16 @@ cmd = "python scripts/regenerate_test_output.py"
280286
cmd = "python scripts/regenerate_all.py --positions --subjects"
281287
help = "Regenerate expected positions and subjects (tests/data/expected_positions.py, expected_astrological_subjects.py)"
282288

289+
[tool.poe.tasks."regenerate:positions".env]
290+
LIBEPHEMERIS_PRECISION = "extended"
291+
283292
[tool.poe.tasks."regenerate:aspects"]
284293
sequence = ["regenerate:aspects:natal", "regenerate:aspects:synastry"]
285294
help = "Regenerate all expected aspects (tests/data/expected_*_aspects.py)"
286295

296+
[tool.poe.tasks."regenerate:aspects".env]
297+
LIBEPHEMERIS_PRECISION = "extended"
298+
287299
[tool.poe.tasks."regenerate:aspects:natal"]
288300
cmd = "python scripts/regenerate_expected_aspects.py"
289301

@@ -294,9 +306,17 @@ cmd = "python scripts/regenerate_synastry_aspects.py"
294306
cmd = "python scripts/regenerate_all.py --configurations"
295307
help = "Regenerate all configuration-specific fixtures (house-systems, sidereal-modes, perspectives, returns, composite, ephemeris, arabic-parts)"
296308

309+
[tool.poe.tasks."regenerate:configurations".env]
310+
LIBEPHEMERIS_PRECISION = "extended"
311+
297312
[tool.poe.tasks."regenerate:all"]
298313
sequence = ["regenerate:svg", "regenerate:reports", "regenerate:positions", "regenerate:aspects", "regenerate:configurations"]
299314
help = "Regenerate all golden standards"
315+
# Baselines must regenerate at the extended (DE441) tier so ancient/BCE subjects
316+
# (year 100 AD, etc.) resolve on-disk instead of falling back, and so the long-range
317+
# subjects aren't silently dropped (41 vs 32). Per memory baseline-regeneration-tier.
318+
[tool.poe.tasks."regenerate:all".env]
319+
LIBEPHEMERIS_PRECISION = "extended"
300320

301321
[tool.poe.tasks.benchmark]
302322
cmd = "python scripts/benchmark.py"

tests/data/configurations/composite/expected_composite_charts.py

Lines changed: 294 additions & 294 deletions
Large diffs are not rendered by default.

tests/data/configurations/ephemeris/expected_ephemeris_ranges.py

Lines changed: 546 additions & 546 deletions
Large diffs are not rendered by default.

tests/data/configurations/house_systems/expected_positions_house_A.py

Lines changed: 4184 additions & 4184 deletions
Large diffs are not rendered by default.

tests/data/configurations/house_systems/expected_positions_house_B.py

Lines changed: 4184 additions & 4184 deletions
Large diffs are not rendered by default.

tests/data/configurations/house_systems/expected_positions_house_C.py

Lines changed: 4184 additions & 4184 deletions
Large diffs are not rendered by default.

tests/data/configurations/house_systems/expected_positions_house_D.py

Lines changed: 4184 additions & 4184 deletions
Large diffs are not rendered by default.

tests/data/configurations/house_systems/expected_positions_house_F.py

Lines changed: 4184 additions & 4184 deletions
Large diffs are not rendered by default.

tests/data/configurations/house_systems/expected_positions_house_H.py

Lines changed: 4184 additions & 4184 deletions
Large diffs are not rendered by default.

tests/data/configurations/house_systems/expected_positions_house_I.py

Lines changed: 4183 additions & 4183 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)