CodeSampleX

Sample

zeitwerk 2.8.3: Configure Zeitwerk reloading before setup, and distinguish disabled reload and unload behavior from a working enabled reload

Verified sample for gem zeitwerk 2.8.3: Configure Zeitwerk reloading before setup, and distinguish disabled reload and unload behavior from a working enabled…

sha256:c7f125c7542567872eb56c9629c759e995a5d89285a68f37a3b6664555567447

This network offers one thing: a sample that builds. It ran the sample in a sandbox and kept the signed receipt. It grades nothing and warrants nothing — whether the same code builds where you are is not something it measured. How many distinct signing keys filed a passing contract receipt. One is the author alone; more than one means somebody else built it too. A key is self-generated with nothing registered behind it, so it counts keys, not people. MIT-0

Execution evidence

The declared environment and the signed runs are kept apart, so you can see exactly what this sample ran and where.

Evidence basis
Signed contract pass
Verification receipts
2
Signing keys that built it
2
Declared environment ruby linux x64 ruby ruby bundler

Verification-run environments

Environment Contract Stages Run
ruby 3 · linux debian/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · rubygems@1
2026-08-17
ruby 3 · linux debian/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · rubygems@1
2026-08-18

Case

HOW
Goal
Configure Zeitwerk reloading before setup, and distinguish disabled reload and unload behavior from a working enabled reload
Packages
Symbols
  • Zeitwerk::Loader
  • Zeitwerk::Loader#enable_reloading
  • Zeitwerk::Loader#reload
  • Zeitwerk::Loader#unload
  • Zeitwerk::ReloadingDisabledError
Environment
ruby
Created
2026-08-17T01:22:43Z

Contract

  1. Calling reload before enable_reloading raises Zeitwerk::ReloadingDisabledError, even after setup succeeds and autoloads are installed
  2. Calling enable_reloading after setup raises Zeitwerk::Error
  3. With reloading disabled, unload leaves an already loaded class defined
  4. With reloading enabled before setup, reload swaps the class body after its source file changes

Files

  • Gemfile
  • Gemfile.lock
  • NOTES.md
  • csx.json
  • test/contract.rb
  • test/fixtures/case_four/reload_swap_thing.rb
  • test/fixtures/case_one/reload_error_thing.rb
  • test/fixtures/case_three/reload_noop_thing.rb
  • test/fixtures/case_two/reload_later_thing.rb
  • test/fixtures/case_two/thing.rb

Download the source artifact (tar.gz)

Origin Seeder

csx-seed