Skip to content

Say what the unswept trees hold, now that they have been measured - #39

Merged
tannevaled merged 1 commit into
mainfrom
unswept-measured
Nov 10, 2026
Merged

tannevaled merged 1 commit into
mainfrom
unswept-measured

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

The page said the unswept trees are "not run at all" and stopped there. That is honest and useless on its own: a reader cannot tell whether the unmeasured half of ruby/spec is a rounding error or the bulk of the work.

They have now been measured once, on 2026-11-10, against MRI 4.0.7 through the same shim — a dated run, said on the page to be one, and not a gate.

Across the 970 files where the two engines differ the gap is 2,341 examples, and the shape matters more than the size:

  • 78 files cannot be measured at all. Every command_line/ spec is built on ruby_exe, and optional/capi needs a compiled C extension — MRI itself scores zero in them. That share asks for harness work, not interpreter work.
  • The largest single debt is a hang, not a missing feature. Net::FTP is 442 examples behind, with 39 of its 56 files killed by the clock on rbgo and none on MRI.
  • The outright absences are comparatively small — Coverage 53 examples, WeakRef 9.

Verified with the pinned command this lane runs:

$ go run github.com/go-embedded-ruby/docs/tools/[email protected] --root .
6 total claim(s), 1 version claim(s) and 3 stubbed-helper mention(s) checked
against the gate's 23672 at Ruby 4.0.9 (derived from RUBY_VERSION);
the shim stubs output_to_fd, ruby_cmd, ruby_exe

Refs go-embedded-ruby/ruby#916 — it stays open; this page only stops leaving the
reader to guess what the unswept half contains.

🤖 Generated with Claude Code

The page said the unswept trees are "not run at all" and stopped there,
which leaves a reader unable to tell whether the unmeasured half of
ruby/spec is a rounding error or the bulk of the work.

Measured once on 2026-11-10 against MRI 4.0.7 through the same shim — a
dated run, said to be one, and not a gate. The gap across the 970 files
where the two engines differ is 2,341 examples, and the shape matters
more than the size:

  - 78 files cannot be measured at all: every command_line/ spec is built
    on ruby_exe and optional/capi needs a compiled C extension, so MRI
    itself scores zero in them;
  - the largest single debt is a HANG rather than a missing feature —
    Net::FTP is 442 examples behind with 39 of its 56 files killed by the
    clock on rbgo and none on MRI;
  - the outright absences are comparatively small (Coverage 53, WeakRef 9).

Verified with the pinned command this lane runs:

    $ go run github.com/go-embedded-ruby/docs/tools/[email protected] --root .
    6 total claim(s), 1 version claim(s) and 3 stubbed-helper mention(s) checked
    against the gate's 23672 at Ruby 4.0.9 (derived from RUBY_VERSION);
    the shim stubs output_to_fd, ruby_cmd, ruby_exe

Co-Authored-By: Claude Opus 5 <[email protected]>
@tannevaled
tannevaled merged commit 68233f0 into main Nov 10, 2026
3 checks passed
@tannevaled
tannevaled deleted the unswept-measured branch November 10, 2026 14:33
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