User workflow
A Ruby or Bundler maintainer wants to shrink a Gemfile around a dependency
failure, then verify the exported reproduction before sharing it. The
repository already has a deterministic, network-free fixture at
benchmarks/ruby-gemfile,
but the main examples guide does not currently show the end-to-end Ruby
manifest workflow.
Scope
Add one concise, copy-pasteable Ruby Gemfile section to
docs/EXAMPLES.md.
Reuse the existing fixture, --adapter ruby, and its Ruby oracle. Keep this
documentation-only: do not add dependencies, invoke Bundler, install gems, or
change reducer semantics.
The section should show, from the repository root:
- checking that
ruby is available before running the example;
- creating a temporary output parent outside the fixture;
- running the existing reduction with the stable
ORIGINAL_FAILURE marker;
- the two retained files (
Gemfile and reproduce.rb);
- the retained
repomin-required declaration, representative removed
single-line declarations, and the current unchanged constructs outside the
adapter's mutation set (including the multiline gem call and gemspec);
report validate --payload --json, including the expected valid/exact
fingerprint evidence; and
- an independent oracle rerun from the exported payload, with expected exit
code 1 and ORIGINAL_FAILURE in command output.
Explain that this fixture reads the Gemfile text with a local Ruby oracle,
so it exercises structural declaration reduction without Bundler, gem
installation, RubyGems index access, gem-source access, lifecycle hooks, or
external network. It is adapter evidence for the configured oracle, not proof
that an arbitrary minimized Bundler project resolves, installs, or behaves
correctly. Link the fixture README and the host-backend boundary in
SECURITY.md.
Do not pin attempt counts, byte counts, cache hits, or Gemfile whitespace;
those are not the user contract and may change as the reducer evolves.
Acceptance criteria
Before starting, comment here so the scope stays coordinated. In the PR,
include Closes #<issue-number> and paste the two check results. If a command
cannot be run locally, say exactly what was skipped and why.
User workflow
A Ruby or Bundler maintainer wants to shrink a
Gemfilearound a dependencyfailure, then verify the exported reproduction before sharing it. The
repository already has a deterministic, network-free fixture at
benchmarks/ruby-gemfile,but the main examples guide does not currently show the end-to-end Ruby
manifest workflow.
Scope
Add one concise, copy-pasteable Ruby
Gemfilesection todocs/EXAMPLES.md.Reuse the existing fixture,
--adapter ruby, and its Ruby oracle. Keep thisdocumentation-only: do not add dependencies, invoke Bundler, install gems, or
change reducer semantics.
The section should show, from the repository root:
rubyis available before running the example;ORIGINAL_FAILUREmarker;Gemfileandreproduce.rb);repomin-requireddeclaration, representative removedsingle-line declarations, and the current unchanged constructs outside the
adapter's mutation set (including the multiline gem call and
gemspec);report validate --payload --json, including the expected valid/exactfingerprint evidence; and
code
1andORIGINAL_FAILUREin command output.Explain that this fixture reads the
Gemfiletext with a local Ruby oracle,so it exercises structural declaration reduction without Bundler, gem
installation, RubyGems index access, gem-source access, lifecycle hooks, or
external network. It is adapter evidence for the configured oracle, not proof
that an arbitrary minimized Bundler project resolves, installs, or behaves
correctly. Link the fixture README and the host-backend boundary in
SECURITY.md.Do not pin attempt counts, byte counts, cache hits, or Gemfile whitespace;
those are not the user contract and may change as the reducer evolves.
Acceptance criteria
docs/EXAMPLES.mdcontains one complete RubyGemfileworkflow runnablefrom the repository root.
benchmarks/ruby-gemfileand documentsthe exact retained files and required/removed declaration semantics.
their expected fingerprint mode, marker, and exit behavior stated
accurately.
and the descriptive oracle/security limitations.
python3 scripts/check_docs.pypasses.python3 benchmarks/run_offline.py --only ruby-gemfilepasses, or isreported as skipped when a Ruby runtime is unavailable.
README verbatim.
Before starting, comment here so the scope stays coordinated. In the PR,
include
Closes #<issue-number>and paste the two check results. If a commandcannot be run locally, say exactly what was skipped and why.