fix(compile): salvage partial output on timeout and iteration limits - #3948
Merged
Conversation
yeshion23333
requested changes
Aug 12, 2026
yeshion23333
left a comment
Collaborator
There was a problem hiding this comment.
Requesting changes for two blocking correctness issues: the configured grace defaults currently fail this PR's own contract test, and the salvage link matcher leaves some valid unresolved Markdown links untouched.
yeshion23333
requested changes
Aug 12, 2026
yeshion23333
left a comment
Collaborator
There was a problem hiding this comment.
One blocking Markdown path-normalization issue remains in the salvage repair path.
yeshion23333
approved these changes
Aug 12, 2026
yeshion23333
left a comment
Collaborator
There was a problem hiding this comment.
Re-reviewed the latest changes. All previously reported blocking issues are resolved, and the targeted regression tests pass.
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.
Description
This PR prevents long-running Compile tasks from losing useful work when they reach the server runtime deadline or exhaust the AgentLoop iteration limit.
For Resource targets, eligible workspace files are safely salvaged before cleanup, recoverable Markdown links are repaired, and partial results are committed with explicit warnings. The PR also exposes a configurable server-side runtime timeout, expands Compile capacity, and hardens related link, SDK timeout, and semantic refresh behavior.
Human Involvement
Related Issue
N/A
Type of Change
Changes Made
runtime_timeout_secondsto the Compile API andov compile --runtime-timeoutto the Rust CLI.salvagedstage and explicit partial-output warnings.Testing
Validation performed:
148 passed5 passedcargo fmt --check: passedgit diff --check: passedA broader run of the affected Python test files reported
231 passed, 1 failed. The remaining failure istest_glob_normalizes_scope_uri, whose expected request body does not include the existingnode_limit: 256field; neither the glob implementation nor this test is changed by this PR.Checklist
Screenshots (if applicable)
N/A
Additional Notes
Salvaged output is intentionally marked as partial because it has not passed the normal Wiki bundle validation flow. Salvage currently applies only to Resource targets; other target types retain the existing failure behavior.