fix(series): Stop counting a buffer commit stage 5 would drop as empty - #2682
Open
krlmlr wants to merge 1 commit into
Open
fix(series): Stop counting a buffer commit stage 5 would drop as empty#2682krlmlr wants to merge 1 commit into
krlmlr wants to merge 1 commit into
Conversation
`series-check.sh` counted every commit in the buffer range, but `series-advance.sh` replays them with `cherry-pick --empty=drop`. A commit whose every path `-dev` already carries at that commit's post-image produces nothing and is dropped, so counting it leaves the series reading `ADVANCE` for ever: the firing runs the advance, is told `dev -> … (+0)`, and reads the same verdict again next time. Only a new vendor commit on the buffer would clear it, by moving the anchor past the whole run. `v1.4-andium` has been in that state since 2026-08-06 (`f52ed130b`). A buffer takes no ports by design, so its `.github/` predates the removal of the `v*.*-*` push filter from `R-CMD-check.yaml`, and a series ref move still triggers `rcc` there; its auto-update step committed a `Config/roxygen2/version` bump onto `-build` that `-dev` already carried. Upstream `v1.4-andium` last moved on 2026-07-07, so nothing was going to clear it on its own. The comparison is by content, not by patch-id: `git cherry` reports such a commit as unmerged, because the same post-image was reached on `-dev` by a different diff. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FqjecFkTtJTy8FoMbtXH26
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.
series-check.shcounts every commit in the buffer range.series-advance.shreplays them withcherry-pick --empty=drop, so a commit whose every path-devalready carries at that commit's post-image produces nothing and is dropped. The two disagree, and the disagreement does not settle: the firing readsADVANCE, runs the advance, is tolddev -> … (+0), and readsADVANCEagain next firing. Only a new vendor commit on the buffer clears it, by moving the anchor past the whole run.The commit that has been doing this
v1.4-andiumhas readADVANCEsince 2026-08-06, onf52ed130b:and the advance that verdict asks for says
Upstream
v1.4-andiumlast moved on 2026-07-07, so nothing was going to clear it on its own.Where the commit came from is worth recording, because it is not a one-off. A buffer takes no ports by design, so
v1.4-andium-build's.github/still carries thev*.*-*push filter thatmain'sR-CMD-check.yamlhas since dropped. That pattern matches everyv1.4-andium-*series ref, so a ref move triggersrccfrom the buffer's own tree, and its auto-update step commits aConfig/roxygen2/versionbump back onto the ref. It happened again on 2026-09-04, onv1.4-andium-build-basethis time — run33918111854, head branchv1.4-andium-build-base— producing842165b3c, a second sibling off52ed130bwith an identical tree. That is the sibling pair.claude/skills/series-loop.mdrecords under stage 3 as having happened once; it has now happened twice, and this is what wrote it. Nothing onmaincan reach those buffers, so the loop has to read the situation correctly rather than be spared it.The fix
consumable_count <range> <dev>counts only the commits stage 5 would actually mint, and the buffer count uses it on both of its branches.The comparison is by content and not by patch-id:
git cherryreportsf52ed130bas unmerged (+ f52ed130b…), because-devreached the same post-image by a different diff. So a patch-id test would not have caught it.Checked
Against the six live series,
main's copy of the script:v1.4-andiumgoes from1 buffered/ADVANCEto0 buffered/IDLE.CUTOVERlines.🤖 Generated with Claude Code
https://claude.ai/code/session_01FqjecFkTtJTy8FoMbtXH26
Generated by Claude Code