test(ephemeris): move the expectations BUG-1275 shifts and regenerate three goldens
Independent Staging Quality Gate / validate (push) Successful in 16m45s
Independent Staging Quality Gate / publish (push) Successful in 4m25s

The nutation branch left the quick gate red: eight expectations still encoded
the mean-ayanamsa frame (dasha boundaries two days late, a solar-return frame
gap that was the bug itself, a 0.01 Kala drift from frozen sidereal fixtures)
and three goldens were never regenerated. Python full suite is back to the
baseline list; quick gate passes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
This commit is contained in:
Jesse_Chen
2026-10-08 22:28:09 +08:00
co-authored by Claude Opus 5.5
parent 7a78638beb
commit db0134f9db
9 changed files with 58 additions and 40 deletions
+4 -4
View File
@@ -1597,7 +1597,7 @@
"type": "Position"
},
{
"desc": "合相(4.07°)",
"desc": "合相(4.06°)",
"type": "Conjunction"
}
],
@@ -1629,7 +1629,7 @@
"type": "Position"
},
{
"desc": "合相(4.07°)",
"desc": "合相(4.06°)",
"type": "Conjunction"
}
],
@@ -1709,7 +1709,7 @@
"type": "Position"
},
{
"desc": "合相(4.07°)",
"desc": "合相(4.06°)",
"type": "Conjunction"
}
]
@@ -1776,7 +1776,7 @@
"type": "Position"
},
{
"desc": "合相(4.07°)",
"desc": "合相(4.06°)",
"type": "Conjunction"
}
],
+4 -1
View File
@@ -69,7 +69,10 @@ def test_precise_kala_preserves_archived_comparison_with_corrected_hora() -> Non
assert abs(context["sunrise_hour"] - 6.886306) < 0.00001
assert abs(context["sunset_hour"] - 17.890427) < 0.00001
for planet, expected in PYJHORA_KALA.items():
delta = 52.18 if planet == "Moon" else -60.0 if planet == "Venus" else 0.0
# BUG-1275: Ayana reads tropical = sidereal + ayanamsa. The fixed sidereal
# longitudes of _planets() were captured in the old mean-ayanamsa frame; with the
# true ayanamsa the Moon's Ayana moves 26.09 -> 26.08 (Kala -0.01).
delta = 52.17 if planet == "Moon" else -60.0 if planet == "Venus" else 0.0
assert abs(calc_kala_bala_precise(planet, planets, context)["total"] - expected - delta) < 0.001
+4 -1
View File
@@ -67,7 +67,10 @@ def test_target_longitude_is_the_natal_sun_in_the_solver_frame() -> None:
natal, _asc, natal_jd, _ay = compute_chart_data(*birth, "mean", ayanamsa_name="lahiri")
solver_sun = solar_return._get_sun_lon_jd(natal_jd, ayanamsa_name="lahiri")
chart_sun = natal["planets"]["Sun"]["degree_raw"]
assert abs(chart_sun - solver_sun) * 3600 > 10 # the two frames really differ here
# BUG-1275: the natal chart used to subtract the mean ayanamsa from an apparent
# position, so it sat one nutation (> 10") away from the solver frame. Both now
# use the true (FLG_SIDEREAL) frame and agree.
assert abs(chart_sun - solver_sun) * 3600 < 1
result = _chart(birth, target_year)
assert abs(result["solar_return"]["sun_lon"] - solver_sun) * 3600 < 1
@@ -131,12 +131,15 @@ def test_fixture_dasha_timeline_rejects_workbuddy_regression_claims() -> None:
current["antardasha"]["end"],
)
assert observed["2014-06-15"] == ("Jupiter", "Rahu", "2014-04-27", "2016-09-20")
# BUG-1275: the sidereal Moon now includes nutation on both sides (FLG_SIDEREAL frame),
# which moves every Vimshottari boundary of this fixture about two days earlier.
# Saturn/Venus 2023-07-11 equals an independent Swiss Ephemeris FLG_SIDEREAL calculation.
assert observed["2014-06-15"] == ("Jupiter", "Rahu", "2014-04-25", "2016-09-18")
# BUG-1268 (upstream 4a807e7d): antardashas are laid from the parent
# mahadasha's exact start instant, not its day-truncated date string, so
# Saturn/Venus starts 2023-07-13T05:10:31 (was 2023-07-12 from midnight).
assert observed["2024-03-01"] == ("Saturn", "Venus", "2023-07-13", "2026-09-11")
assert observed["2027-03-01"] == ("Saturn", "Sun", "2026-09-11", "2027-08-24")
assert observed["2024-03-01"] == ("Saturn", "Venus", "2023-07-11", "2026-09-09")
assert observed["2027-03-01"] == ("Saturn", "Sun", "2026-09-09", "2027-08-22")
def test_one_command_user_invocation_acceptance_check() -> None: