{"record":{"id":"5481c619576070bd","repo":"ZhuLinsen/daily_stock_analysis","slug":"raw-result-is-empty-or-invalid-for-record-record","errorCode":null,"errorMessage":"raw_result is empty or invalid for record {record_id}","messagePattern":"raw_result is empty or invalid for record (.+?)","errorType":"exception","errorClass":"MarkdownReportGenerationError","httpStatus":500,"severity":"error","filePath":"src/services/history_service.py","lineNumber":811,"sourceCode":"        Args:\n            record_id: integer PK (as string) or query_id string\n\n        Returns:\n            Markdown formatted report string, or None if record not found\n\n        Raises:\n            MarkdownReportGenerationError: If report generation fails due to internal errors\n        \"\"\"\n        record = self._resolve_record(record_id)\n        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)","sourceCodeStart":793,"sourceCodeEnd":829,"githubUrl":"https://github.com/ZhuLinsen/daily_stock_analysis/blob/5159bd72e8373d215492dff122acc9d389e219c9/src/services/history_service.py#L793-L829","documentation":"Error \"raw_result is empty or invalid for record {record_id}\" thrown in ZhuLinsen/daily_stock_analysis.","triggerScenarios":"Thrown at src/services/history_service.py:811 when the library encounters an invalid state.","commonSituations":"Raised when raw_result of a history record is empty or not a valid structure during report rebuild; occurs for records saved before raw_result persistence or after data corruption.","solutions":["Re-run the analysis for the record so raw_result is persisted.","Check the analysis pipeline logs for the record id to see why raw_result was not stored.","If the record is legacy/corrupt, delete it and regenerate the 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-15T22:17:37.221Z"}