fix: preserve strict narrative evidence

This commit is contained in:
732642856
2026-07-17 11:32:44 +08:00
parent 8b26a8fe94
commit 77b253906a
+6 -3
View File
@@ -2805,10 +2805,12 @@ class JyotishAPIHandler(BaseHTTPRequestHandler):
if not isinstance(item, dict):
raise BadRequest('evidence items must be objects')
strength = strength_map.get(str(item.get('strength', 'moderate')).strip().lower(), report_orchestrator.StrengthLevel.MODERATE)
technique = str(item.get('technique') or f'{theme.value}_evidence_{index + 1}')
conclusion_limit = 4000 if technique.endswith('-strict-narrative') else 800
results.append(report_orchestrator.TechniqueResult(
technique=str(item.get('technique') or f'{theme.value}_evidence_{index + 1}')[:80],
technique=technique[:80],
chart=str(item.get('chart') or 'D1')[:24],
conclusion=str(item.get('conclusion') or item.get('summary') or '未提供结论')[:800],
conclusion=str(item.get('conclusion') or item.get('summary') or '未提供结论')[:conclusion_limit],
sentiment=str(item.get('sentiment') or 'neutral').strip().lower(),
strength=strength,
details=item.get('details') if isinstance(item.get('details'), dict) else {},
@@ -3377,10 +3379,11 @@ class JyotishAPIHandler(BaseHTTPRequestHandler):
return items
def _theme_evidence(self, technique, chart, conclusion, sentiment, strength, *, source, details=None):
conclusion_limit = 4000 if str(technique).endswith('-strict-narrative') else 800
return {
'technique': technique,
'chart': chart,
'conclusion': str(conclusion)[:800],
'conclusion': str(conclusion)[:conclusion_limit],
'sentiment': sentiment,
'strength': strength,
'details': {