Skip to content

fix(markdown): settle summary tasks before propagating errors - #548

Open
rudycelekli wants to merge 1 commit into
VectifyAI:mainfrom
rudycelekli:fix/markdown-summary-task-cleanup-20261001
Open

rudycelekli wants to merge 1 commit into
VectifyAI:mainfrom
rudycelekli:fix/markdown-summary-task-cleanup-20261001

Conversation

@rudycelekli

Copy link
Copy Markdown

When await md_to_tree(..., if_add_node_summary="yes") receives a fatal error from one summary request, asyncio.gather raises while sibling requests remain active. In a persistent event loop, the caller has received an indexing failure but its other provider connections remain open.

Track only this operation's summary tasks. On failure or cancellation, cancel and await them before re-raising the original exception. Successful summaries still run concurrently.

Validation uses the public async API, real Markdown parsing/token counting, and actual LiteLLM/OpenAI-compatible HTTP requests to a temporary loopback provider. The fatal HTTP404 cleanup regression failed before the fix; success concurrency, caller cancellation, and timeout controls pass. Removing cleanup makes the fatal-error regression fail again. The focused Markdown file passed 7 tests; the full local Python3.12/PDFium5 suite passed 589 tests with 218 skips. Optional agent frameworks were absent. The hosted supported matrix remains required.

AI assistance was used to implement and verify this change.

Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant