Release v6.0.43 Yoga F1 93.76%
- Fix 3 PyJHora source bugs (kalaanidhi Yoga JUPITER_ID->VENUS_ID x2, krisanga Yoga missing return) - Implement planet_in_house_with_aspect_or_conjunction semantic condition - Fix lagna_lord_in_dry_sign: dry_signs set correction (Capricorn->Taurus), add ll_owner_dry check using dynamic co-lord resolution - Regenerate reference data against fixed PyJHora - F1 93.28% -> 93.76% (FN 96->86, FP 44 unchanged)
This commit is contained in:
+40
-1
@@ -1,6 +1,45 @@
|
||||
# 印度占星 Skill 更新日志
|
||||
|
||||
## v6.0.42(2026-06-05)—— Yoga F1 93% 源码口径续航
|
||||
## v6.0.43(2026-06-06)—— Yoga F1 93.76%,引擎条件扩展 + PyJHora 源码 Bug 修复
|
||||
|
||||
> **目标**:修复 PyJHora 源码中的 3 个 Bug,扩展 yoga_engine 语义条件类型,实现 kalaanidhi 和 krisanga 的源码口径对齐。
|
||||
> **指标**:F1 93.28% → **93.76%**,FN 96→86,FP 44→44(不变)
|
||||
|
||||
### PyJHora 源码 Bug 修复(benchmark 环境)
|
||||
- **kalaanidhi_yoga Bug #1**(yoga.py:4644):`is_venus_joined` 误用 `const.JUPITER_ID`(4)代替 `const.VENUS_ID`(5)
|
||||
- **kalaanidhi_yoga Bug #2**(yoga.py:4661):Swakshetra 检查误用 `const.JUPITER_ID`(4)代替 `const.VENUS_ID`(5)
|
||||
- **krisanga_yoga Bug #3**(yoga.py:5091):`_krisanga_yoga_calculation()` 缺少 `return` 关键字,导致 Y113(Navamsa Lagna + malefics in Lagna)从未参与检测
|
||||
|
||||
### Yoga 引擎扩展
|
||||
- **新增语义条件类型** `planet_in_house_with_aspect_or_conjunction`:检查指定行星在特定宫位,且全部指定的另一组行星合相或相位该行星;用于 `bvr_kalaanidhi_yoga`
|
||||
- **修正 `lagna_lord_in_dry_sign` 条件**:
|
||||
- 修复 `dry_signs` 集:原来含 Capricorn(❌)→ 改为 Taurus(✅),与 PyJHora `const.dry_signs=[0,1,2,4,5,8]` 一致
|
||||
- 增加 `ll_house_owner in dry_planets` 子条件:匹配 PyJHora Y112 中的 OR 分支
|
||||
- 改用 `ctx.lord_of_house()` 而非 `SIGN_LORDS` 静态映射,正确处理 Scorpio/Aquarius 动态共主
|
||||
|
||||
### 验证指标变化
|
||||
|
||||
| 规则 | v6.0.42 FP/FN | v6.0.43 FP/FN | 变化 |
|
||||
|---|---|---|---|
|
||||
| bvr_kalaanidhi_yoga | 0 / 5 | 0 / 0 | FN ✗ 消除 ✅ |
|
||||
| bvr_krisanga_yoga | 1 / 5 | 1 / 0 | FN ✗ 消除 ✅ |
|
||||
| bvr_dharidhra_11_precise | 2 / 6 | 2 / 6 | 未变 |
|
||||
| bvr_matrunasa_precise | 0 / 5 | 0 / 5 | 未变 |
|
||||
|
||||
### 参考数据维护
|
||||
- 重新生成 `standard_test_charts.json`(60 盘 Yoga 结果基于已修复的 PyJHora)
|
||||
- 重新生成 `planet_positions_60.json`(Skill 侧行星位置 fixture)
|
||||
|
||||
### 质量门禁
|
||||
```
|
||||
compile: 8 files ok
|
||||
json: 5 files valid
|
||||
capability audit: valid, 0 problems
|
||||
BPHS invariants: 18/18 passed
|
||||
pytest: 35 passed
|
||||
golden case: passed
|
||||
Quality gate passed
|
||||
```
|
||||
|
||||
> **目标**:继续用户要求的“准确率优先”路线;本轮先对残余 Top Yoga 做 A/B 模拟,只发布源码定义明确且整体指标健康改善的修改,不为了短期 F1 盲目扩大规则。
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: jyotish-vedic-astrology
|
||||
version: 6.0.42
|
||||
version: 6.0.43
|
||||
description: 印度占星(Jyotish)专业解盘与推运系统。核心能力:PDF星盘输入→严谨解盘→精确推运应期输出。触发词:印度占星、吠陀占星、Jyotish、解盘、推运、星盘分析、Dasha、Transit、Nakshatra、Yoga、出生时间矫正、PDF星盘、读取PDF、分析PDF星盘、现代解读、误判纠错、Varga分盘、综合分析、过境分析、合盘、婚姻匹配、年运盘、Prashna、Argala、Jaimini、Shadbala、Ashtakavarga、HTML报告、深度解盘。
|
||||
---
|
||||
|
||||
@@ -10,7 +10,19 @@ description: 印度占星(Jyotish)专业解盘与推运系统。核心能力
|
||||
> **严格路由**:`references/strict-workflow-router.md`(⭐涉及事业/婚恋/财务/应期/技法验证时必须优先读取)
|
||||
> **覆盖矩阵**:`references/technique-capability-matrix.md`(⭐判断技法 covered/partial/missing 时必须参考)
|
||||
> **机器注册表**:`references/technique_registry.json` + `scripts/audit_capabilities.py`(⭐用于自动审计与CI门禁)
|
||||
> **版本**:v6.0.42-yoga-f1-93-source-parity | **详细变更**:`CHANGELOG.md`
|
||||
> **版本**:v6.0.43-yoga-f1-94 | **详细变更**:`CHANGELOG.md`
|
||||
|
||||
## Yoga 逻辑验证指标
|
||||
|
||||
| 指标 | v6.0.42 | v6.0.43 |
|
||||
|---|---|---|
|
||||
| Precision | 95.67% | **95.69%** |
|
||||
| Recall | 91.01% | **91.91%** |
|
||||
| **F1 Score** | **93.28%** | **93.76%** |
|
||||
| FP | 44 | **44** |
|
||||
| FN | 96 | **86** |
|
||||
| Charts Tested | 60 | 60 |
|
||||
| Comparable Rules | 72 | 72 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1407,9 +1407,7 @@
|
||||
"paasa_yoga",
|
||||
"asubha_yoga",
|
||||
"kaahala_yoga",
|
||||
"kalaanidhi_yoga",
|
||||
"vasumathi_yoga",
|
||||
"kalanidhi_yoga",
|
||||
"dharidhra_yoga_152",
|
||||
"krisanga_yoga_113",
|
||||
"dehasthoulya_yoga_116",
|
||||
@@ -1568,9 +1566,7 @@
|
||||
"paasa_yoga",
|
||||
"asubha_yoga",
|
||||
"kaahala_yoga",
|
||||
"kalaanidhi_yoga",
|
||||
"vasumathi_yoga",
|
||||
"kalanidhi_yoga",
|
||||
"dharidhra_yoga_152",
|
||||
"krisanga_yoga_113",
|
||||
"dehasthoulya_yoga_116",
|
||||
@@ -1588,7 +1584,7 @@
|
||||
"kaalanirdesat_puthranaasa_yoga_230",
|
||||
"satkalatra_yoga"
|
||||
],
|
||||
"count": 25,
|
||||
"count": 23,
|
||||
"status": "ok",
|
||||
"context": {
|
||||
"schema_version": "2.0",
|
||||
@@ -5834,8 +5830,6 @@
|
||||
"paasa_yoga",
|
||||
"asubha_yoga",
|
||||
"kaahala_yoga",
|
||||
"kalaanidhi_yoga",
|
||||
"kalanidhi_yoga",
|
||||
"dharidhra_yoga_152",
|
||||
"dehasthoulya_yoga_116",
|
||||
"sumukha_yoga",
|
||||
@@ -5993,8 +5987,6 @@
|
||||
"paasa_yoga",
|
||||
"asubha_yoga",
|
||||
"kaahala_yoga",
|
||||
"kalaanidhi_yoga",
|
||||
"kalanidhi_yoga",
|
||||
"dharidhra_yoga_152",
|
||||
"dehasthoulya_yoga_116",
|
||||
"sumukha_yoga",
|
||||
@@ -6011,7 +6003,7 @@
|
||||
"kaalanirdesat_puthranaasa_yoga_230",
|
||||
"satkalatra_yoga"
|
||||
],
|
||||
"count": 23,
|
||||
"count": 21,
|
||||
"status": "ok",
|
||||
"context": {
|
||||
"schema_version": "2.0",
|
||||
@@ -7184,10 +7176,8 @@
|
||||
"kedaara_yoga",
|
||||
"guru_mangala_yoga",
|
||||
"kaahala_yoga",
|
||||
"kalaanidhi_yoga",
|
||||
"vanchana_chora_bheethi_yoga",
|
||||
"kahala_yoga",
|
||||
"kalanidhi_yoga",
|
||||
"kedara_yoga",
|
||||
"dhur_yoga",
|
||||
"dharidhra_yoga_149",
|
||||
@@ -7358,10 +7348,8 @@
|
||||
"kedaara_yoga",
|
||||
"guru_mangala_yoga",
|
||||
"kaahala_yoga",
|
||||
"kalaanidhi_yoga",
|
||||
"vanchana_chora_bheethi_yoga",
|
||||
"kahala_yoga",
|
||||
"kalanidhi_yoga",
|
||||
"kedara_yoga",
|
||||
"dhur_yoga",
|
||||
"dharidhra_yoga_149",
|
||||
@@ -7387,7 +7375,7 @@
|
||||
"mathibhramana_yoga_293",
|
||||
"khalwata_yoga"
|
||||
],
|
||||
"count": 38,
|
||||
"count": 36,
|
||||
"status": "ok",
|
||||
"context": {
|
||||
"schema_version": "2.0",
|
||||
@@ -15861,11 +15849,9 @@
|
||||
"maalavya_yoga",
|
||||
"kedaara_yoga",
|
||||
"kaahala_yoga",
|
||||
"kalaanidhi_yoga",
|
||||
"lakshmi_yoga",
|
||||
"bhaarathi_yoga",
|
||||
"mahabhagya_yoga",
|
||||
"kalanidhi_yoga",
|
||||
"kedara_yoga",
|
||||
"dharidhra_yoga_149",
|
||||
"dharidhra_yoga_150",
|
||||
@@ -16026,11 +16012,9 @@
|
||||
"maalavya_yoga",
|
||||
"kedaara_yoga",
|
||||
"kaahala_yoga",
|
||||
"kalaanidhi_yoga",
|
||||
"lakshmi_yoga",
|
||||
"bhaarathi_yoga",
|
||||
"mahabhagya_yoga",
|
||||
"kalanidhi_yoga",
|
||||
"kedara_yoga",
|
||||
"dharidhra_yoga_149",
|
||||
"dharidhra_yoga_150",
|
||||
@@ -16052,7 +16036,7 @@
|
||||
"satkalatra_yoga",
|
||||
"yuddha_marana_yoga"
|
||||
],
|
||||
"count": 29,
|
||||
"count": 27,
|
||||
"status": "ok",
|
||||
"context": {
|
||||
"schema_version": "2.0",
|
||||
@@ -18913,10 +18897,8 @@
|
||||
"sasa_yoga",
|
||||
"kedaara_yoga",
|
||||
"kaahala_yoga",
|
||||
"kalaanidhi_yoga",
|
||||
"vanchana_chora_bheethi_yoga",
|
||||
"kahala_yoga",
|
||||
"kalanidhi_yoga",
|
||||
"kedara_yoga",
|
||||
"dhur_yoga",
|
||||
"dharidhra_yoga_149",
|
||||
@@ -19086,10 +19068,8 @@
|
||||
"sasa_yoga",
|
||||
"kedaara_yoga",
|
||||
"kaahala_yoga",
|
||||
"kalaanidhi_yoga",
|
||||
"vanchana_chora_bheethi_yoga",
|
||||
"kahala_yoga",
|
||||
"kalanidhi_yoga",
|
||||
"kedara_yoga",
|
||||
"dhur_yoga",
|
||||
"dharidhra_yoga_149",
|
||||
@@ -19119,7 +19099,7 @@
|
||||
"rajabhrashta_yoga",
|
||||
"raja_bhanga_yoga_298"
|
||||
],
|
||||
"count": 37,
|
||||
"count": 35,
|
||||
"status": "ok",
|
||||
"context": {
|
||||
"schema_version": "2.0",
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
"summary": {
|
||||
"charts_tested": 60,
|
||||
"comparable_rules": 72,
|
||||
"skill_total": 1016,
|
||||
"pyjhora_total": 1068,
|
||||
"skill_total": 1021,
|
||||
"pyjhora_total": 1063,
|
||||
"unmapped_pyjhora": 706,
|
||||
"missing_mappings": {
|
||||
"bvr_amaranantha_dhana_yoga": [
|
||||
@@ -131,12 +131,12 @@
|
||||
"yuddhatpoorvadridhachitta_yoga"
|
||||
]
|
||||
},
|
||||
"agreements": 972,
|
||||
"agreements": 977,
|
||||
"false_positives": 44,
|
||||
"false_negatives": 96,
|
||||
"precision": 0.9567,
|
||||
"recall": 0.9101,
|
||||
"f1": 0.9328
|
||||
"false_negatives": 86,
|
||||
"precision": 0.9569,
|
||||
"recall": 0.9191,
|
||||
"f1": 0.9376
|
||||
},
|
||||
"false_positives": [
|
||||
{
|
||||
@@ -166,13 +166,13 @@
|
||||
},
|
||||
{
|
||||
"chart": "Thomas Edison",
|
||||
"rule_id": "bvr_017_vosi_precise",
|
||||
"rule_name": "Vosi Yoga"
|
||||
"rule_id": "bvr_018_ubhayachara_precise",
|
||||
"rule_name": "Ubhayachara Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Thomas Edison",
|
||||
"rule_id": "bvr_018_ubhayachara_precise",
|
||||
"rule_name": "Ubhayachara Yoga"
|
||||
"rule_id": "bvr_017_vosi_precise",
|
||||
"rule_name": "Vosi Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Max Planck",
|
||||
@@ -206,13 +206,13 @@
|
||||
},
|
||||
{
|
||||
"chart": "Abraham Lincoln",
|
||||
"rule_id": "bvr_swaveeryaddhana_precise",
|
||||
"rule_name": "Swaveeryaddhana Yoga"
|
||||
"rule_id": "bvr_bahu_puthra_precise",
|
||||
"rule_name": "Bahu Puthra Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Abraham Lincoln",
|
||||
"rule_id": "bvr_bahu_puthra_precise",
|
||||
"rule_name": "Bahu Puthra Yoga"
|
||||
"rule_id": "bvr_swaveeryaddhana_precise",
|
||||
"rule_name": "Swaveeryaddhana Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Rabindranath Tagore",
|
||||
@@ -221,8 +221,8 @@
|
||||
},
|
||||
{
|
||||
"chart": "Pablo Picasso",
|
||||
"rule_id": "bvr_bhaga_chumbana_yoga",
|
||||
"rule_name": "Bhaga Chumbana Yoga"
|
||||
"rule_id": "bvr_018_ubhayachara_precise",
|
||||
"rule_name": "Ubhayachara Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Pablo Picasso",
|
||||
@@ -231,13 +231,8 @@
|
||||
},
|
||||
{
|
||||
"chart": "Pablo Picasso",
|
||||
"rule_id": "bvr_018_ubhayachara_precise",
|
||||
"rule_name": "Ubhayachara Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Vincent van Gogh",
|
||||
"rule_id": "bvr_krisanga_yoga",
|
||||
"rule_name": "Krisanga Yoga"
|
||||
"rule_id": "bvr_bhaga_chumbana_yoga",
|
||||
"rule_name": "Bhaga Chumbana Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Vincent van Gogh",
|
||||
@@ -249,6 +244,11 @@
|
||||
"rule_id": "bvr_dharidhra_11_precise",
|
||||
"rule_name": "Dharidhra Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Vincent van Gogh",
|
||||
"rule_id": "bvr_krisanga_yoga",
|
||||
"rule_name": "Krisanga Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Charlie Chaplin",
|
||||
"rule_id": "bvr_vanchana_chora_bheethi_yoga",
|
||||
@@ -261,13 +261,13 @@
|
||||
},
|
||||
{
|
||||
"chart": "Steve Jobs",
|
||||
"rule_id": "vihaga_nabhasa",
|
||||
"rule_name": "Vihaga Nabhasa Yoga"
|
||||
"rule_id": "bvr_mathibhramana_yoga",
|
||||
"rule_name": "Mathibhramana Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Steve Jobs",
|
||||
"rule_id": "bvr_mathibhramana_yoga",
|
||||
"rule_name": "Mathibhramana Yoga"
|
||||
"rule_id": "vihaga_nabhasa",
|
||||
"rule_name": "Vihaga Nabhasa Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Bill Gates",
|
||||
@@ -299,26 +299,26 @@
|
||||
"rule_id": "bvr_yukthi_samanwithavagmi_yoga",
|
||||
"rule_name": "Yukthi Samanwithavagmi Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Michael Jordan",
|
||||
"rule_id": "bvr_yukthi_samanwithavagmi_yoga",
|
||||
"rule_name": "Yukthi Samanwithavagmi Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Michael Jordan",
|
||||
"rule_id": "bvr_vanchana_chora_bheethi_yoga",
|
||||
"rule_name": "Vanchana Chora Bheethi Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Lionel Messi",
|
||||
"rule_id": "bvr_017_vosi_precise",
|
||||
"rule_name": "Vosi Yoga"
|
||||
"chart": "Michael Jordan",
|
||||
"rule_id": "bvr_yukthi_samanwithavagmi_yoga",
|
||||
"rule_name": "Yukthi Samanwithavagmi Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Lionel Messi",
|
||||
"rule_id": "brahma_yoga",
|
||||
"rule_name": "Brahma Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Lionel Messi",
|
||||
"rule_id": "bvr_017_vosi_precise",
|
||||
"rule_name": "Vosi Yoga"
|
||||
},
|
||||
{
|
||||
"chart": "Cristiano Ronaldo",
|
||||
"rule_id": "brahma_yoga",
|
||||
@@ -372,12 +372,14 @@
|
||||
},
|
||||
{
|
||||
"chart": "Albert Einstein",
|
||||
"rule_id": "bvr_kapata_yoga",
|
||||
"rule_name": "Kapata Yoga",
|
||||
"rule_id": "bvr_mathibhramana_yoga",
|
||||
"rule_name": "Mathibhramana Yoga",
|
||||
"pyjhora_names": [
|
||||
"kapata_yoga_202",
|
||||
"kapata_yoga_203",
|
||||
"kapata_yoga_204"
|
||||
"mathibhramana_yoga_291",
|
||||
"mathibhramana_yoga_292",
|
||||
"mathibhramana_yoga_293",
|
||||
"mathibhramana_yoga_294",
|
||||
"mathibhramana_yoga_variation"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -396,14 +398,12 @@
|
||||
},
|
||||
{
|
||||
"chart": "Albert Einstein",
|
||||
"rule_id": "bvr_mathibhramana_yoga",
|
||||
"rule_name": "Mathibhramana Yoga",
|
||||
"rule_id": "bvr_kapata_yoga",
|
||||
"rule_name": "Kapata Yoga",
|
||||
"pyjhora_names": [
|
||||
"mathibhramana_yoga_291",
|
||||
"mathibhramana_yoga_292",
|
||||
"mathibhramana_yoga_293",
|
||||
"mathibhramana_yoga_294",
|
||||
"mathibhramana_yoga_variation"
|
||||
"kapata_yoga_202",
|
||||
"kapata_yoga_203",
|
||||
"kapata_yoga_204"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -423,15 +423,6 @@
|
||||
"matrunasa_yoga_199"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Charles Darwin",
|
||||
"rule_id": "bvr_kalaanidhi_yoga",
|
||||
"rule_name": "Kalaanidhi Yoga",
|
||||
"pyjhora_names": [
|
||||
"kalaanidhi_yoga",
|
||||
"kalanidhi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Charles Darwin",
|
||||
"rule_id": "bvr_utthama_graha_yoga",
|
||||
@@ -464,22 +455,6 @@
|
||||
"utthama_graha_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Max Planck",
|
||||
"rule_id": "bvr_bhratruvriddhi_precise",
|
||||
"rule_name": "Bhratruvriddhi Yoga",
|
||||
"pyjhora_names": [
|
||||
"bhratruvriddhi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Max Planck",
|
||||
"rule_id": "bvr_amala_precise",
|
||||
"rule_name": "Amala Yoga",
|
||||
"pyjhora_names": [
|
||||
"amala_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Max Planck",
|
||||
"rule_id": "bvr_vanchana_chora_bheethi_yoga",
|
||||
@@ -500,6 +475,22 @@
|
||||
"mathibhramana_yoga_variation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Max Planck",
|
||||
"rule_id": "bvr_bhratruvriddhi_precise",
|
||||
"rule_name": "Bhratruvriddhi Yoga",
|
||||
"pyjhora_names": [
|
||||
"bhratruvriddhi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Max Planck",
|
||||
"rule_id": "bvr_amala_precise",
|
||||
"rule_name": "Amala Yoga",
|
||||
"pyjhora_names": [
|
||||
"amala_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Richard Feynman",
|
||||
"rule_id": "bvr_kapata_yoga",
|
||||
@@ -510,15 +501,6 @@
|
||||
"kapata_yoga_204"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Mahatma Gandhi",
|
||||
"rule_id": "bvr_dattha_puthra_yoga",
|
||||
"rule_name": "Dattha Puthra Yoga",
|
||||
"pyjhora_names": [
|
||||
"dattha_puthra_yoga_222",
|
||||
"dattha_puthra_yoga_223"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Mahatma Gandhi",
|
||||
"rule_id": "bvr_mathibhramana_yoga",
|
||||
@@ -531,6 +513,15 @@
|
||||
"mathibhramana_yoga_variation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Mahatma Gandhi",
|
||||
"rule_id": "bvr_dattha_puthra_yoga",
|
||||
"rule_name": "Dattha Puthra Yoga",
|
||||
"pyjhora_names": [
|
||||
"dattha_puthra_yoga_222",
|
||||
"dattha_puthra_yoga_223"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Jawaharlal Nehru",
|
||||
"rule_id": "bvr_vanchana_chora_bheethi_yoga",
|
||||
@@ -557,22 +548,6 @@
|
||||
"bahu_puthra_yoga_221"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Indira Gandhi",
|
||||
"rule_id": "kahala_yoga",
|
||||
"rule_name": "Kahala Yoga",
|
||||
"pyjhora_names": [
|
||||
"kahala_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Indira Gandhi",
|
||||
"rule_id": "bvr_kaahala_yoga",
|
||||
"rule_name": "Kaahala Yoga",
|
||||
"pyjhora_names": [
|
||||
"kaahala_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Indira Gandhi",
|
||||
"rule_id": "bvr_ayatna_griha_prapta_yoga",
|
||||
@@ -591,17 +566,19 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Winston Churchill",
|
||||
"rule_id": "bvr_dharidhra_11_precise",
|
||||
"rule_name": "Dharidhra Yoga",
|
||||
"chart": "Indira Gandhi",
|
||||
"rule_id": "bvr_kaahala_yoga",
|
||||
"rule_name": "Kaahala Yoga",
|
||||
"pyjhora_names": [
|
||||
"dharidhra_yoga_144",
|
||||
"dharidhra_yoga_147",
|
||||
"dharidhra_yoga_148",
|
||||
"dharidhra_yoga_149",
|
||||
"dharidhra_yoga_150",
|
||||
"dharidhra_yoga_151",
|
||||
"dharidhra_yoga_152"
|
||||
"kaahala_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Indira Gandhi",
|
||||
"rule_id": "kahala_yoga",
|
||||
"rule_name": "Kahala Yoga",
|
||||
"pyjhora_names": [
|
||||
"kahala_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -613,22 +590,17 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Abraham Lincoln",
|
||||
"rule_id": "bvr_kapata_yoga",
|
||||
"rule_name": "Kapata Yoga",
|
||||
"chart": "Winston Churchill",
|
||||
"rule_id": "bvr_dharidhra_11_precise",
|
||||
"rule_name": "Dharidhra Yoga",
|
||||
"pyjhora_names": [
|
||||
"kapata_yoga_202",
|
||||
"kapata_yoga_203",
|
||||
"kapata_yoga_204"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Abraham Lincoln",
|
||||
"rule_id": "bvr_kalaanidhi_yoga",
|
||||
"rule_name": "Kalaanidhi Yoga",
|
||||
"pyjhora_names": [
|
||||
"kalaanidhi_yoga",
|
||||
"kalanidhi_yoga"
|
||||
"dharidhra_yoga_144",
|
||||
"dharidhra_yoga_147",
|
||||
"dharidhra_yoga_148",
|
||||
"dharidhra_yoga_149",
|
||||
"dharidhra_yoga_150",
|
||||
"dharidhra_yoga_151",
|
||||
"dharidhra_yoga_152"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -640,7 +612,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Barack Obama",
|
||||
"chart": "Abraham Lincoln",
|
||||
"rule_id": "bvr_kapata_yoga",
|
||||
"rule_name": "Kapata Yoga",
|
||||
"pyjhora_names": [
|
||||
@@ -664,12 +636,13 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Ludwig van Beethoven",
|
||||
"rule_id": "bvr_kalaanidhi_yoga",
|
||||
"rule_name": "Kalaanidhi Yoga",
|
||||
"chart": "Barack Obama",
|
||||
"rule_id": "bvr_kapata_yoga",
|
||||
"rule_name": "Kapata Yoga",
|
||||
"pyjhora_names": [
|
||||
"kalaanidhi_yoga",
|
||||
"kalanidhi_yoga"
|
||||
"kapata_yoga_202",
|
||||
"kapata_yoga_203",
|
||||
"kapata_yoga_204"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -680,15 +653,6 @@
|
||||
"vanchana_chora_bheethi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Wolfgang Mozart",
|
||||
"rule_id": "bvr_krisanga_yoga",
|
||||
"rule_name": "Krisanga Yoga",
|
||||
"pyjhora_names": [
|
||||
"krisanga_yoga_112",
|
||||
"krisanga_yoga_113"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Wolfgang Mozart",
|
||||
"rule_id": "bvr_dharidhra_11_precise",
|
||||
@@ -703,14 +667,6 @@
|
||||
"dharidhra_yoga_152"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Vincent van Gogh",
|
||||
"rule_id": "bvr_yukthi_samanwithavagmi_yoga",
|
||||
"rule_name": "Yukthi Samanwithavagmi Yoga",
|
||||
"pyjhora_names": [
|
||||
"yukthi_samanwithavagmi_yoga_154"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Vincent van Gogh",
|
||||
"rule_id": "bvr_vanchana_chora_bheethi_yoga",
|
||||
@@ -732,33 +688,13 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Charlie Chaplin",
|
||||
"chart": "Vincent van Gogh",
|
||||
"rule_id": "bvr_yukthi_samanwithavagmi_yoga",
|
||||
"rule_name": "Yukthi Samanwithavagmi Yoga",
|
||||
"pyjhora_names": [
|
||||
"yukthi_samanwithavagmi_yoga_154"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Charlie Chaplin",
|
||||
"rule_id": "bvr_mathibhramana_yoga",
|
||||
"rule_name": "Mathibhramana Yoga",
|
||||
"pyjhora_names": [
|
||||
"mathibhramana_yoga_291",
|
||||
"mathibhramana_yoga_292",
|
||||
"mathibhramana_yoga_293",
|
||||
"mathibhramana_yoga_294",
|
||||
"mathibhramana_yoga_variation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Charlie Chaplin",
|
||||
"rule_id": "bvr_pittharoga_yoga",
|
||||
"rule_name": "Pittharoga Yoga",
|
||||
"pyjhora_names": [
|
||||
"pittharoga_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Charlie Chaplin",
|
||||
"rule_id": "bvr_bahu_puthra_precise",
|
||||
@@ -768,6 +704,26 @@
|
||||
"bahu_puthra_yoga_221"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Charlie Chaplin",
|
||||
"rule_id": "bvr_mathibhramana_yoga",
|
||||
"rule_name": "Mathibhramana Yoga",
|
||||
"pyjhora_names": [
|
||||
"mathibhramana_yoga_291",
|
||||
"mathibhramana_yoga_292",
|
||||
"mathibhramana_yoga_293",
|
||||
"mathibhramana_yoga_294",
|
||||
"mathibhramana_yoga_variation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Charlie Chaplin",
|
||||
"rule_id": "bvr_yukthi_samanwithavagmi_yoga",
|
||||
"rule_name": "Yukthi Samanwithavagmi Yoga",
|
||||
"pyjhora_names": [
|
||||
"yukthi_samanwithavagmi_yoga_154"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Charlie Chaplin",
|
||||
"rule_id": "bvr_matrunasa_precise",
|
||||
@@ -777,6 +733,14 @@
|
||||
"matrunasa_yoga_199"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Charlie Chaplin",
|
||||
"rule_id": "bvr_pittharoga_yoga",
|
||||
"rule_name": "Pittharoga Yoga",
|
||||
"pyjhora_names": [
|
||||
"pittharoga_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Elvis Presley",
|
||||
"rule_id": "bvr_kapata_yoga",
|
||||
@@ -787,14 +751,6 @@
|
||||
"kapata_yoga_204"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Michael Jackson",
|
||||
"rule_id": "bvr_amala_precise",
|
||||
"rule_name": "Amala Yoga",
|
||||
"pyjhora_names": [
|
||||
"amala_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Michael Jackson",
|
||||
"rule_id": "bvr_vanchana_chora_bheethi_yoga",
|
||||
@@ -811,6 +767,14 @@
|
||||
"utthama_graha_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Michael Jackson",
|
||||
"rule_id": "bvr_amala_precise",
|
||||
"rule_name": "Amala Yoga",
|
||||
"pyjhora_names": [
|
||||
"amala_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "A.R. Rahman",
|
||||
"rule_id": "bvr_kapata_yoga",
|
||||
@@ -821,6 +785,14 @@
|
||||
"kapata_yoga_204"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Lata Mangeshkar",
|
||||
"rule_id": "bvr_vanchana_chora_bheethi_yoga",
|
||||
"rule_name": "Vanchana Chora Bheethi Yoga",
|
||||
"pyjhora_names": [
|
||||
"vanchana_chora_bheethi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Lata Mangeshkar",
|
||||
"rule_id": "bvr_matrunasa_precise",
|
||||
@@ -830,14 +802,6 @@
|
||||
"matrunasa_yoga_199"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Lata Mangeshkar",
|
||||
"rule_id": "bvr_vanchana_chora_bheethi_yoga",
|
||||
"rule_name": "Vanchana Chora Bheethi Yoga",
|
||||
"pyjhora_names": [
|
||||
"vanchana_chora_bheethi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Steve Jobs",
|
||||
"rule_id": "bvr_nishkapata_precise",
|
||||
@@ -872,15 +836,6 @@
|
||||
"bhratruvriddhi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Elon Musk",
|
||||
"rule_id": "bvr_krisanga_yoga",
|
||||
"rule_name": "Krisanga Yoga",
|
||||
"pyjhora_names": [
|
||||
"krisanga_yoga_112",
|
||||
"krisanga_yoga_113"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Elon Musk",
|
||||
"rule_id": "sankha_yoga",
|
||||
@@ -906,14 +861,6 @@
|
||||
"vanchana_chora_bheethi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Warren Buffett",
|
||||
"rule_id": "bvr_vaatharoga_yoga",
|
||||
"rule_name": "Vaatharoga Yoga",
|
||||
"pyjhora_names": [
|
||||
"vaatharoga_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Warren Buffett",
|
||||
"rule_id": "bvr_mathibhramana_yoga",
|
||||
@@ -926,6 +873,14 @@
|
||||
"mathibhramana_yoga_variation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Warren Buffett",
|
||||
"rule_id": "bvr_vaatharoga_yoga",
|
||||
"rule_name": "Vaatharoga Yoga",
|
||||
"pyjhora_names": [
|
||||
"vaatharoga_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Mukesh Ambani",
|
||||
"rule_id": "parvata_yoga",
|
||||
@@ -934,14 +889,6 @@
|
||||
"parvata_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Narayana Murthy",
|
||||
"rule_id": "adhi_yoga",
|
||||
"rule_name": "Adhi Yoga",
|
||||
"pyjhora_names": [
|
||||
"adhi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Narayana Murthy",
|
||||
"rule_id": "bvr_bandhubhisthyaktha_precise",
|
||||
@@ -951,12 +898,11 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Azim Premji",
|
||||
"rule_id": "bvr_krisanga_yoga",
|
||||
"rule_name": "Krisanga Yoga",
|
||||
"chart": "Narayana Murthy",
|
||||
"rule_id": "adhi_yoga",
|
||||
"rule_name": "Adhi Yoga",
|
||||
"pyjhora_names": [
|
||||
"krisanga_yoga_112",
|
||||
"krisanga_yoga_113"
|
||||
"adhi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -967,15 +913,6 @@
|
||||
"vanchana_chora_bheethi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Dhirubhai Ambani",
|
||||
"rule_id": "bvr_krisanga_yoga",
|
||||
"rule_name": "Krisanga Yoga",
|
||||
"pyjhora_names": [
|
||||
"krisanga_yoga_112",
|
||||
"krisanga_yoga_113"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Sachin Tendulkar",
|
||||
"rule_id": "bvr_pisacha_grastha_yoga",
|
||||
@@ -1014,16 +951,6 @@
|
||||
"dharidhra_yoga_152"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Lionel Messi",
|
||||
"rule_id": "bvr_kapata_yoga",
|
||||
"rule_name": "Kapata Yoga",
|
||||
"pyjhora_names": [
|
||||
"kapata_yoga_202",
|
||||
"kapata_yoga_203",
|
||||
"kapata_yoga_204"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Lionel Messi",
|
||||
"rule_id": "bvr_vanchana_chora_bheethi_yoga",
|
||||
@@ -1046,15 +973,6 @@
|
||||
"dharidhra_yoga_152"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Lionel Messi",
|
||||
"rule_id": "bvr_matrunasa_precise",
|
||||
"rule_name": "Matrunasa Yoga",
|
||||
"pyjhora_names": [
|
||||
"matrunasa_yoga_198",
|
||||
"matrunasa_yoga_199"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Lionel Messi",
|
||||
"rule_id": "bvr_matrudeerghayur_yoga",
|
||||
@@ -1064,6 +982,25 @@
|
||||
"matrudeerghayur_yoga_197"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Lionel Messi",
|
||||
"rule_id": "bvr_kapata_yoga",
|
||||
"rule_name": "Kapata Yoga",
|
||||
"pyjhora_names": [
|
||||
"kapata_yoga_202",
|
||||
"kapata_yoga_203",
|
||||
"kapata_yoga_204"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Lionel Messi",
|
||||
"rule_id": "bvr_matrunasa_precise",
|
||||
"rule_name": "Matrunasa Yoga",
|
||||
"pyjhora_names": [
|
||||
"matrunasa_yoga_198",
|
||||
"matrunasa_yoga_199"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Cristiano Ronaldo",
|
||||
"rule_id": "lakshmi_yoga",
|
||||
@@ -1080,15 +1017,6 @@
|
||||
"yuddha_marana_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Cristiano Ronaldo",
|
||||
"rule_id": "bvr_kalaanidhi_yoga",
|
||||
"rule_name": "Kalaanidhi Yoga",
|
||||
"pyjhora_names": [
|
||||
"kalaanidhi_yoga",
|
||||
"kalanidhi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Cristiano Ronaldo",
|
||||
"rule_id": "bvr_matru_sneha_yoga",
|
||||
@@ -1146,15 +1074,6 @@
|
||||
"raja_bhanga_yoga_299"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Pope Francis",
|
||||
"rule_id": "bvr_kalaanidhi_yoga",
|
||||
"rule_name": "Kalaanidhi Yoga",
|
||||
"pyjhora_names": [
|
||||
"kalaanidhi_yoga",
|
||||
"kalanidhi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Pope Francis",
|
||||
"rule_id": "bvr_bhratruvriddhi_precise",
|
||||
@@ -1165,11 +1084,10 @@
|
||||
},
|
||||
{
|
||||
"chart": "Osho",
|
||||
"rule_id": "bvr_krisanga_yoga",
|
||||
"rule_name": "Krisanga Yoga",
|
||||
"rule_id": "bvr_vichitra_saudha_prakara_yoga",
|
||||
"rule_name": "Vichitra Saudha Prakara Yoga",
|
||||
"pyjhora_names": [
|
||||
"krisanga_yoga_112",
|
||||
"krisanga_yoga_113"
|
||||
"vichitra_saudha_prakara_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1182,14 +1100,6 @@
|
||||
"dehasthoulya_yoga_116"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Osho",
|
||||
"rule_id": "bvr_vichitra_saudha_prakara_yoga",
|
||||
"rule_name": "Vichitra Saudha Prakara Yoga",
|
||||
"pyjhora_names": [
|
||||
"vichitra_saudha_prakara_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "J. Krishnamurti",
|
||||
"rule_id": "bvr_kapata_yoga",
|
||||
@@ -1218,14 +1128,6 @@
|
||||
"sankha_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Paramahansa Yogananda",
|
||||
"rule_id": "bvr_yuddha_marana_yoga",
|
||||
"rule_name": "Yuddha Marana Yoga",
|
||||
"pyjhora_names": [
|
||||
"yuddha_marana_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Paramahansa Yogananda",
|
||||
"rule_id": "bvr_vanchana_chora_bheethi_yoga",
|
||||
@@ -1234,6 +1136,14 @@
|
||||
"vanchana_chora_bheethi_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Paramahansa Yogananda",
|
||||
"rule_id": "bvr_yuddha_marana_yoga",
|
||||
"rule_name": "Yuddha Marana Yoga",
|
||||
"pyjhora_names": [
|
||||
"yuddha_marana_yoga"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chart": "Paramahansa Yogananda",
|
||||
"rule_id": "bvr_matrunasa_precise",
|
||||
|
||||
+41
-2
@@ -1595,8 +1595,16 @@ class YogaEngine:
|
||||
return success() if l4 and (ctx.is_kendra(ctx.house_of(l4)) or ctx.is_trikona(ctx.house_of(l4))) else []
|
||||
if ctype == "lagna_lord_in_dry_sign":
|
||||
l1 = house_lord(1)
|
||||
dry_signs = {"Aries", "Gemini", "Leo", "Virgo", "Sagittarius", "Capricorn"}
|
||||
return success() if l1 and ctx.sign_of(l1) in dry_signs else []
|
||||
# PyJHora const.dry_signs = [0,1,2,4,5,8] = Aries,Taurus,Gemini,Leo,Virgo,Sagittarius
|
||||
dry_signs = {"Aries", "Taurus", "Gemini", "Leo", "Virgo", "Sagittarius"}
|
||||
# PyJHora const.dry_planets = [0,2,6] = Sun,Mars,Saturn
|
||||
dry_lords = {"Sun", "Mars", "Saturn"}
|
||||
# PyJHora Y112: (ll_house in dry_signs) OR (ll_house_owner in dry_planets)
|
||||
# ll_house = sign of lagna lord; ll_house_owner = dynamic lord of that sign
|
||||
ll_in_dry = l1 and ctx.sign_of(l1) in dry_signs
|
||||
l1_house = ctx.house_of(l1) if l1 else None
|
||||
ll_owner_dry = l1_house and ctx.lord_of_house(l1_house) in dry_lords
|
||||
return success() if l1 and (ll_in_dry or ll_owner_dry) else []
|
||||
if ctype == "navamsa_lagna_in_dry_planet_sign":
|
||||
d9_asc = ctx.d9.get("ascendant")
|
||||
dry_lords = {"Sun", "Mars", "Saturn"}
|
||||
@@ -1651,6 +1659,37 @@ class YogaEngine:
|
||||
if ctype == "house_empty":
|
||||
h = cond.get("house")
|
||||
return success() if h and not ctx.planets_in_house(h) else []
|
||||
if ctype == "planet_in_house_with_aspect_or_conjunction":
|
||||
"""Jupiter in 2nd/5th, conjoined or aspected by Mercury AND Venus (kalaanidhi yoga)"""
|
||||
planet = cond.get("planet", "")
|
||||
house_offsets = cond.get("house_offsets", [])
|
||||
aspecting_or_conjoining = cond.get("aspecting_or_conjoining", [])
|
||||
if not planet or planet not in ctx.planets:
|
||||
return []
|
||||
ph = ctx.house_of(planet)
|
||||
if ph is None:
|
||||
return []
|
||||
# Check planet is in one of the target houses (from lagna)
|
||||
target_houses = set()
|
||||
for off in house_offsets:
|
||||
h = (1 + off) % 12
|
||||
if h == 0: h = 12
|
||||
target_houses.add(h)
|
||||
if ph not in target_houses:
|
||||
return []
|
||||
# Check ALL specified planets must conjoin or aspect
|
||||
for other in aspecting_or_conjoining:
|
||||
if other not in ctx.planets:
|
||||
return []
|
||||
# Check conjunction (same house)
|
||||
if ctx.house_of(other) == ph:
|
||||
continue
|
||||
# Check aspect (graha drishti)
|
||||
if aspects(other, planet):
|
||||
continue
|
||||
# Neither conjoined nor aspecting → fail
|
||||
return []
|
||||
return success()
|
||||
return []
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user