Repository navigation
CI: ci_rerun_stats --logs classifies image-pull re-runs; MGT gate-step scan measured (Part of #5137, #5142) - #5224
Merged
Conversation
…t failure (Part of #5137, #5142) A failed Db2 start step is db2_start in the job JSON; with --logs the failed job's log is read and the Db2ImagePullError INFRASTRUCTURE marker makes it registry_pull (external; the bounded pull retry already exists). Verified live on Det Sweep run 38830516356 attempt 1 (icr.io pull failed after 4 attempts). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Owner
Author
|
No description provided. |
squid-protocol
marked this pull request as ready for review
October 16, 2026 07:30
squid-protocol
enabled auto-merge (squash)
October 16, 2026 07:31
This was referenced Oct 16, 2026
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.
Part of #5137, #5142. No workflow edit.
Re-run measure (after #5141 / #5177 / #5190)
ci_rerun_stats.py mainframe-ground-truth.yml det-sweep.yml --since 2026-10-15 --timeout ground-truth=35 --logsThe one Det Sweep re-run (run 38830516356 attempt 1, PR branch churn/5089) is registry_pull: shard
db2 4/4raisedDb2ImagePullError: INFRASTRUCTURE (not a code defect): could not pull the pinned Db2 image icr.io/... after 4 attempts;detthen failed with "its shard did not report". Truly external, already behind the bounded retry (#5097), so no new retry.Change
tests/tools/ci_rerun_stats.py: new causeregistry_pull, found with--logs(reads only the log of a job whose failed step is a Db2 one; markerPULL_MARKER= theDb2ImagePullErrortext). Without--logs, or with the log expired, it staysdb2_start. Tests: marker in the failed job's log / in another job's / absent / no logs; a log never overrides a timeout or a non-Db2 step;_db2_logsfetches only failed Db2 jobs.#5142 box 2: MGT "Gate against" step (2-4 min) - measured, no fix adopted
The step is the cold scan of the 3 keyed corpora, run serially by
ground_truth_ledger.measure_all. I tried scanning them concurrently (process pool warm-up) and timed the fullground_truth_ledger.py checkcold, pinned to 4 cores withGALAXYSCOPE_MAX_WORKERS=4(the runner's size):About 15% and inside the noise: one galaxyscope already uses the 4 cores (user time 3m36 vs wall 1m27 serial), so the corpora do not overlap usefully. Below my 20% bar, so not shipped. The cost is the engine scanning ~3 corpora; a real cut needs a warm scan cache keyed on the files that change a scan (the engine HEAD key makes every engine PR cold by design).
Box 1 (dsf unchanged-check) was fixed by #5190 (content-hash key); its cache is cold until main's next push touching the generation paths.
Sibling gaps
Gates
pytest tests/tools/test_ci_rerun_stats.py+test_ci_retry.py33 passed (plain pytest from /tmp);pr_gates.py --fast6/6. tests/tools only: no golden, ledger or ratchet effect.Lessons for agents
gh api .../jobs/ID/logsrefuses output with terminal escape sequences: pass--allow-escape-sequences.mainframe_corpus.scan: it sets and restoresos.environ["PYTHONPATH"]around its subprocess.🤖 Generated with Claude Code