fix: Preserve PARTIAL_SUCCESS status when document timeout hits (#1975)

* Initial plan

* Initial investigation: analyze ReadingOrderModel timeout issue

Co-authored-by: cau-git <60343111+cau-git@users.noreply.github.com>

* Complete timeout fix validation with tests and documentation

Co-authored-by: cau-git <60343111+cau-git@users.noreply.github.com>

* Fix timeout status preservation issue by extending _determine_status method

Co-authored-by: cau-git <60343111+cau-git@users.noreply.github.com>

* Fix the PARTIAL_SUCCESS case in _determine_status properly

Signed-off-by: Christoph Auer <cau@zurich.ibm.com>

---------

Signed-off-by: Christoph Auer <cau@zurich.ibm.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: cau-git <60343111+cau-git@users.noreply.github.com>
Co-authored-by: Christoph Auer <cau@zurich.ibm.com>
This commit is contained in:
Copilot 2025-07-23 13:50:40 +02:00 committed by GitHub
parent 8d50a59d48
commit 98e2fcff63
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -217,7 +217,13 @@ class PaginatedPipeline(BasePipeline): # TODO this is a bad name.
return conv_res
def _determine_status(self, conv_res: ConversionResult) -> ConversionStatus:
status = ConversionStatus.SUCCESS
status = conv_res.status
if status in [
ConversionStatus.PENDING,
ConversionStatus.STARTED,
]: # preserves ConversionStatus.PARTIAL_SUCCESS
status = ConversionStatus.SUCCESS
for page in conv_res.pages:
if page._backend is None or not page._backend.is_valid():
conv_res.errors.append(