Skip to content

Raise the ruby/spec floor 22475 -> 23113 after waves 33-36 - #696

Merged
tannevaled merged 2 commits into
mainfrom
wave36-floor
Sep 26, 2026
Merged

tannevaled merged 2 commits into
mainfrom
wave36-floor

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

What this locks in

Waves 33–36 merged today: TracePoint-era work aside, the movers were

PR corpus effect
#674 instance_variable_set on native kinds (#672) +3
#675 warnings reach stderr, Tempfile ORs its mode +8
#677 parser v0.4.0 — do…end as a paren-less argument +223
#679 encoding-error objects, String#encode +37
#683 parser v0.5.0 — the COND half 0 (see below)
#685 Dir.pwd raises on a removed cwd (#681) −122
#692 the mspec shim repaired +357
#694 parser v0.6.0 — over-acceptance in arg_value 0 (see below)

Two of those numbers deserve their sign explained

#685 is −122 and that is the point. Dir.pwd discarded os.Getwd()'s error,
so the Dir specs — which delete the working directory in teardown — kept running
where MRI's failure cascades. rbgo scored 92 on core/dir/glob_spec.rb against
MRI's 16 through our own shim: roughly 145 examples counted as passing with no
reference able to reach them. Removing them made the measurement stricter, not
worse. Same shape as #660, where repairing ShouldProxy correctly lowered the
floor by 175.

#683 and #694 each moved zero examples, and are still conformance wins. The
parser now accepts 27 loop-condition shapes MRI accepts, and refuses 40 it
refuses; real Ruby writes none of them, so no corpus can witness either change.
Both were measured by enumerating shapes against MRI's two parsers
(--parser=prism and --parser=parse.y), which is the only instrument that can
see them.

Why this PR carries a provisional number

22650 is known-good rather than predicted: it is what CI's ratchet read on
#685 before #692 merged. #685 and #692 interact — #685 makes Dir.pwd raise when
the working directory has been removed, and #692 restores the after :all hook
whose absence was what removed it — and neither branch's CI ran with the other
(#692's lanes completed at 16:54Z, #685 merged at 17:55Z).

Rather than guess the combined total, this PR measures it: its own ratchet lane
prints the real figure, and a second commit here sets the floor to exactly that.
The number is taken from the lane that applies it; a development host reads a
different one, and a floor set below what the judge sees is slack rather than
safety.

The judge did not become lenient

#692 is a large change to our own measuring instrument, so the control that
matters is what it did to the reference, not to us:

before after
MRI 4.0.5 through our shim 23926 24642 (+716)
rbgo 22757 23114 (+357)

MRI rose twice as much as rbgo, MRI's unscoreable set fell 531 → 112, no file
moved down for MRI, and nowhere did rbgo rise while MRI did not. The repaired
instrument also makes headroom legible for the first time: 1528 reachable
examples, with 85 files scoring 0 for rbgo where MRI scores above 0.

🤖 Generated with Claude Code

tannevaled and others added 2 commits September 26, 2026 19:57
Provisional, and deliberately conservative: 22650 is the number CI's own
ratchet read on #685 (Dir.pwd) before #692 (the mspec shim repair) merged, so
it is known-good rather than predicted. The two land together for the first
time on this branch, and they interact: #685 makes Dir.pwd raise when the
working directory has been removed, while #692 restores the `after :all` hook
whose absence was what removed it. Neither branch's CI ran with the other.

So this PR is also the measurement. Its own ratchet lane reports the real
total for the combined tree, and the floor is then set to that figure in a
follow-up commit here — taken from the lane that applies it, never from a
development host, which reads a different number.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The provisional 22650 was the reading on #685 before #692 merged. The combined
tree reads 23113 — the same total #692 measured on its own, so #685's -122 did
NOT subtract from it.

That is informative rather than a coincidence: the 122 examples #685 removed were
the Dir specs continuing past a deleted working directory, and #692 restores the
`after :all` hook whose absence deleted it. With the hook back, the directory
survives and Dir.pwd never has to raise. The two changes address one root cause
from opposite sides and overlap instead of composing, which is why predicting the
sum would have been wrong in either direction.

Taken from the lane that applies the floor, on the merge of this branch with
main, not from a development host.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tannevaled tannevaled changed the title Raise the ruby/spec floor after waves 33-36 (provisional 22650; this PR measures the combined tree) Raise the ruby/spec floor 22475 -> 23113 after waves 33-36 Sep 26, 2026
@tannevaled
tannevaled merged commit 8f2a019 into main Sep 26, 2026
7 checks passed
@tannevaled
tannevaled deleted the wave36-floor branch September 26, 2026 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant