Fill high-value skill registry gaps

This commit is contained in:
732642856
2026-06-27 12:27:13 +08:00
parent 63c9195c96
commit 4edbc43bf9
3 changed files with 181 additions and 1 deletions
+1 -1
View File
@@ -218,7 +218,7 @@ description: 印度占星(Jyotish)专业解盘与推运系统。核心能力
| **出生时间矫正** | 八大方法、自动化流程、验证报告 | `birth-time-rectification-advanced.md` |
| **PDF读取** | JH/PL PDF全量提取、完整性门、交叉校验 | `pdf-chart-reading-guide.md` `data-bridge-mapping.md` |
| **Prashna问事** | 十步断卦、AL、Sphuta、Sahams、失物查询 | `prashna-complete-guide.md` `single-event-inquiry-protocol.md` |
| **多元技法** | Yogi/Ava Yogi、Tithi Lord、Rashi Tulya Navamsa、BCP、Bhrigu Pada、Pancha Pakshi、Ashwini/Abhijit/Ketu星宿专题(需保留成熟度边界) | `yogi-avayogi-system.md` `yogi-asc-tight-orb-wealth-freeze-guide.md` `tithi-lord-relationship-system.md` `tithi-lord-freeze-execution-guide.md` `rtn-high-order-d9-freeze-execution-guide.md` `bhrigu-pada-all-event-freeze-execution-guide.md` `ashwini-abhijit-ketu-nakshatra-freeze-guide.md` `bhrigu-chakra-paddhati.md` |
| **多元技法** | Yogi/Ava Yogi、Tithi Lord、Rashi Tulya Navamsa、BCP、Bhrigu Pada、Pancha Pakshi、Tara Bala、Deha/Jeeva、Moolatrikona、Shodasavarga/Vimsopaka、Ashwini/Abhijit/Ketu星宿专题(需保留成熟度边界) | `yogi-avayogi-system.md` `yogi-asc-tight-orb-wealth-freeze-guide.md` `tithi-lord-relationship-system.md` `tithi-lord-freeze-execution-guide.md` `rtn-high-order-d9-freeze-execution-guide.md` `bhrigu-pada-all-event-freeze-execution-guide.md` `ashwini-abhijit-ketu-nakshatra-freeze-guide.md` `bhrigu-chakra-paddhati.md` `shodasavarga-complete-guide.md` `planetary-dignity-complete-reference.md` `alternative-dasha-systems.md` |
| **精准方法论** | PACDARES框架、九层复合方法、L3矛盾检查、三级置信度 | `precision-reading-methodology.md` |
| **现代解读** | 现代措辞映射、现代生活场景、常见误判纠错 | `modern-language-guide.md` `common-misconceptions.md` |
| **实战智慧** | ⭐反教条主义经验精华(全球占星师真实案例反馈总结) | `practitioner-wisdom-anti-dogma.md` |
+146
View File
@@ -344,6 +344,31 @@
"audit_label": "Sphuta/Trisphuta",
"missing_impact": "Prashna energy convergence and life-sensitivity markers are absent, leaving horary and life-risk reading thinner than classical toolchains."
},
"deha_jeeva": {
"name": "Deha / Jeeva Framework",
"domains": [
"dasha",
"prashna",
"health",
"spiritual"
],
"status": "covered",
"knowledge_refs": [
"references/alternative-dasha-systems.md",
"references/prashna-complete-guide.md"
],
"commands": [
"full-reading",
"prashna"
],
"output_paths": [
"modules.prashna.deha_jeeva",
"modules.alternative_dasha_frameworks.deha_jeeva"
],
"audit_label": "Deha/Jeeva",
"missing_impact": "Without Deha/Jeeva routing, body-vs-consciousness event classification and some classical alternative Dasha judgments stay shallow.",
"note": "Current role is primarily interpretive and workflow-level. Keep maturity at covered until more explicit engine-level outputs and external cases are frozen."
},
"shadbala": {
"name": "Shadbala",
"domains": [
@@ -472,6 +497,31 @@
"audit_label": "Gandanta",
"missing_impact": "Water-fire knot transitions are not surfaced, weakening crisis and karmic transition interpretation."
},
"moolatrikona": {
"name": "Moolatrikona / 原始三方",
"domains": [
"dignity",
"strength",
"static"
],
"status": "covered",
"knowledge_refs": [
"references/planetary-dignity-complete-reference.md",
"references/planets.md"
],
"commands": [
"chart",
"shadbala",
"full-reading"
],
"output_paths": [
"modules.chart.planets.*.dignity",
"modules.shadbala.sthana_bala"
],
"audit_label": "Moolatrikona",
"missing_impact": "Without a first-class Moolatrikona layer, dignity ranking, Sthana Bala nuance and several yoga-strength judgments become too coarse.",
"note": "Degree-band details vary by lineage. Current skill already uses Moolatrikona in dignity reasoning and strength interpretation, but should keep lineage notes explicit."
},
"vargottama": {
"name": "Vargottama",
"domains": [
@@ -512,6 +562,54 @@
"audit_label": "Pushkara",
"missing_impact": "D9 grace/support layer may be undercounted."
},
"shodasavarga": {
"name": "Shodasavarga / 十六分盘体系",
"domains": [
"varga",
"strength",
"classification"
],
"status": "covered",
"knowledge_refs": [
"references/shodasavarga-complete-guide.md",
"references/varga-system-quick-reference.md"
],
"commands": [
"full-reading",
"chart"
],
"output_paths": [
"modules.chart.divisional_charts",
"modules.varga_strength_overview"
],
"audit_label": "Shodasavarga",
"missing_impact": "Without a first-class 16-varga map, divisional interpretation and traditional weighting logic remain fragmented across isolated chart outputs.",
"note": "Registry entry covers the traditional 16-varga framework and teaching layer; not a claim that every Vimsopaka weighting path is already fully benchmark-closed."
},
"vimsopaka_bala": {
"name": "Vimsopaka Bala / 分盘综合力量",
"domains": [
"varga",
"strength",
"timing"
],
"status": "covered",
"knowledge_refs": [
"references/shodasavarga-complete-guide.md",
"references/shadbala-interpretation-methodology.md",
"references/dasha-calculation-tool.md"
],
"commands": [
"full-reading"
],
"output_paths": [
"analysis_natal_full.vimsopaka_bala",
"modules.vimsopaka_bala"
],
"audit_label": "Vimsopaka Bala",
"missing_impact": "Without Vimsopaka Bala, cross-varga strength synthesis stays under-modeled, weakening Dasha-lord judgment and deep divisional confidence calibration.",
"note": "Keep maturity at covered: the interpretive layer and reference doctrine exist, but external benchmark closure for all weighting schemes is still incomplete."
},
"navamsa_64th": {
"name": "64th Navamsa / Chatushashti Navamsa",
"domains": [
@@ -851,6 +949,28 @@
"version": "7.0",
"note": "v7.0 — 6种解除条件(dispositor在Lagna角宫/Moon角宫+擢升星主在角宫+互容+Navamsa入庙)+量化解除程度+dashaflow参考对齐"
},
"neechabhanga": {
"name": "Neechabhanga / 落陷取消(别名入口)",
"domains": [
"yoga",
"debilitation",
"recovery"
],
"status": "complete",
"knowledge_refs": [
"references/neechabhanga-raja-yoga.md",
"references/common-misconceptions.md"
],
"commands": [
"full-reading"
],
"output_paths": [
"modules.yogas_doshas.nicha_bhanga_raj"
],
"audit_label": "Neechabhanga",
"missing_impact": "Debilitation cancellation logic becomes harder to discover when users ask with the common spelling only.",
"note": "Alias entry to keep common terminology aligned with nicha_bhanga_raj. Do not interpret this alias as a separate extra technique."
},
"mangal_dosha": {
"name": "Mangal Dosha / 火星煞",
"domains": [
@@ -1266,6 +1386,32 @@
"audit_label": "Nakshatra Advanced",
"missing_impact": "N/A - implemented in v6.0.22"
},
"tara_bala": {
"name": "Tara Bala / Tarabala / 星宿力",
"domains": [
"nakshatra",
"muhurta",
"timing",
"strength"
],
"status": "covered",
"knowledge_refs": [
"references/pancha-pakshi-nakshatra-systems.md",
"references/navatara-kantaka-shani-guide.md",
"references/quick-reference-guide.md"
],
"commands": [
"nakshatra-adv",
"full-reading"
],
"output_paths": [
"modules.nakshatra_advanced.tara_bala",
"modules.nakshatra_advanced.tara_chandra_combined"
],
"audit_label": "Tara Bala",
"missing_impact": "Without a first-class Tara Bala entry, personalized Muhurta filtering and Nakshatra-based caution windows stay hidden behind generic Nakshatra outputs.",
"note": "This is a first-class view over the existing Nakshatra Advanced layer, not a claim that every Navatara branch has already been benchmark-closed."
},
"nakshatra_dasha": {
"name": "Nakshatra Dasha / 星宿大运推演(Ashtottari + Nakshatra-level Vimshottari",
"domains": [
@@ -0,0 +1,34 @@
from __future__ import annotations
import json
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
REGISTRY = ROOT / "references" / "technique_registry.json"
def test_registry_includes_high_value_traditional_techniques() -> None:
techniques = json.loads(REGISTRY.read_text(encoding="utf-8"))["techniques"]
required = {
"tara_bala": "covered",
"vimsopaka_bala": "covered",
"deha_jeeva": "covered",
"shodasavarga": "covered",
"moolatrikona": "covered",
}
for key, status in required.items():
assert key in techniques, key
assert techniques[key]["status"] == status
assert techniques[key]["knowledge_refs"]
assert techniques[key]["commands"]
assert techniques[key]["output_paths"]
def test_registry_keeps_neechabhanga_alias_aligned() -> None:
techniques = json.loads(REGISTRY.read_text(encoding="utf-8"))["techniques"]
assert "nicha_bhanga_raj" in techniques
assert "neechabhanga" in techniques
assert techniques["neechabhanga"]["status"] == techniques["nicha_bhanga_raj"]["status"]