ReviewOS

also looking at this

stacks/buddy

fix(ci): land the lock-file repair instead of describing it

#1408
Merged glennmichael123 wants to merge fix/persist-the-mechanical-lockfile-repair into main
6 files +193 -15
docs/features/ci-repair.mdmodified+13-1
Changes to docs/features/ci-repair.md
@@ -133,7 +133,7 @@ The log is matched against failure signatures before any model is involved. That
133133
134134| Kind | What it means | Repair |
135135| --- | --- | --- |
136| `lockfile-drift` | The lock file is out of step with its manifest | Regenerated mechanically |
136| `lockfile-drift` | The lock file is out of step with its manifest | Regenerated, committed and pushed |
137137| `flake` | Network, rate limit or runner problem | Worth one retry |
138138| `install` | Dependencies could not be resolved | Agent, or reported |
139139| `type-error` | The change does not type-check | Agent |
@@ -141,6 +141,18 @@ The log is matched against failure signatures before any model is involved. That
141141| `lint` | Lint or formatting violations | Agent |
142142| `unknown` | Nothing recognisable | Reported, with the interesting log lines |
143143
144### Re-running after a mechanical fix
145
146The lock-file repair commits to the branch and pushes it, but the pull request
147does not go green by itself. The job pushes with `GITHUB_TOKEN`, which keeps the
148commit attributed to the bot rather than to whoever owns a personal access
149token — and GitHub deliberately does not start a new workflow run for a push
150made with it.
151
152So the fix lands, and the checks need re-running: from the Actions tab, or by
153the next push to the branch. Buddy tells you which of the two happened in the
154comment it leaves.
155
144156With no AI provider configured, classification and the mechanical repairs still work. You lose the agent-driven fixes, not the diagnosis.
145157
146158## What it is allowed to do