Repository navigation
fix(runner): base a new run on origin's head, not the local branch - #110
Merged
Merged
Conversation
…l branch run_item minted every run from `git rev-parse HEAD` in the muesli checkout, and nothing moves that local branch: it sat on 31 August while origin/main was current. #782's spec and plan were written against month-old code with no ami-eval, and the implementer, on the real head, correctly refused the plan and the run ended. _run_base_sha fetches and answers origin's default-branch head (the last-fetched one, with a warning, if the fetch fails). --recover-pr mints the same way.
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.
What and why
muesli #782 was specified and planned against 31 August code. A new run's base was
git rev-parse HEADin the runner's muesli checkout, and nothing ever moves that local branch. It sat at70508dd(31 Aug) whileorigin/mainwas current atcc1f9e0. The spec and plan therefore set out to buildami-evalfrom scratch, although #780 had already shipped it. The implementer, working on the real head, correctly refused the plan, and the run ended as escalated._run_base_shafetches and returns the head of origin's default branch (refs/remotes/origin/HEAD, falling back toorigin/main). If the fetch fails, it returns origin's last-fetched head with a warning, never the local branch. Both mint paths use it:run_itemand--recover-pr.Effect on the merge gate
None directly. The recorded base is what verdict bindings compare against. It is now a real upstream commit rather than a stale local one, so bindings are more accurate, not less.
Testing
bash batch/run-queue.sh --self-testpasses (macOS; Linux via CI)tests/execution/test_run_base_sha.pyuses real git repos. A clone whose localmainis behind origin gets origin's head, and so does a failed fetch after an earlier one. Both mint sites are checked.Whole suite: 2031 passed, 3 skipped.
Anything a reviewer should look at twice
After this deploys, #782 needs requeueing. Its run ended on the stale base.