@@ -120,6 +120,8 @@ def gather_preview_lines(path: Path) -> list[str]:
120120
121121
122122def infer_next_step (result : ConversionResult ) -> str :
123+ if "dependency_missing" in result .quality_flags :
124+ return "install_dependency_and_retry"
123125 if "conversion_failed" in result .quality_flags :
124126 return "manual_review"
125127 if {"scanned_pdf_suspected" , "low_text_density" } & set (result .quality_flags ):
@@ -131,8 +133,6 @@ def infer_next_step(result: ConversionResult) -> str:
131133 ".xlsx" ,
132134 }:
133135 return "cheap_model_or_stronger_converter"
134- if "dependency_missing" in result .quality_flags :
135- return "install_dependency_and_retry"
136136 return "read_extracted_artifact"
137137
138138
@@ -584,6 +584,10 @@ def main() -> int:
584584 result = ConversionResult (source = source , output_dir = output_dir , converter = "failed" )
585585 result .warnings .append (str (exc ))
586586 result .quality_flags .extend (["conversion_failed" , "dependency_missing" ])
587+ except Exception as exc :
588+ result = ConversionResult (source = source , output_dir = output_dir , converter = "failed" )
589+ result .warnings .append (f"{ exc .__class__ .__name__ } : { exc } " )
590+ result .quality_flags .extend (["conversion_failed" , "unexpected_error" ])
587591
588592 result .stats .setdefault ("source_extension" , source .suffix .lower () or "none" )
589593 result .stats .setdefault ("source_size_bytes" , source .stat ().st_size )
0 commit comments