Repository navigation
fix(ci): the gate checks Felix out at a pinned felix-home commit, not whatever main held when the job ran - #23
Merged
Merged
Conversation
added 3 commits
September 23, 2026 18:07
… whatever main held when the job ran The Felix checkout carried no ref, so it took felix-home's default branch at the moment the job ran. The verdict on a commit here therefore depended on when it was graded, and any felix-home merge, reviewed by nobody here, redefined this repository's green. `gate` is the required check on main, and the auto-merge streak and the repair ceiling read its runs as evidence about this repository. Between 2026-09-03 and 2026-09-23 felix-home main took 132 commits under engine/harness and 12 under projects/elenchus, against 44 gate runs here in total, so nearly every run was graded by an engine no earlier run had used. Pinned to bd740748c76510e1fffaffdf23192cb2a5c61a97, felix-home main on 2026-09-23, which carries engine 0.49.162, the version deployed locally. A full sha because a branch or tag can move. The pin sits in this workflow file because a ref read from any other file would let a pull request choose the Felix that grades it. What it costs, recorded in the file: projects/elenchus/gate.sh and its tables in felix-home are read at the pin too, so changes to them reach CI only when the pin moves, and a local felix gate on a newer engine can disagree with CI until it does. A pin to 561b998 was written on 2026-09-03 on fix/arm-web-entrypoint-and-pin-ci and never pushed; this is the first pin on main.
…s quoted A review of the matching felix-home template found two things true here too. The comment said the pin sits in this file because a ref elsewhere would let a pull request choose its own judge; a pull request can still edit this file and be graded by the Felix it names. What stops that grade from merging it is that a workflow change here is merged by the founder, never by Felix on green (the execute escape channel), and the comment now says so. The sha is quoted so YAML reads it as a string whatever it holds. This one parses as a string either way; a later pin made of digits and one e would not.
…ed repair pins bd740748 predates felix-home #323's repair exit statuses, so the unattended workflow here cannot pin it. Both workflows now name 685d37be, the merge of felix-home #328 (engine 0.49.168), so the repair loop's pre-push gate and the gate workflow grade with one Felix. This pull request's own run re-grades Elenchus with that engine before it becomes the definition of green.
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.
A workflow file, so this one is yours to merge.
The
Check out Felixstep gainsref: '685d37beedc4590a989ccd145db3069af8e7f76a', plus the comment recording why and what it costs. Nothing else changes: checkout was already v5.Why. With no ref, the gate took felix-home's default branch as it stood when the job ran:
gateis the required check, and the auto-merge streak and the repair ceiling read its runs as evidence about this repository.Measured: from 2026-09-03 to 2026-09-23, felix-home main took 132 commits under
engine/harnessand 12 underprojects/elenchus, against 44 gate runs here in total (42 green, 2 red, no re-runs, no commit graded twice). So nearly every run was graded by an engine no earlier run had used. None of them has flipped a verdict yet; the exposure is real, the incident hasn't happened.The pin.
685d37beis the merge of felix-home #328 (engine 0.49.168). It is also the commit the unattended repair workflow here is being pinned to in its own PR, so the repair loop's pre-push gate and this workflow grade with one Felix.bd740748(engine 0.49.162), and its run passed: 1439 tests.bd740748predates felix-home #323's repair exit statuses, which the unattended workflow depends on.685d37bepasses this repository.Why here and not elsewhere. A pull request that edits a workflow here is merged by you, never by Felix on green. A ref read from any other file would let a pull request choose the Felix that grades it and be merged on that grade.
The cost, recorded in the file.
projects/elenchus/gate.shand the tables beside it in felix-home are read at the pin too, so changes to them reach CI only when the pin moves.felix gateon a newer engine can disagree with CI until the pin moves.Related.
561b998was written on 2026-09-03 onfix/arm-web-entrypoint-and-pin-ciand never pushed. This is the first pin on main.