{"record":{"id":"3e35f0e2a467411d","repo":"ZhuLinsen/daily_stock_analysis","slug":"market-review-report-is-empty-for-record-record-i","errorCode":null,"errorMessage":"market review report is empty for record {record_id}","messagePattern":"market review report is empty for record (.+?)","errorType":"exception","errorClass":"MarkdownReportGenerationError","httpStatus":500,"severity":"error","filePath":"src/services/history_service.py","lineNumber":821,"sourceCode":"        if not record:\n            logger.warning(f\"get_markdown_report: record not found for {record_id}\")\n            return None\n\n        # Rebuild AnalysisResult from raw_result\n        raw_result = parse_json_field(record.raw_result)\n        if not raw_result:\n            logger.error(f\"get_markdown_report: raw_result is empty for {record_id}\")\n            raise MarkdownReportGenerationError(\n                f\"raw_result is empty or invalid for record {record_id}\",\n                record_id=record_id\n            )\n\n        if getattr(record, \"report_type\", None) == \"market_review\":\n            markdown_report = self._extract_market_review_content(record, raw_result)\n            if markdown_report:\n                return markdown_report\n            logger.error(f\"get_markdown_report: market review report is empty for {record_id}\")\n            raise MarkdownReportGenerationError(\n                f\"market review report is empty for record {record_id}\",\n                record_id=record_id,\n            )\n\n        try:\n            result = self._rebuild_analysis_result(raw_result, record)\n        except Exception as e:\n            logger.error(f\"get_markdown_report: failed to rebuild AnalysisResult for {record_id}: {e}\", exc_info=True)\n            raise MarkdownReportGenerationError(\n                f\"Failed to rebuild AnalysisResult: {str(e)}\",\n                record_id=record_id\n            ) from e\n\n        if not result:\n            logger.error(f\"get_markdown_report: _rebuild_analysis_result returned None for {record_id}\")\n            raise MarkdownReportGenerationError(\n                \"Failed to rebuild AnalysisResult from raw_result\",\n                record_id=record_id","sourceCodeStart":803,"sourceCodeEnd":839,"githubUrl":"https://github.com/ZhuLinsen/daily_stock_analysis/blob/5159bd72e8373d215492dff122acc9d389e219c9/src/services/history_service.py#L803-L839","documentation":"Error \"market review report is empty for record {record_id}\" thrown in ZhuLinsen/daily_stock_analysis.","triggerScenarios":"Thrown at src/services/history_service.py:821 when the library encounters an invalid state.","commonSituations":"Raised when a market review history record has no report content to rebuild from; occurs when the market review record was saved without a report payload.","solutions":["Re-run the market review to produce a non-empty report for the record.","Check LLM/backend logs for an empty or failed generation for that record id.","Verify the record actually is a market review record before requesting its report."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5159bd72e8373d215492dff122acc9d389e219c9","analyzedAt":"2026-08-15T01:59:36.292Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}