preserve honest tajika strength boundaries
This commit is contained in:
@@ -5098,7 +5098,7 @@ def cmd_full_reading(args):
|
||||
report['modules']['tajika_yogas'] = tc_yogas
|
||||
|
||||
# Sahams(特殊点)—— 需要出生时间
|
||||
birth_dt = getattr(args, 'birth_datetime', None)
|
||||
birth_dt = _birth_datetime_from_args(args)
|
||||
if birth_dt and planet_lons:
|
||||
sahams_result = calc_all_sahams(
|
||||
planet_lons,
|
||||
|
||||
+33
-1
@@ -256,12 +256,44 @@ def calc_tajika_strength_layers(
|
||||
year_lord: Optional[str] = None,
|
||||
) -> Dict:
|
||||
"""Block the legacy private-Varga strength proxy pending parity evidence."""
|
||||
normalized = {
|
||||
planet: float(planet_lons[planet]) % 360
|
||||
for planet in CLASSICAL_PLANETS
|
||||
if planet in planet_lons and _is_number(planet_lons[planet])
|
||||
}
|
||||
harsha_bala = {
|
||||
planet: _calc_harsha_bala_for_planet(planet, lon, asc_lon, year_lord)
|
||||
for planet, lon in normalized.items()
|
||||
}
|
||||
panchavargiya_bala = {
|
||||
planet: {
|
||||
'status': 'blocked',
|
||||
'reason': 'unified_varga_core_and_golden_oracle_parity_required',
|
||||
}
|
||||
for planet in normalized
|
||||
}
|
||||
return {
|
||||
'status': 'blocked',
|
||||
'method': 'Tajika Harsha/Panchavargiya Bala',
|
||||
'reason': 'panchavargiya_requires_unified_varga_core_and_golden_oracle_parity',
|
||||
'blocked_layers': ['Panchavargiya Bala', 'combined Tajika strength'],
|
||||
'available_planets': len(planet_lons or {}),
|
||||
'available_planets': len(normalized),
|
||||
'harsha_bala': harsha_bala,
|
||||
'panchavargiya_bala': panchavargiya_bala,
|
||||
'combined_strength': {
|
||||
planet: {
|
||||
'status': 'blocked',
|
||||
'reason': 'panchavargiya_component_unverified',
|
||||
'score': harsha_bala[planet]['score'],
|
||||
'max_score': harsha_bala[planet]['max_score'],
|
||||
'grade': 'blocked',
|
||||
'components': {'harsha_bala': harsha_bala[planet]['score']},
|
||||
}
|
||||
for planet in normalized
|
||||
},
|
||||
'summary': {
|
||||
'next_action': 'Import unified varga-full output and external golden-oracle evidence before rendering Tajika strength.',
|
||||
},
|
||||
}
|
||||
|
||||
# Legacy local Varga proxy retained below only for source history.
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def test_full_reading_derives_saham_datetime_from_standard_chart_args() -> None:
|
||||
source = (Path(__file__).resolve().parents[1] / "scripts" / "jyotish_engine.py").read_text(encoding="utf-8")
|
||||
section = source[source.index("# ── Step 4.8: Tajika Yogas + Sahams"):source.index("# ── Step 4.9:")]
|
||||
assert "birth_dt = _birth_datetime_from_args(args)" in section
|
||||
assert "getattr(args, 'birth_datetime'" not in section
|
||||
@@ -130,7 +130,8 @@ class TestTajikaStrengthLayers:
|
||||
for planet in ('Sun', 'Moon', 'Mars', 'Mercury', 'Jupiter', 'Venus', 'Saturn'):
|
||||
assert planet in result['harsha_bala']
|
||||
assert planet in result['panchavargiya_bala']
|
||||
assert {'score', 'max_score', 'grade', 'components'} <= set(result['combined_strength'][planet])
|
||||
assert result['panchavargiya_bala'][planet]['status'] == 'blocked'
|
||||
assert result['combined_strength'][planet]['status'] == 'blocked'
|
||||
assert result['combined_strength'][planet]['max_score'] > 0
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user