preserve honest tajika strength boundaries

This commit is contained in:
732642856
2026-07-14 11:58:26 +08:00
parent dafffcd3cf
commit c5404ec7fb
4 changed files with 44 additions and 3 deletions
+1 -1
View File
@@ -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
View File
@@ -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
+2 -1
View File
@@ -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