fix(engine): D9 double-transit targets check the D9 signs they name (BUG-1060)

`cmd_double_transit_pac` placed the `D9_{N}宫` target on the D9 lagna sign
and the `D9_{lord}(宫主)` target on that planet's D1 longitude. Both now sit
on D9 signs (D9 house-N sign; the lord's navamsa sign), built in one
testable helper. Target names, D1 and Chandra Lagna layers are unchanged
(pre-fix golden, byte-identical). Evidence-card golden regenerated with the
capture script (one public chart: double-transit conclusions 9 -> 10).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
This commit is contained in:
Jesse_Chen
2026-09-27 17:30:05 +08:00
co-authored by Claude Opus 5.5
parent 5671039af0
commit f6fa367f2b
6 changed files with 2655 additions and 20 deletions
@@ -8,7 +8,13 @@ default twelve-month horizon. External VedAstro is not called (same stand-in
as the research runner). Each response is trimmed by key only: every kept
value is the engine's own value, unchanged.
PYTHONHASHSEED=0 python scripts/research/capture_consult_evidence_card_golden.py
JYOTISH_API_CHART_CACHE_TTL_SECONDS=0 PYTHONHASHSEED=0 \
python scripts/research/capture_consult_evidence_card_golden.py
The chart cache (`scratch/local/api_chart_cache`, 15-minute TTL) stores
responses with sorted keys, so a warm cache changes dict and list order (not
values) between runs; TTL 0 keeps every request cold and the output
byte-reproducible (BUG-1060).
"""
from __future__ import annotations