Repository navigation
arxiv_refs: an arXiv API outage now turns the workflow red - #143
Merged
Merged
Conversation
The script already returned 1 on transport failure, but the workflow piped it through tee without pipefail, so the job stayed green. Add pipefail, record the exit status, keep partial progress, then fail the job. Injectable sleep for the retry ladder, ParseError -> ArxivAPIError, unattempted stat, witness test (HTTPError 429 is an API failure, never a non-match or a NOTE-mark). Git history: nothing was NOTE-marked in the 2026-09-14..18 outage window. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016nhQ8REafSSE74S71P4set
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.
Closes #142
Most of the fix was already on main in 0c3e2dc and 772d725:
ArxivAPIError, the retry ladder,api_failed, andreturn 1. The bug still live was in the workflow. It piped the script throughteewithoutpipefail, so the exit code was discarded and an outage still showed green.Changes
arxiv_refs.yml:set -o pipefailand the exit status is recorded.::error::.arxiv_refs.py:sleepcan be injected into the ladder, so tests don't wait.ArxivAPIError; it used to crash the run.http.client.HTTPExceptioncounts as transient.Noneis documented to mean only "arXiv answered, no unique match".backfill_arxiv_refs.py: newunattemptedstat and explicitARXIV API FAILUREsummary lines.HTTPError(429)is counted asapi_failed, never asunmatched, and is never NOTE-marked. The witness fails on the pre-fix source.Verification
pytest -q: 286 passed.make validate: OK.Generated by Claude Code