test(consult): re-capture consultation goldens from the real engine (BUG-1213/1214/1215)

capture_consult_evidence_card_golden.py and capture_consult_biography_backtest_golden.py
(PYTHONHASHSEED=0, JYOTISH_API_CHART_CACHE_TTL_SECONDS=0). Differences are this
batch's own: yogas d9_dignity_modifier (BUG-1213, all None on these charts),
annual year lord / varshesha_basis / Mudda segments (BUG-1214), Narayana
profile + algorithm_note (BUG-1215; capture keeps the two keys). Card test
gains one assertion: timing.narayana.algorithm is the legacy note.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
Jesse_Chen
2026-10-03 16:42:15 +08:00
co-authored by Claude Opus 5.5
parent 9eb22f6363
commit 921b336ba5
4 changed files with 7 additions and 3 deletions
@@ -187,6 +187,8 @@ test("every domain's card covers Part B: dual dasha, domain vargas, functional b
assert.match(String(dig(timing, "vimshottari", level, "end")), isoDate, `${where} ${level} end`);
}
assert.equal(typeof dig(timing, "narayana", "md", "sign"), "string", `${where} Narayana md`);
// BUG-1215: the running Narayana is labelled as the legacy algorithm.
assert.equal(dig(timing, "narayana", "algorithm"), "旧算法(从上升起、一律顺行),待替换为 Sanjay Rath 版", `${where} Narayana algorithm`);
// Domain vargas: every varga the domain's spec names.
const section = card.domain_sections[domain];
assert.ok(section, `${where} domain section`);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -59,7 +59,9 @@ MODULE_KEEP = (
"ashtakavarga", "dasha_sub_periods", "kp_cusps", "gulika",
"functional_benefic_malefic", "kakshya", "yogas", "chara_dasha", "transits",
)
NARAYANA_KEEP = ("lagna_sign", "current_dasha", "current_year", "current_age", "mahadasha_sequence")
# BUG-1215: + profile / algorithm_note (the legacy-algorithm label the card carries).
NARAYANA_KEEP = ("lagna_sign", "current_dasha", "current_year", "current_age", "mahadasha_sequence",
"profile", "algorithm_note")
def _pick(value: dict[str, Any], keys: tuple[str, ...]) -> dict[str, Any]: