v6.1.5: Integrate Ashtottari/Yogini/Kalachakra Dasha into report pipeline

- Register 3 dasha systems in technique_registry.json
- Extend orchestrator_bridge.py with inject_dasha_results()
- Add add_timing() to ThematicReportOrchestrator
- Dashas auto-convert to TimingAnchor and inject into all 5 themes
- Verified: Yogini + Kalachakra timing anchors flow into ThemeReport
This commit is contained in:
732642856
2026-06-07 15:17:09 +08:00
parent dae6d795bd
commit 067b400625
3 changed files with 318 additions and 2 deletions
+13 -2
View File
@@ -629,6 +629,9 @@ class ThematicReportOrchestrator:
t: NarrativeGenerator(t) for t in ThemeName
}
self._timing_builder = TimingAnchorBuilder(chart_data)
self._external_timings: Dict[ThemeName, List[TimingAnchor]] = {
t: [] for t in ThemeName
}
def add_technique(self, theme: ThemeName, result: TechniqueResult) -> None:
"""向指定主题添加一个技法分析结果"""
@@ -640,6 +643,10 @@ class ThematicReportOrchestrator:
for r in results:
self.add_technique(theme, r)
def add_timing(self, theme: ThemeName, timing: TimingAnchor) -> None:
"""向指定主题添加外部注入的时间锚定(如推运结果)"""
self._external_timings[theme].append(timing)
def generate_report(self, theme: ThemeName) -> ThemeReport:
"""生成单一主题完整报告"""
validator = self._validators[theme]
@@ -650,8 +657,12 @@ class ThematicReportOrchestrator:
strength = validator.compute_overall_strength()
dominant = validator.get_dominant_sentiment()
# 2. 时间锚定
timing = self._timing_builder.build_for_theme(theme)
# 2. 时间锚定(优先使用外部注入的推运结果)
if self._external_timings.get(theme):
# 使用最新注入的外部timing
timing = self._external_timings[theme][-1]
else:
timing = self._timing_builder.build_for_theme(theme)
# 3. 叙事生成
narrator = self._narrators[theme]