Repository navigation
Let progressing agent tasks finish and retain operation failures - #449
Merged
Merged
Conversation
Preserve typed nested error provenance without changing successful outer execution. Report caught nested failures separately and reuse their trusted outcomes for persistent-failure guards. Fixes #441
Broccolito
marked this pull request as ready for review
October 24, 2026 04:14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ordinary tasks currently stop after 100 actions or 200 tool calls even while making progress. Successful status lookups can hide failed background operations, and caught nested tool errors can disappear from the failure census. This change lets progressing tasks finish and records those outcomes separately.
Default action and tool-call limits become
0(unlimited). Existing positive limits, user budgets and Stop/cancellation still apply. Result-aware guards permit changed successful results, distinct successful work and identified active jobs, while unchanged calls, oscillation and persistent failures warn before stopping. Transient errors get a recovery window. Recent evidence stays bounded; healthy progress clears old stall suspicions. Deliberately bounded internal workers retain their limits.Strict version 1
io.biorouter/operationmetadata represents queued/running/completed/failed/cancelled jobs independently of lookup transport. Failed jobs appear in tool cards and the census, deduplicated by extension and operation ID. Successful direct and nested inspections stay successful. Code Execution retains inner attribution for the UI/census and outer dispatch identity for loop guards. Only authentic built-in nested telemetry is trusted, and explicit operation retryability is preserved.Caught nested failures are counted separately from failed outer calls and failed operations, retaining typed provenance even when JS handles the error. Uncaught failures and operation failures are excluded from duplicate counts.
Observed validation:
isError:false; repeated polls counted one failed operation. Direct/nested readers reconstructed the exact 69-byte multilingual CSV matching the managed artifacts.370b3c66b; strict evidence checks confirmed successful exits, required test names, report revision and log hashes. The developer background job completed with exit 0, and cleanup found no owned orphan processes.1321c8055. Fulljust check-everythingpassed at runtime-identical370b3c66b. The currentb4f276af0follow-up only synchronizes assembled website documentation and passed eight affected documentation/static checks; no local fulljust rerun at that head is claimed.These are real app/tool executions driven by a deterministic synthetic provider and synthetic jobs. No live database connectivity, clinical records or model-reasoning claim is included.
Historical CI: all 16 applicable GitHub checks passed for
b4f276af0831b778b266c71f7076242110f6e132; the conditional nightly cross-build was intentionally skipped. This does not validate the newer integration head.The #431 dependency is merged. The branch now includes current main and resolves the public-report renderer conflict by retaining content-free counts. New integration validation is recorded below; the observations above belong to their stated historical heads.
Fixes #435
Fixes #438
Fixes #441
Current-main integration at
52c496b2de3d4f051b1595cc80efde6d717286a6:just check-everythingpassed, including the complete Clippy script, UI type/lint/theme/contrast checks, generated schema consistency, brand/version/naming checks and registry checks.