CodeSampleX

Пример

mustermann 4.0.0: Handle Mustermann::Set and Mustermann::Router route precedence inversion between linear and trie matching, multi-value duplicate pattern grouping, and concurrent thread isolation

Проверенный пример — gem mustermann 4.0.0: Handle Mustermann::Set and Mustermann::Router route precedence inversion between linear and trie matching…

sha256:66d61dfccdd0f8791209e5f8be9bfe85a6d40421464e04690eb19ee0c2faae7e

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
1
Заявленная среда ruby linux x64 ruby ruby rubygems

Среды запусков проверки

Окружение Контракт Этапы Запуск
ruby 3 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · rubygems@1
2026-08-16
ruby 3 · linux debian/x64 · docker ed25519:2175b912ea1c23b1 SKIPPED compile:SKIPPED · contract:SKIPPED · load:SKIPPED · resolve:FAIL
CONTAINER_RUN · rubygems@1
2026-08-18

Кейс

HOW
Цель
Handle Mustermann::Set and Mustermann::Router route precedence inversion between linear and trie matching, multi-value duplicate pattern grouping, and concurrent thread isolation
Пакеты
Символы
  • Mustermann::Set
  • Mustermann::Set#match
  • Mustermann::Set#match_all
  • Mustermann::Set#add
  • Mustermann::Router
  • Mustermann::Router#call
  • Mustermann::Pattern#params
Окружение
ruby
Создан
2026-08-16T15:58:00Z

Контракт

  1. assert linear mode matches routes in FIFO insertion order, whereas trie mode prioritizes static segments over generic captures, inverting route resolution precedence
  2. assert crossing the default 50-route threshold dynamically re-compiles the set from linear to trie mode, flipping route resolution precedence
  3. assert interleaved multi-value registrations on duplicate patterns group together in linear mode and prioritize static routes in trie mode, disrupting chronological insertion order
  4. assert configuring strict_order: true restores exact chronological registration order across both first-match and all-matches in trie mode
  5. assert Mustermann::Router dispatches concurrent multi-threaded requests safely without cross-thread state leakage in Rack environment matches
  6. assert mutating extracted route parameters does not corrupt subsequent or concurrent params calls on the same pattern instance

Файлы

  • Gemfile
  • NOTES.md
  • csx.json
  • src/routing_service.rb
  • test/contract.rb

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed