732642856
0406723b7e
v6.1.3: D9/D60 engine upgrade + 5 bottleneck rules tuned
Engine (yoga_engine.py):
- Added D60/Shashtiamsa context injection (d60_house_of, d60_sign_of, etc.)
- Added D9 dignity queries (is_exalted_in_d9, is_own_sign_in_d9, etc.)
- Added functional_malefics() / functional_benefics()
- Added is_shashtiamsa_evil/good() and vaiseshikamsa_score()
- Exposed all new methods to rule expression sandbox
Data (_compute_one_chart.py):
- Generate D60 positions alongside D1/D9
- Inject D60 into context for all computed charts
Rules (yoga_rules.json):
- thrikaala_gnana: D1 strong = exalted/own/moola only (kendra/trikona removed)
+ D9 strong check (at least 1 of 3 in D9 exalted/own/moola)
FP: 12→0, FN: stable
- dharidhra: restored method1 (L2/L11 in dusthana + unfriendly navamsa + malefic aspect)
FN reduced
- bandhubhisthyaktha: added is_shashtiamsa_evil(lord_4)
- nishkapata: added vaiseshikamsa_score(lord(1)) >= 15
- kapata: reverted functional_malefics (caused 22 FN), back to MALEFICS
Validation:
- FP: 45→39 (-6)
- FN: 72→67 (-5)
- F1: 94.35%→94.88% (+0.53%)
- Precision: 95.60%→96.18% (+0.58%)
New scripts:
- scripts/add_d60_to_test_charts.py: batch D60 augmentation
- scripts/ashtottari_dasha.py, yogini_dasha.py, kalachakra_dasha.py
- scripts/report_orchestrator.py
D60 data added to all 60 standard test charts.
2026-06-07 14:44:53 +08:00
..
2026-06-07 09:30:02 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-05-05 14:04:40 +08:00
2026-06-03 15:18:12 +08:00
2026-05-05 14:04:40 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-04 13:41:17 +08:00
2026-04-27 19:57:12 +08:00
2026-06-07 14:26:58 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-04 13:51:34 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-04 03:06:43 +08:00
2026-06-03 12:48:29 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-05-05 14:04:40 +08:00
2026-05-05 14:04:40 +08:00
2026-05-05 14:04:40 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-05-05 14:04:40 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-04 13:41:17 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-06 14:43:11 +08:00
2026-05-04 21:54:06 +08:00
2026-04-27 19:57:12 +08:00
2026-05-04 21:54:06 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-04 12:19:11 +08:00
2026-06-03 15:18:12 +08:00
2026-05-04 20:33:13 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-04 03:06:43 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-07 14:44:53 +08:00
2026-06-04 05:12:35 +08:00
2026-06-03 15:18:12 +08:00
2026-06-04 16:46:55 +08:00
2026-06-04 03:06:43 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-07 14:44:53 +08:00
2026-05-05 14:04:40 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-05-05 14:04:40 +08:00
2026-05-05 14:04:40 +08:00
2026-05-05 14:04:40 +08:00
2026-05-05 14:04:40 +08:00
2026-05-05 14:04:40 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-05-05 14:04:40 +08:00
2026-04-27 19:57:12 +08:00
2026-05-05 14:04:40 +08:00
2026-04-27 19:57:12 +08:00
2026-05-04 20:33:13 +08:00
2026-05-04 20:33:13 +08:00
2026-05-04 21:39:38 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-07 14:44:53 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00
2026-06-03 15:18:12 +08:00
2026-04-27 19:57:12 +08:00
2026-04-27 19:57:12 +08:00