Repository navigation
Raise ruby/spec floor 22205 -> 22475 after wave 32 - #673
Merged
Merged
Conversation
Three units, +283 measured, and the first wave whose numbers are trustworthy throughout: #660 repaired the harness at the end of wave 31, so this is the first measurement in the campaign with no known vacuous assertions under it. #666 core/kernel, numerics, symbols (+162). 45 of those were INVISIBLE rather than failing: core/integer/{pow,exponent}_spec.rb each scored 0 because the corpus contains `100000000 ** 1000000000` and rbgo computed it unbounded until the harness killed the process. bignum.c's BIGLEN_LIMIT refuses it. core/rational and core/builtin_constants are now AT the ceiling. #668 IO/Dir encodings resolved once at open, #syswrite reaching the descriptor, IO::Buffer's base/size distinction (+56). THIRTEEN of the sixteen files it touched now sit exactly at the ceiling the harness can express. #665 singleton classes of nil/true/false, post parameters in Method#arity AND #parameters together, and `!~`/`!`/`!=` DISPATCHED rather than synthesised — one cause, three defects, found by asking whether #663's neighbours shared its shape. Measured with scripts/conformance/rubyspec/run.sh against the pinned corpus at 87b1631, 16-way, TIMEOUT=25, three consecutive runs: 22489, 22489, 22488. The floor is set thirteen below the lowest. Three of my briefing targets dissolved under measurement again — the third wave running. core/io/write_spec's "9 failures" is a real gap of 1 (MRI fails the other eight through this shim); core/array/fill_spec's "9" is a gap of ZERO (ceiling 38, rbgo 38); core/numeric/step_spec's 12.700000000000001 is what MRI prints. Running MRI through our own shim for a per-file ceiling is what catches these, and it is now done before planning rather than after. The largest lever left is not in any of these lanes: core/file/printf_spec.rb scores 0 against a ceiling of 160 because rbgo cannot parse a do...end block inside an arrow-lambda that is a paren-less command argument. One parser fix, 160 examples — issue #669. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Three units, +283 measured, and the first wave whose numbers are trustworthy throughout: #660 repaired the harness at the end of wave 31, so this is the first measurement in the campaign with no known vacuous assertions beneath it.
core/rationalandcore/builtin_constantsat the ceiling#syswritereaching the descriptor,IO::Buffer's base/size distinctionnil/true/false, post parameters inMethod#arityand#parameters,!~/!/!=dispatched45 examples were invisible, not failing
core/integer/pow_spec.rbandexponent_spec.rbeach scored 0 — never finishing. The corpus contains100000000 ** 1000000000, which rbgo computed unbounded until the harness killed the process.bignum.c'sBIGLEN_LIMITrefuses it. Same shape as the shim story: a file reporting 0 needs its ceiling measured before that 0 is read as failures.One cause, three defects
#663 reported that
!~was compiled to!(a =~ b)and never dispatched. Asking whether its neighbours shared the shape found!and!=doing the same — all three definitions were dead code onmain. Any object redefining them (a null object, a matcher, a DSL) lost the definition silently.Measurement
scripts/conformance/rubyspec/run.sh, pinned corpus87b1631, 16-way,TIMEOUT=25, three consecutive runs:Floor set thirteen below the lowest.
Three briefing targets dissolved under measurement — the third wave running
core/io/write_spec.rb's "9 failures": a real gap of 1. MRI fails the other eight through this shim.core/array/fill_spec.rb's "9": a gap of zero. Ceiling 38, rbgo 38.core/numeric/step_spec.rb's12.700000000000001: what MRI prints.Running MRI through our own shim for a per-file ceiling is what catches these, and it is now done before planning rather than after.
The largest lever left is in none of these lanes
core/file/printf_spec.rbscores 0 against a ceiling of 160: rbgo cannot parse ado…endblock inside an arrow-lambda that is a paren-less command argument.One parser fix, 160 examples — issue #669.
🤖 Generated with Claude Code