from __future__ import annotations from dataclasses import asdict, dataclass, field from typing import Any @dataclass class DiagnosisResult: entry_mode: str activated_subcapabilities: list[str] = field(default_factory=list) is_tikv_side: bool = False scope: str = 'unknown' path: str = 'unknown' earliest_proven_bottleneck: str = 'unproven' key_evidence: list[str] = field(default_factory=list) missing_evidence: list[str] = field(default_factory=list) uncertainty_statement: str = '' provisional_conclusion: str = '' reference_files_consulted: list[str] = field(default_factory=list) def to_dict(self) -> dict[str, Any]: return asdict(self)