Skip to content

Commit cdc4354

Browse files
[skills] Harden heavy file ingestion failure handling
1 parent c6dc177 commit cdc4354

3 files changed

Lines changed: 6 additions & 2 deletions

File tree

44 Bytes
Binary file not shown.
44 Bytes
Binary file not shown.

skills/heavy-file-ingestion/scripts/convert_heavy_file.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ def gather_preview_lines(path: Path) -> list[str]:
120120

121121

122122
def 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

Comments
 (0)