fix(publisher): retry one exact failed lift job - #2279
Open
branarakic wants to merge 1 commit into
Open
Conversation
branarakic
force-pushed
the
codex/publisher-exact-job-retry
branch
from
August 16, 2026 01:12
a99c377 to
4c93034
Compare
Contributor
Author
|
Review fixes are now in 4c93034. Exact and bulk retry are separate first-class operations; empty exact job IDs fail before HTTP; exact ApiClient serialization is covered. Validation: publisher recovery 14/14, CLI and API boundary 104/104, publisher build pass, CLI build pass, diff check pass. |
branarakic
force-pushed
the
codex/publisher-exact-job-retry
branch
from
August 16, 2026 01:23
4c93034 to
bcb83a9
Compare
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.
Impact
The async publisher admin boundary can now retry exactly one failed lift job by
jobId. This lets the Blackbox harness recover a retryable VM publication without sweeping unrelated historical failures or submitting a second publish request.Before
sequenceDiagram participant Harness participant Job as Failed VM job participant Publisher Harness->>Job: Poll status Job-->>Harness: failed and retryable Harness->>Harness: Keep polling until timeout Note over Publisher: Bulk retry selects every failed jobAfter
sequenceDiagram participant Harness participant API as Publisher API participant Job as Exact VM job Harness->>Job: Poll status Job-->>Harness: failed and retryable Harness->>API: Retry failed jobId only API->>Job: Reset exact job to accepted Job-->>Harness: finalizedValidation
Live trigger
The Testnet 500/500 diagnostic run exposed a retryable VM job in
failedstate. The harness recognized it as retryable but had no safe exact-job retry endpoint, so it polled until timeout. The only existing API retried all failed jobs; this PR closes that safety gap.