Docs only. Recovers #189, which reported merged and did not reach main.
What happened
#189 was opened against test/concat-engine-seam and — unlike #184 through #188 — never retargeted to main before merging. So it merged into a branch that had itself already been merged and left behind. GitHub returned merged, the PR shows MERGED, and none of the content was on main: CLAUDE.md there still read 88.9% / 546 tests.
This is precisely the trap CLAUDE.md documents and #160 paid for. git merge-base --is-ancestor <merge-sha> origin/main caught it on the first try, which is the whole argument for that line being non-optional — every other signal said success.
One thing the existing entry does not say, and now would: the auto-retarget it describes belongs to GitHub's stacking feature. A stack opened with plain gh pr create --base <branch> retargets nothing, so every PR has to be moved by hand — and missing one is invisible until you check ancestry. I missed exactly one out of eleven.
The numbers
Re-measured on this tree with --rerun-tasks rather than inherited from the branch they were taken on, because this entry's own rule is to re-measure before quoting:
584 JVM tests in 87 classes, 0 failures
LINE 2183/2352 = 92.8%
BRANCH 1091/1342 = 81.3%
Same figures, earned again.
The content
Unchanged from #189: the wave-3 entry, the coverage-gap vs assertion-gap distinction, the two vacuous tests the mutation rule caught in flight, the mirror trap of a semantically-equivalent mutation, the three items that came back not as their tickets described them, and both denominator moves stated separately from the numerators.
Docs only. **Recovers #189, which reported `merged` and did not reach `main`.**
### What happened
#189 was opened against `test/concat-engine-seam` and — unlike #184 through #188 — never retargeted to `main` before merging. So it merged into a branch that had itself already been merged and left behind. GitHub returned `merged`, the PR shows **MERGED**, and none of the content was on `main`: `CLAUDE.md` there still read 88.9% / 546 tests.
This is precisely the trap `CLAUDE.md` documents and #160 paid for. `git merge-base --is-ancestor <merge-sha> origin/main` caught it on the first try, which is the whole argument for that line being non-optional — every other signal said success.
One thing the existing entry does not say, and now would: **the auto-retarget it describes belongs to GitHub's stacking feature.** A stack opened with plain `gh pr create --base <branch>` retargets nothing, so every PR has to be moved by hand — and missing one is invisible until you check ancestry. I missed exactly one out of eleven.
### The numbers
Re-measured on this tree with `--rerun-tasks` rather than inherited from the branch they were taken on, because this entry's own rule is to re-measure before quoting:
```
584 JVM tests in 87 classes, 0 failures
LINE 2183/2352 = 92.8%
BRANCH 1091/1342 = 81.3%
```
Same figures, earned again.
### The content
Unchanged from #189: the wave-3 entry, the coverage-gap vs assertion-gap distinction, the two vacuous tests the mutation rule caught in flight, the mirror trap of a semantically-equivalent mutation, the three items that came back not as their tickets described them, and both denominator moves stated separately from the numerators.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Docs only. Recovers #189, which reported
mergedand did not reachmain.What happened
#189 was opened against
test/concat-engine-seamand — unlike #184 through #188 — never retargeted tomainbefore merging. So it merged into a branch that had itself already been merged and left behind. GitHub returnedmerged, the PR shows MERGED, and none of the content was onmain:CLAUDE.mdthere still read 88.9% / 546 tests.This is precisely the trap
CLAUDE.mddocuments and #160 paid for.git merge-base --is-ancestor <merge-sha> origin/maincaught it on the first try, which is the whole argument for that line being non-optional — every other signal said success.One thing the existing entry does not say, and now would: the auto-retarget it describes belongs to GitHub's stacking feature. A stack opened with plain
gh pr create --base <branch>retargets nothing, so every PR has to be moved by hand — and missing one is invisible until you check ancestry. I missed exactly one out of eleven.The numbers
Re-measured on this tree with
--rerun-tasksrather than inherited from the branch they were taken on, because this entry's own rule is to re-measure before quoting:Same figures, earned again.
The content
Unchanged from #189: the wave-3 entry, the coverage-gap vs assertion-gap distinction, the two vacuous tests the mutation rule caught in flight, the mirror trap of a semantically-equivalent mutation, the three items that came back not as their tickets described them, and both denominator moves stated separately from the numerators.
🤖 Generated with Claude Code