Commit Graph

76 Commits

Author SHA1 Message Date
732642856 55853336b5 v6.1.11 Chara Dasha重写为KN Rao Method
完成P0核心差距修复:彻底重写calc_chara_dasha()和calc_chara_dasha_with_antardasha()

- 旧算法:简化版12-planets_in_sign,仅24.17%匹配PyJHora
- 新算法:完整KN Rao Method
  - 序列:从上升起,第9宫为偶数脚→逆向(对齐PyJHora _dhasa_progression_knrao_method)
  - 时长:基于宫主所在宫位,奇数脚顺数/偶数脚倒数,Exalted+1/Debilitated-1
  - Antardasha:等分12份,序列偏移1位(PyJHora method=2)
- 状态:partial → covered
- 参考PyJHora AGPL算法翻译为MIT独立实现
- 参考jaimini-tropical MIT架构设计
2026-06-10 21:54:52 +08:00
732642856 f83db2fac1 Enhance Jyotish validation and Jaimini modules
- add external validation reports and open-source comparison references

- integrate Jaimini arudha/graha pada, enhanced argala, and additional synastry kutas

- update skill docs and capability matrices

- add smoke tests for open-source integrations
2026-06-10 20:50:52 +08:00
732642856 068a8e2818 v6.1.10: Wire DK and RTN into theme reports 2026-06-08 14:06:13 +08:00
732642856 d2cd5a369f v6.1.9: Add public benchmarks and research roadmap
- Add sanitized Jyotish benchmark suite with fictional/public smoke samples
- Include benchmark scripts and markdown reports while excluding raw JSON/CSV outputs
- Add open-source Jyotish project comparison research
- Add complete technique coverage roadmap
- Add privacy-safe PDF chart validation methodology
- Update SKILL.md and CHANGELOG with v6.1.9 scope and privacy boundaries

Validation:
- py_compile benchmarks/jyotish/scripts/*.py passed
- quality gate passed with 35 pytest tests and golden case
2026-06-08 13:16:42 +08:00
732642856 3b167e28c3 v6.1.8: Improve Nishkapata yoga recall 2026-06-08 10:57:42 +08:00
732642856 ae959f362b docs: align v6.1.7 skill entry and validation report
- Update SKILL.md to reflect five-system Dasa Convergence wording
- Clarify v6.1.7 as D9/D60 YogaContext integration plus Sankha tightening
- Refresh validation_logic_report.json after verification run (F1=95.02, FP=36, FN=67)
2026-06-08 10:30:02 +08:00
732642856 3c64e4576f v6.1.7: Push Yoga validation F1 above 95 percent
- Inject D9/D60/Panchanga context into yoga and full-reading flows
- Add --context-json support for explicit YogaContext payloads
- Tighten Sankha Yoga movable-sign branch to require distinct L1/L10 lords
- Regenerate validation_logic_report: FP 36, FN 67, F1 95.02%
2026-06-08 10:27:57 +08:00
732642856 57e426515d v6.1.6: Add five-system dasha convergence 2026-06-07 20:16:47 +08:00
732642856 e1dec1e2fd docs: update SKILL.md to v6.0.47 with updated validation metrics 2026-06-06 22:28:49 +08:00
732642856 b63ca9e7e7 docs: update SKILL.md version to v6.0.46 with new validation metrics 2026-06-06 21:55:45 +08:00
732642856 0003d0be88 Release v6.0.44 fix JD timezone bug in reference data
- Fix: _compute_one_chart.py JD calculation used PyJHora's
  gregorian_to_jd() which ALWAYS returns noon JD regardless of time.
  Changed to swe.julday() with correct UTC hour.
- Impact: All 60 test charts with non-noon birth times had wrong
  ascendants and house assignments (e.g. Einstein went from
  Scorpio Asc -> Gemini Asc, matching Swiss Ephemeris)
- Cross-validated: Swiss Ephemeris (industry gold standard) and
  xalen-ephemeris (Rust, 5M chart oracle test)
- New baseline: F1=93.50% (Precision=93.82%, Recall=93.18%)
- Regenerated: standard_test_charts.json, planet_positions_60.json,
  validation_logic_report.json
- Quality gate: compile/json/audit/BPHS/pytest/golden all passed
2026-06-06 14:43:11 +08:00
732642856 26835f80b8 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)
2026-06-06 09:58:28 +08:00
732642856 0d582dbaa3 Release v6.0.42 Yoga source parity 2026-06-06 00:28:17 +08:00
732642856 86e7d03c4a Release v6.0.41 Yoga source parity 2026-06-05 23:20:53 +08:00
732642856 ede8b96d2c Release v6.0.40 Yoga source parity 2026-06-05 22:37:25 +08:00
732642856 94be318d56 Release v6.0.39 Yoga source parity 2026-06-05 22:03:06 +08:00
732642856 58fc615b16 fix: align yoga source rules 2026-06-05 20:31:14 +08:00
732642856 975f00f5f2 fix: improve context-aware yoga precision 2026-06-05 18:00:00 +08:00
732642856 93610326fe feat: add yoga context validation fixtures 2026-06-05 17:16:23 +08:00
732642856 4b840b5c2a fix: tighten yoga precision pass 2026-06-05 16:39:05 +08:00
732642856 44221191f6 fix: align high-impact yoga logic 2026-06-05 16:17:38 +08:00
732642856 99f6646a0a docs: refresh skill version footer 2026-06-05 15:59:13 +08:00
732642856 625deb4007 chore: add engineering quality gate 2026-06-05 15:58:06 +08:00
732642856 8da45c56b3 feat: add yoga logic validation and varga fixes 2026-06-05 14:30:20 +08:00
732642856 00bce757eb chore: bump version to v6.0.25, update validation report & CHANGELOG
- SKILL.md: v6.0.24-mcp-server -> v6.0.25-bugfix
- technique_registry.json: v6.0.24-mcp-server -> v6.0.25-bugfix
- CHANGELOG.md: add v6.0.25 section with 4 bug fixes
- benchmark/validation-einstein-2026-06-04.md: update with post-fix results
  (ascendant 16.67°, Dasha Moon Maha/Jupiter Antar,
   15 yogas detected, Nakshatra Jyeshtha Pada 2)
2026-06-04 16:46:55 +08:00
732642856 0881bb0964 fix(P0): sync SKILL.md version to v6.0.24 + fix MCP strict_workflow nonexistent subcommand
- SKILL.md: version 6.0.21 -> 6.0.24, header v6.0.23 -> v6.0.24-mcp-server
- mcp_server.py: strict_workflow was calling 'jyotish_engine.py strict-workflow'
  which does not exist as an argparse subcommand. Rewrote to:
  1. Keyword-based route detection (career/relationship/finance/timing/general)
  2. Call existing 'full-reading' subcommand (guaranteed to exist)
  3. Inject 'routing' metadata into response for client-side filtering
- py_compile + audit_capabilities --mode validate: all pass
- warnings=0, problems=0
2026-06-04 15:25:02 +08:00
732642856 28f6292a9a Fix full reading regression modules 2026-06-04 12:32:45 +08:00
732642856 2d847b147e Implement Nakshatra advanced dasha layer 2026-06-04 12:19:11 +08:00
732642856 e0334cc723 v6.0.21: Muhurta (Panchanga five elements) implementation
Complete Muhurta / electional astrology system:
- scripts/muhurta.py: full Panchanga calculation
  - Tithi (1-30, Shukla/Krishna quality table)
  - Nakshatra (27 nakshatras, Laghu/Sthira/Mridu/Ugra/Tikshna/Chara types)
  - Yoga (27 yogas, Sun+Moon sum)
  - Karana (11 karanas incl. Vishti/Bhadra warning)
  - Vara + Hora (weekday lord + hourly planet)
  - Abhijit Muhurta (most auspicious ~48min noon window)
  - Activity suitability: marriage/business/travel/medical/education
- scripts/cmd_muhurta.py: CLI subcommand with date/activity/scan-days args
- jyotish_engine.py: muhurta subparser + cmd dispatch
- Tested: 2026-06-04 = Krishna Tritiya, Shukla Yoga, Jupiter Vara

Files: +2 new (muhurta.py, cmd_muhurta.py), +4 modified
2026-06-04 11:35:46 +08:00
732642856 e2aa76a786 v6.0.20: Narayana Dasha (Rishi Dasha) implementation
Narayana Dasha is Parashara's rashi-based dasha system, complementary to
Vimshottari (nakshatra-based). Algorithm: start from Lagna, each sign's
dasha years = count from the sign to its lord's sign (zodiacal order).

Implementation:
- scripts/narayana_dasha.py: core calculation module
  - calc_narayana_mahadasha(): 12-sign sequence from Lagna
  - calc_narayana_antardasha(): sub-periods within each MD
  - get_current_narayana_dasha(): locate current period by age
- scripts/cmd_narayana_dasha.py: CLI subcommand
- jyotish_engine.py: Step 4.13 in full-reading + narayana-dasha subparser

Verified with Leo Asc chart: total cycle 88 years, current Sagittarius MD
(31-38 yrs, 5H/creativity) complements Vimshottari Saturn MD.

Files: +2 new (narayana_dasha.py, cmd_narayana_dasha.py), +4 modified
2026-06-04 11:08:05 +08:00
732642856 78e6f12b43 v6.0.19: fix degraded mode - Muntha no longer skipped without swisseph
Bug: v6.0.18's solar_return_full_report returned early when calc_solar_return_chart
failed (no swisseph), skipping Muntha entirely.

Fix:
- Added _estimate_sun_sign() with lookup table for sun sign from birth date
- Refactored solar_return_full_report to use degraded mode:
  - Muntha + Year Lord always computed (using lookup table sun sign)
  - Tajika/Sahams/Tri-Pataka/Mudda gracefully skipped with notes
- Added _SUN_SIGN_LOOKUP table covering 1950-2100, \u00b11 sign accuracy

Files: solar_return.py, SKILL.md, CHANGELOG.md, technique_registry.json
2026-06-04 11:03:26 +08:00
732642856 0d44b9b43f v6.0.18: Solar Return/Varshaphala 实现 + Muntha covered
变更概要:
- scripts/solar_return.py(新):太阳返照盘核心计算(二分法求精确UT时刻)
- scripts/cmd_solar_return.py(新):solar-return 子命令
- scripts/jyotish_engine.py:新增 Step 4.12 + cmd_solar_return 注册 + --target-year 参数
- references/technique_registry.json:muntha→covered,新增 solar_return(covered)
- CHANGELOG.md:新增 v6.0.18 条目
- SKILL.md:版本 6.0.18

已知限制(待修复):
- swisseph 不可用时,calc_solar_return_chart 报错导致 solar_return_full_report 提前返回,Muntha 计算被跳过。
- 修复方向:将 calc_solar_return_chart 拆为 UT 计算(近似算法可用)和 chart 计算两步,chart 失败时不中断 Muntha 计算。
2026-06-04 07:35:57 +08:00
732642856 8d0616c1b7 v6.0.17: bhrigu_pada_dasha 接入 + muntha/prashna placeholder 修正
- scripts/bhrigu_pada_dasha.py (新): Bhrigu Pada Dasha 通用近似版
- scripts/jyotish_engine.py Step 4.11: 新增 bhrigu_pada_dasha 调用,修正 muntha/prashna placeholder 文字
- references/technique_registry.json: 新增 bhrigu_pada_dasha (partial)
- CHANGELOG.md: 新增 v6.0.17 条目
- SKILL.md: 版本号 6.0.16 → 6.0.17
2026-06-04 06:13:15 +08:00
732642856 a40310a7be v6.0.16: 新增 Marriage Counting + D30 Trimshamsa + Muntha(占位) + Prashna(占位) 技法
- scripts/marriage_counting.py(新):Bhrigu 婚姻计数法(精确算法)
- scripts/trimshamsa_d30.py(新):D30 Trimshamsa 分盘计算
- scripts/muntha.py(新):Muntha 计算(基础版,需 Varshaphala 数据)
- scripts/jyotish_engine.py:Step 4.11 集成 4 个新技法
- references/technique_registry.json:新增 4 个技法注册
- CHANGELOG.md:新增 v6.0.16 条目
- SKILL.md:版本号 6.0.15 → 6.0.16
2026-06-04 06:03:11 +08:00
732642856 5e62ec5d48 chore: cleanup darakaraka dead code + fix SKILL.md trigger keywords 2026-06-04 05:57:38 +08:00
732642856 de07e98a3d v6.0.15: 新增 Tithi Lord + Pancha Pakshi + Rashi Tulya Navamsa 技法
- scripts/tithi_lord.py(新):Tithi Lord 计算模块
- scripts/pancha_pakshi.py(新):Pancha Pakshi 五鸟系统
- scripts/rashi_tulya_navamsa.py(新):Rashi Tulya Navamsa D1-D9 对比分析
- scripts/jyotish_engine.py:Step 4.10 集成 3 个新技法
- references/technique_registry.json:新增 3 个技法注册
- CHANGELOG.md:新增 v6.0.15 条目
- SKILL.md:版本号 6.0.14 → 6.0.15
2026-06-04 05:31:55 +08:00
732642856 63fb547dda v6.0.14: 新增 Yogas + Doshas + Special Lagnas + Darakaraka 技法
- scripts/jaimini.py: 新增 calc_darakaraka 等5个函数(DK/婚姻分析)
- scripts/yogas_doshas.py: 新文件,11个函数(Raj/Dhana/PanchaMahapurusha/NeechaBhanga/MangalDosha/KaalSarp/Pitra/SadeSati/ArudhaLagna/UpapadaLagna)
- scripts/jyotish_engine.py: cmd_full_reading 新增 Step 4.9 调用 calc_all_yogas_doshas
- references/technique_registry.json: 新增11个技法注册(darakaraka/raj_yoga/.../upapada_lagna)
- references/strict-workflow-router.md: Audit Table 模板新增11行
- CHANGELOG.md: 新增 v6.0.14 条目
- SKILL.md: 版本号 6.0.13 → 6.0.14
2026-06-04 05:12:35 +08:00
732642856 a20c13490c v6.0.13: 新增 Tajika Yogas + Sahams 技法
- scripts/tajika.py: 新增 calc_tajika_yogas, calc_all_sahams 等6个函数
- scripts/jyotish_engine.py: cmd_full_reading 新增 Step 4.8 调用新函数
- references/technique_registry.json: 新增 tajika_yogas, sahams 技法注册(partial)
- references/strict-workflow-router.md: Audit Table 模板新增两行
- CHANGELOG.md: 新增 v6.0.13 条目
- SKILL.md: 版本号 6.0.12 → 6.0.13
2026-06-04 04:35:44 +08:00
732642856 f6deae7a25 v6.0.12: add Dispositor Chain + Inter-chart Linkage techniques
- New functions: calc_dispositor_chain, calc_inter_chart_linkage, calc_all_dispositor_chains, calc_all_inter_chart_linkages
- cmd_full_reading Step 4.7: compute and attach dispositor_chains, inter_chart_linkage, final_dispositors to modules
- technique_registry.json: add dispositor_chain and inter_chart_linkage as covered techniques; update 3 routes
- strict-workflow-router.md: sync routes and audit table with new techniques
- CHANGELOG.md: add v6.0.12 entry
- SKILL.md: bump version to 6.0.12
2026-06-04 04:19:50 +08:00
732642856 3d2faf3380 Calibrate Jyotish benchmarks and downgrade partial modules 2026-06-04 03:06:43 +08:00
732642856 9fd26dbea5 Add Rahu Ketu node mode option 2026-06-03 19:55:22 +08:00
732642856 7bd91b3b76 Fix D10 varga benchmark precision 2026-06-03 19:29:15 +08:00
732642856 f90fdb9a3b Remove personal data from Jyotish skill 2026-06-03 15:18:12 +08:00
732642856 b6f5fa8ba4 Add Jyotish registry audit and CI foundation 2026-06-03 14:58:51 +08:00
732642856 a837b7f9d1 Add Jyotish capability matrix and gap patches 2026-06-03 13:55:51 +08:00
732642856 0ff7a9125e Add strict workflow router for Jyotish skill 2026-06-03 12:48:29 +08:00
732642856 9932c606a7 feat: 新增反教条主义实战经验精华文件 practitioner-wisdom-anti-dogma.md
- 整合7+文件中的误区/经验/教训为去重统一入口
- 教条主义十大死穴(含真实案例佐证)
- 从7篇中文技法论文提取实战洞察(D9结果盘/DK超越伴侣/Rahu D9验证等)
- 全球占星师语录集 + 24个名人案例验证规律
- SKILL.md新增实战智慧能力行和经验教训整合入口
2026-05-05 13:28:13 +08:00
732642856 eeb4d08b17 feat: v6.0.0 架构重构 + 数据修正
架构重构:
- SKILL.md 精简 86KB → 12KB(入口路由)
- quick-reference-guide 升级为执行总控(25KB)
- 引擎27大子命令完整参数表迁移到 quick-reference
- 参考资料完整索引迁移到 quick-reference

数据修正:
- P0: planetary-dignity 土星 MT 修正(摩羯→水瓶 0°-20°)
- P0: 月亮/水星 MT 多学派差异加注
- P1: planets.md 月亮/水星 MT 多学派加注 + 友敌关系多学派注释
- P2: dasha_guide 余数规则修正(余0→Mercury,非Ketu)
- 版本号升级到 6.0.0
2026-05-04 21:39:38 +08:00
732642856 aae6449ee5 feat: 本地skill积累更新 - 引擎增强+婚姻时机验证v5/v6+K.N.Rao八参数法
- SKILL.md: 更新至v3.7.4,补充能力描述
- scripts/jyotish_engine.py: 大幅增强计算引擎(+725行)
- scripts/event_prediction_model.py: 事件预测模型重构
- scripts/jaimini.py: Jaimini系统增强
- scripts/dasha_calculator.py: Dasha计算优化
- scripts/varga.py: 分盘计算更新
- jyotish-app/: 前端界面+过境分析功能增强
- references/: 新增3个婚姻时机研究文件
  - verified-patterns-marriage-timing-v5.md
  - verified-patterns-marriage-timing-v6.md
  - rao-marriage-timing-8-parameters.md
2026-05-04 20:33:13 +08:00
732642856 14d505726d 更新印度占星skill 2026-05-03 19:54:07 +08:00