Repository navigation
Skip a judgement with no change to judge instead of paying for it - #188
Conversation
A report must cite a file the pack showed, so a Judgement of an empty change can find nothing, yet it was paid for and let a Run that built nothing read aligned: true. Record it as skipped, so the Run reads unverified until a Judgement of a real change answers it. Tests that judged an empty change by accident now judge a real one. Closes #184
Drop a test helper comment that restated the code below it.
On a machine with ~2,100 processes one look read them one by one and took about 1.8 s. Ending a host's checks looks a dozen times, so the gate's check-processes test overran its 30 s timeout on vm-mk, and a real stop got one look where it budgets ten.
|
Update for 27205b1: scanning process bindings now reads up to 32 processes concurrently, preserving process identity checks while avoiding the busy-host timeout. The regression failed before the fix; the process tests and all 26 check-processes tests subsequently passed on the recorded earlier tree. The previously failing check-processes test dropped from 23.5 seconds alone to 7.6 seconds. The empty-change judgement fix remains in this PR, which closes #184. Verification: regression, typecheck, lint, format and check-processes passed on an earlier tree; no current-tree pass is recorded for those verifications; Collie's final check failed. Required verification:
The review found no actionable issues, and this delivery step changed no source files or tests. No post-review source fix was made. The carried non-blocking minor finding about the helper comment at test/drift.test.ts:526 remains unchanged. The branch was pushed without ci.skip; origin already had this commit. GitHub CI on this head is currently failing: test job reports 4057 passed, 11 skipped and one failure, “a continuation queued behind an interrupted turn never starts”. The macos, desktop-macos, desktop and security checks passed. The earlier build assumption below that GitHub CI was green is historical and no longer describes this head. No checks were rerun in this delivery step. Not settled by the run
|
A server that reads the interrupt before the SIGTERM is not draining yet, so it starts the queued continuation. Nothing interrupted that turn, the server never went idle, and the stop waited out its budget with the server still up: CI's codex-stop failure on this branch. The stop now interrupts any new running turn on the threads it is stopping while it waits for the server to exit.
The host writes a running check's record to <record>.new and renames it. The test took the first one-file listing, so on a slow tree it caught the .new and expected a target ending in .json.new. That was the one failure in Collie's check of 27205b1.
Before this change, a Run's semantic Judgement on a change with no files to judge still called the evaluator. That happens when nothing changed since the base, or when the change touched none of the constraint's paths. The call was paid for, but a report must cite a changed file, so it could find nothing. The Run then read
aligned: trueon no evidence.judgeinsrc/drift.tsnow skips such a Judgement before the call and records the reasonno change to judge. The Run then readsunverifiedand says why, as for any other skipped Judgement.docs/steering.mdnames this case.Closes #184
Verified: on the branch as it stands,
regression,typecheck,format-touchedanddrift-oversight-correctionpassed. Collie's owncheckfailed (see below).These are the verifications this run is held to:
No reviewer looked at the two gate fixes after the last review; their own checks and dispositions are all that cover them. Gate fix 1 removed a doc comment that restated the
judgedWithNoCalltest helper (test/drift.test.ts) and re-recordedregressionon the committed tree. Gate fix 2 changed nothing.Findings left open as non-blocking:
test/check-processes.test.ts).test/check-processes.test.ts).Not settled by the run
no change to judgeeven when the evaluator is missing or unavailable; that is why the missing- and unavailable-evaluator tests needed a real change, as the plan anticipated.git added (staged) and not committed. It shows ingit diff HEAD, and src/ is already un-excluded in the test repository.aligned: true#184 closes on merge; the merge request description saysCloses #184.