{"record":{"id":"af7670752c3c57eb","repo":"ZhuLinsen/daily_stock_analysis","slug":"invalid-datetime-value-value","errorCode":null,"errorMessage":"invalid datetime value: {value}","messagePattern":"invalid datetime value: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":400,"severity":"error","filePath":"src/services/decision_signal_service.py","lineNumber":1287,"sourceCode":"        try:\n            return int(value)\n        except (TypeError, ValueError) as exc:\n            raise ValueError(f\"{field_name} must be an integer\") from exc\n\n    @staticmethod\n    def _parse_datetime(value: Any) -> Optional[datetime]:\n        if value in (None, \"\"):\n            return None\n        if isinstance(value, datetime):\n            return to_utc_naive_datetime(value)\n        if isinstance(value, str):\n            text = value.strip()\n            if not text:\n                return None\n            try:\n                parsed = datetime.fromisoformat(text.replace(\"Z\", \"+00:00\"))\n            except ValueError as exc:\n                raise ValueError(f\"invalid datetime value: {value}\") from exc\n            return to_utc_naive_datetime(parsed)\n        raise ValueError(f\"invalid datetime value: {value}\")\n\n    @classmethod\n    def _is_expired(cls, expires_at: Optional[datetime]) -> bool:\n        normalized_expires_at = cls._parse_datetime(expires_at)\n        return normalized_expires_at is not None and normalized_expires_at <= utc_naive_now()\n\n    @staticmethod\n    def _json_dumps(value: Any) -> Optional[str]:\n        if value in (None, \"\"):\n            return None\n        sanitized = sanitize_decision_signal_payload(value)\n        return json.dumps(sanitized, ensure_ascii=False, sort_keys=True, default=str)\n\n    @staticmethod\n    def _json_loads(value: Optional[str], *, signal_id: int, field_name: str) -> Any:\n        if not value:","sourceCodeStart":1269,"sourceCodeEnd":1305,"githubUrl":"https://github.com/ZhuLinsen/daily_stock_analysis/blob/5159bd72e8373d215492dff122acc9d389e219c9/src/services/decision_signal_service.py#L1269-L1305","documentation":"Error \"invalid datetime value: {value}\" thrown in ZhuLinsen/daily_stock_analysis.","triggerScenarios":"Thrown at src/services/decision_signal_service.py:1287 when the library encounters an invalid state.","commonSituations":"Raised when a datetime field in a decision signal payload cannot be parsed; occurs with malformed ISO dates or wrong types supplied via the API.","solutions":["Pass the datetime in ISO 8601 format (e.g. 2024-01-31T09:30:00 or 2024-01-31).","Remove timezone/ambiguity issues by normalizing the value before submission.","Check upstream data for malformed or empty datetime strings and fix the source record."],"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"}