feat(tajika): year lord by the Panchadhikari rule, ported from upstream c7117f92 (BUG-1214)
Round-4 astrologer ruling Q3. tajika.calc_panchadhikari_year_lord and its
missing pieces (Tri-Rasi tables, planet index maps, ayanamsa-aware PyJHora
lookups) plus references/tajika_panchavargiya_rules.json (blob e8c15ac3) are
ported verbatim from yinduzhanxing c7117f92, with one keyword added
(muntha_sign_idx): upstream builds the Muntha-lord candidate from the annual
Lagna + years; ours stays natal Lagna + completed years (BUG-1212).
Both annual producers (solar_return_full_report, cmd_tajika) call the new
tajika_year_lord.select_annual_year_lord, so the pack conflict gate compares
the same rule. Output carries candidates / candidate_list with Panchavargiya
score and engine, aspect flags, selection_basis and a one-sentence basis
(zh/en). The product path always uses the native proxy (PyJHora is AGPL, absent
from the API image and CI); JYOTISH_YEAR_LORD_PYJHORA_REFERENCE=1 restores the
upstream PyJHora lookup for research. Card varshesha_basis and the report
'Selection basis' rows show the sentence; the BUG-1212 stand-in label is gone.
Mudda Dasha and Tri-Pataka follow the selected year lord.
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:
co-authored by
Claude Opus 5.5
parent
bc03bba26b
commit
0afcc2d9a3
@@ -576,12 +576,12 @@ def render_pl9_parity_markdown(packet: dict) -> str:
|
||||
if year_lord.get('status') == 'conflict':
|
||||
return '两种计算口径给出的年主不同,暂不合并'
|
||||
data = _dict(year_lord.get('data') or year_lord)
|
||||
muntha_data = _dict(_dict(muntha).get('data'))
|
||||
# BUG-1214: the producer's one-sentence Panchadhikari basis (replaces
|
||||
# the BUG-1212 "Muntha lord for now" stand-in).
|
||||
if data.get('selection_basis_text'):
|
||||
return _cell(data['selection_basis_text'])
|
||||
if data.get('selection_basis'):
|
||||
return _cell(data['selection_basis'])
|
||||
if data.get('year_lord') and data['year_lord'] == muntha_data.get('muntha_lord'):
|
||||
# BUG-1212 (甲11): say plainly that this is a stand-in for Panchavargiya.
|
||||
return '暂用 Muntha 主星;占星师口径为 Panchavargiya,待接入'
|
||||
return '-'
|
||||
|
||||
def _degree(value) -> str:
|
||||
|
||||
Reference in New Issue
Block a user