Page the dark-streak history past cancelled runs - #2062
Merged
Merged
Conversation
The consecutive-dark check reads a clause's streak out of predecessor runs' own logs and steps over runs that recorded no census (cancelled by concurrency, or red before the guard). It fetched a single page of 12 completed runs, so after a burst of pushes, each cancelling the run before it, it found too few census-bearing predecessors, read a short streak, and the lane stayed green while measuring nothing. Main run 36565851194 concluded success with two UNMEASURED clauses in the middle of a 69-run dark streak. Page the run listing instead and stop as soon as every unmeasured clause is settled: its streak cut by a run that measured it, or already long enough to red the lane. Evidence is counted per clause, because a census-bearing run that never mentions a clause says nothing about it. A run listed on two pages (the boundary moves while runs finish) is read once. Paging stops at DARK_HISTORY_RUNS_CAP=60 runs. A scan that ends still unsettled now warns that the check is INCONCLUSIVE, naming how many census-bearing runs it found in how many it scanned, instead of passing a short streak off as the answer.
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.
Summary
mainruns. After a burst of pushes most of that page is cancelled runs with no census, so it found too few census-bearing predecessors, read a short streak, and the lane went green while measuring nothing: main run 36565851194 concluded success with twoUNMEASUREDclauses in the middle of a 69-run dark streak.page=1,2,…, 12 per page) until every unmeasured clause is settled, meaning its streak was cut by a run that measured it or already reachedDARK_RUNS_TO_RED, or untilDARK_HISTORY_RUNS_CAP=60runs have been scanned (most dark streaks settle on page 1 or 2). Runs without a census are still stepped over and never count as a reset, evidence is counted per clause (a census-bearing run that never mentions the clause says nothing about it), and a run listed on two pages is read once.INCONCLUSIVEand names how many census-bearing runs it found in how many it scanned, instead of reporting the short streak as the answer; the step summary'sStreaks read from X of the Y predecessor runs scannedline carries the same paged numbers.DARK_RUNS_TO_RED, the census header, the branch rule and the summary table are unchanged.Test plan
bash .github/scripts/assert-every-filter-clause-ran.test.sh: 64 checks pass, the 43 existing ones unchanged plus 21 covering paging, early stop on a measuring run, the cap (runs, not pages), theINCONCLUSIVEwarning, de-duplication across pages, per-clause evidence, and the pinned cap constantINCONCLUSIVEwarning, a red-length streak no longer settling, no scanned count in the no-census message, and removing the end-of-history breakreal-modelrun on main, check that a dark clause's guard step reports its streak over the paged scan