Repository navigation
fix(ci): push the autofix commit instead of losing it with the runner - #129
Merged
Merged
Conversation
The autofix job told the agent to commit and never pushed. On regen PR #128 the agent committed the drift fix, commented describing the flag it added, and the commit died with the runner -- leaving a stale red check next to a comment claiming it was fixed. The push is now a deterministic step rather than something the agent is trusted to do: a no-op when it declined to fix (non-drift failures are comment-only by design), a loud warning when it left the tree dirty. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
kdh-podonos
approved these changes
Oct 6, 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.
Problem
The
autofixjob inregen.ymlcloses SDK→CLI drift on a regen PR, and its prompt ends with "Commit to this branch". Nothing ever pushed that commit, and there was nogit pushstep after the action.On regen PR #128 the job ran green end to end: the agent committed the fix, then posted a comment describing the
--provider-voice-idflag it had added, the docs it regenerated and the test it wrote. The commit died with the runner. The remote branch kept exactly one commit and zero occurrences ofprovider_voice_id; the only git network operation in the job log is the checkout fetch. The PR was left with a stale red check sitting next to a confident comment claiming it was fixed — the worst of both, since the comment is what a human reads first.The checkout step's own comment already described the intended behaviour ("the agent commits and pushes with the git CLI") — the agent was simply never told to, and nothing checked.
Solution
Make the push a deterministic workflow step rather than something the agent is trusted to remember:
Push the agent's commitafter the action. A no-op when there is no commit, because declining to fix is by design — non-drift failures are comment-only. A loud::warning::when the agent left the tree dirty, which is the same silent-loss failure wearing a different hat.ci.ymlre-runs on the new commit. The merge gate isci.yml, so a push that triggers nothing would leave the PR red anyway.Verification
regen.ymlparses and the step lands in the right place:The drift this was supposed to catch is fixed by hand on #128, which is the end-to-end proof of what the job should have produced.
🤖 Generated with Claude Code